localhost上のLXCゲストのFast X?


12

LXCコンテナー内でXアプリを効率的に実行するにはどうすればよいですか?

ssh -Y guest

遅すぎる-グラフィックアクセラレーションがないssh -Y-すべてが従来のX11プロトコルで仮想ネットワーク上を移動する必要がある

ホストアプリとゲストアプリの間でコピーアンドペーストできることが望ましいですが、必須ではありません。ホスト用とゲスト用の2つのXサーバーを実行することは(私の目的では)重要です。

ゲストとしてネイティブXorgを実行できないのは、/dev/tty0欠落しているというメッセージが表示されるためmknodです。また、rootとして実行した場合でも、アクセスが拒否されるため、ゲスト内でそのデバイスを実行できません。

回答:


12

xpraまたはNX、VNCなどを試すこともできます。GLアクセラレーションが必要な場合は、VirtualGLも確認してください。

ホストとディレクトリを共有できる場合は、xmapでmmapを使用して(mmapファイルへのパスを指定)、パフォーマンスを大幅に向上させることができます。


LXCでXpraとXephyrを使用する方法の安全な例を誰かが共有できますか?
baptx

3

:このアプローチは少しハックです。また、ホストとゲスト間のコピーアンドペーストをサポートしていません- 完全に安全ではありません!

  1. /tmpゲスト構成に追加のファイルシステムとして追加します。これは/tmp、ホスト上を通過します。
  2. 次の手順でXセキュリティが無効になるため、Xサーバーがあらゆる種類のネットワーク接続を受け入れるように構成されていないことを確認してください。
  3. xhost +端末ウィンドウに入力します。
  4. LXCゲストを起動する
  5. ゲスト内で(つまり、rootとしてではなく)希望する通常のユーザーとしてログインし、次のように入力します。

DISPLAY=:0 Xephyr :2 -screen 1024x768 -dpi 96 &

DISPLAY=:2 /etc/X11/xinit/Xsession

ゲスト内(2複数のLXC VMに接続するためにこれを使用している場合は、両方のを使用する画面の番号に置き換えます。)解像度(-screen)およびDPI(-dpi)パラメーターを適切に調整します。

これは、ゲストで実行されているXephyrネストされたXサーバー(UNIXドメインソケットとMIT-SHM拡張の両方を使用)への「プロキシ」接続と、XephyrからホストXサーバー(UNIXドメインソケットを使用)への別の接続を設定しますLXCの設計上の理由により、MIT-SHMを使用することはできません。これは、少なくとも私のハードウェア(nvidia)のオープンソースドライバーで、LXCゲストで可能な最速の構成のようです。


LXCでXephyrを使用する安全な方法はありますか?XephyrによるX11分離はfirejailでサポートされているため、LXCでも適切に実行できると思います。
baptx
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.