2009-07-14 7 views
17

私はubuntu + x11 + gnomeを持っています。X11:別のユーザーとしてgnomeアプリを実行

別のユーザーとしてグラフィカルアプリケーションを実行します。

ただし、コマンドラインからsudo -u otheruser appを使用して起動すると、「プロトコルが指定されていません」というエラーが表示されます。

どうすればこの問題を解決できますか?

+3

はsuperuser.comに移動されます –

答えて

2

使用

xdg-su -u user -c command 
+0

私は、xhostを使用して任意のユーザーからのローカル接続を許可する必要があると考えています。 – codeape

+0

man xdg-su:xdg-suは、デスクトップセッション内でのみ使用できます。 –

1

おそらく、サーバーインスタンス(あなた)を所有しているユーザー以外のユーザーからの接続を受け入れるようにXサーバーに指示する必要があります。 xhostコマンドを調べてください。

9

最初にこのコマンドを実行します。次に

$ sudo xhost + 

あなたが他のユーザーとしてしたいコマンドを実行します。完了したら

$ sudo -i -u username 
$ command you want to run 

を:

$ sudo xhost - 
+0

ニースが見つかりました。現在、ChromeとFlashは異なるユーザーとして正常に動作しますが、オーディオを取得するには、まず現在のユーザーのpulseaudioデーモンをpkillする必要があります。 –

+7

'sudo xhost + local:'あなたがインターネットからの接続を望まないなら、 – maxy

+2

それは地獄として安全です。 – mykhal

0

gksudo -uコマンド

+0

私のUbuntuデスクトップでこれを試してみましたが、うまく動作しませんでした(同じエラーメッセージです)。 – codeape

8

xhost '+si:localuser:USERNAME'

0
gksu -u <user> -c <command> 

としてコマンドを実行するためにユーザ名と<user>を交換し、そして<command>あなたが実行したいコマンドを使用して。プログラムは<user>のコンテキストで実行されるが、現在のディレクトリで実行されることに注意してください。

ポップアップウィンドウで、ターゲット<user>のパスワードを入力します。

関連する問題