他のユーザーと同じ画面にある2つのGUIアプリケーション

他のユーザーと同じ画面にある2つのGUIアプリケーション

私はuserAでログインしました。ユーザーBでGUIアプリケーションを実行したいです。ルートではないユーザーです。ユーザーBもリモートではなくローカルなので、他の環境変数が必要です。私は2番目のXを実行したくないので、同じモニタにいることを望みます。端末で実行されるプログラムには問題がなく、su - ...正常に動作します。グラフの場合、エラーメッセージがあります。

Application initialization failed: couldn't connect to display ":0.0"

または

Gtk-WARNING **: cannot open display: :0.0

良い回避策はありませんか?正しく使用するxhost方法についての記事 ?

ベストアンサー1

userBnameディスプレイへのアクセスを許可するには、次のコマンドを実行します。誰にでもアクセスをxhost +SI:localuser:userBname許可できますが、xhost +これは安全ではありません。より良いアプローチは、ユーザーごとにアクセス権を付与することです。ローカルユーザーのxhostsエントリの正しい構文はですSI:localuser:username

次に、su userBname最後export DISPLAY=:0.0にGUIプログラムを実行します。以前にを使用してディスプレイへのアクセスを許可しましたが、プログラムがグラフィック出力を配置する場所を知ることができるように、xhost環境変数も設定する必要があります。異なるユーザーが異なる変数を使用できるDISPLAYようにすることで、DISPLAYマシンに接続されている複数のユーザーが異なる物理端末を使用できるようにします。

おすすめ記事