私は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
マシンに接続されている複数のユーザーが異なる物理端末を使用できるようにします。