web-dev-qa-db-ja.com

rootまたは別のユーザーにSudoされたときにディスプレイ(ブラウザーなど)を使用する方法

Rootまたは別のユーザーにSudo(またはgksu)を実行すると(Sudo -iで時々行うように)、ディスプレイを使用できません。

私はリスクをルートとして知っています。これは通常、通常のアカウントのすべてのウィンドウを閉じずに、別のユーザーとして簡単に何かをしたい場合です。 3つのモニターが接続され、4つのワークスペースがあると、多くのウィンドウになる可能性があります。

試してみると、でも

green@camelot-x:~$ firefox
No protocol specified
Failed to connect to Mir: Failed to connect to server socket: No such file or directory
Unable to init server: Could not connect: Connection refused
Error: cannot open display: :0.0

私はそのエラー出力のほとんどを本当に理解していません(「平和」という名前の古いロシアの宇宙ステーションを除いて、「ミール」という名前さえ認識していません)、そして確かにそれを機能させる方法がわかりません。

1
4dummies

セキュリティ上の理由から、ユーザーXはユーザーYの画面にウィンドウを直接表示できないように思われます。他のユーザーと同じようにx転送を使用して自分のコンピューターに移動し、そのプログラムを実行することで、これを回避できます。 。

コンピューターにsshdをインストールします。

Sudo apt install openssh-server

X11Forwardingyesは/ etc/ssh/sshd_configで指定する必要があります

次に、端末から:

ssh -X green@localhost

次に、Firefoxを実行します。現在のセッションに表示されますが、SSHで接続したユーザーとして実行されます。

1