私は、Brave ブラウザを LXD コンテナ (Voidlinux が望ましい、または linuxMint) 内にインストールし、ホスト OS 内にそのアプリのショートカットを作成し、コンテナ内で実行されるという点を除いて他の Linux アプリと同じように起動しようとしています。Ubuntu 以外のホスト OS でディスプレイ部分または lxc プロファイルを構成する方法がわかりません。
以下のチュートリアルを試しても成功しません:
https://blog.simos.info/running-x11-software-in-lxd-containers/
たとえば、
environment.PULSE_SERVER: unix:/home/ubuntu/pulse-native
connect: unix:/run/user/1000/pulse/native
listen: unix:/home/ubuntu/pulse-native
Gentoo ディストリビューション内で何を置き換えることができますかubuntu
?user
lxc exec mycontainer -- sudo --user ubuntu --login
voidlinux コンテナでは動作しません。
答え1
リンクをクリックしませんでしたが、コンテナで X11 アプリを実行するには、X サーバーの Unix ドメイン ソケットをコンテナに取り込む必要があります。
それで、
lxc 設定を構成して、ホストの X11 ソケットをコンテナにコピーします。
ソケットが抽象UNIXソケットの場合、UNIXドメインバージョンを使用するようにXを設定します。
ソケットを /tmp 以外のディレクトリにコピーすると、lxc コピー操作後に /tmp ディレクトリが消去され、ソケットが消えてしまいます。
ソケットを、X11が通常配置する/tmpディレクトリに移動する
ユーザーシェルで DISPLAY=:0 をエクスポートする
おそらく、これはファイルシステムとホストの他の部分からのプロセスの分離のみを提供しますが、X11 自体はアプリとデスクトップ ビューの分離を提供しないことに注意してください。