LXCコンテナ内でXアプリケーションを効率的に実行するには?
ssh -Y guest
遅すぎます。グラフィックアクセラレーションはありませんssh -Y
。すべては既存のX11プロトコルを使用して仮想ネットワークを介して転送する必要があります。
ホストアプリケーションとゲストアプリケーションの間でコピーして貼り付ける機能が望ましいが、必須ではない。 2つのXサーバー(ホスト用、ゲスト用)を実行することは(私の目的のために)不可欠です。
ゲストからネイティブXorgが欠落していると文句を言うために実行できず、rootとして実行しても自分の権限が拒否されるため、ゲストからデバイスを実行/dev/tty0
できません。mknod
答え1
答え2
ノート:この方法は少しハッキング的です。また、ホストとゲスト間のコピーと貼り付けはサポートされていません。全く安全感がありません!
- ゲスト設定に追加のファイルシステムとして追加すると、設定はホスト
/tmp
に渡されます。/tmp
- 次の手順では X セキュリティが無効になるため、X サーバーがあらゆる種類のネットワーク接続を許可するように構成されていないことを確認してください。
xhost +
ターミナルウィンドウに入力してください。- LXCゲストスタート
- 目的の一般ユーザー(たとえば、rootではない)としてゲストにログインし、次のように入力します。
DISPLAY=:0 Xephyr :2 -screen 1024x768 -dpi 96 &
DISPLAY=:2 /etc/X11/xinit/Xsession
ゲスト内部(2
これを使用して複数のLXC VMに接続する場合は、2つを使用したい画面番号に置き換えます。)解像度(-screen
)とDPI(-dpi
)パラメータを適切に調整します。
その役割は、ゲストで実行されているXephyrネストされたXサーバー(UNIXドメインソケットとMIT-SHM拡張を使用)への「プロキシ」接続を確立し、XephyrからホストXサーバー(UNIXドメインソケットAを使用)への別の接続を確立するです。接続は可能ですが、私が知っている限り、LXC設計ではMIT-SHMは使用できません。これは、少なくとも私のハードウェア(nvidia)用のオープンソースドライバを使用してLXCゲストで可能な限り速い設定のようです。