it-swarm-ja.com

別のユーザーセッションで新しいターミナルウィンドウを開く

Ubuntuデスクトップで、(rootとしてログに記録された)gnome-terminalを呼び出して、他のユーザーセッション内でターミナルウィンドウを開き、いくつかのコマンド/スクリプトを実行するにはどうすればよいですか?.

目的は、他のユーザー端末で高負荷のプロセスを開き、それを開いたままにして、ユーザーとの対話を提供できるようにすることです。

「exportDISPLAY」メソッドは私には機能しませんでした。これを解決する別の方法はありますか?

2
Setlook

DISPLAYとXAUTHORITYの両方を設定してみてください。所有者の.Xauthorityファイルに対する権限があり、所有者が使用するディスプレイを知っている必要があります。

export DISPLAY=':0'
export XAUTHORITY=/home/<owner_of_display>/.Xauthority

:0を変更して修正しますが、ユーザーが1人だけの場合は通常0です。ルートアクセス権がある場合、これは機能するはずです:

[email protected]:~# Sudo su - <username>
[email protected]:~$ export DISPLAY=':0'
[email protected]:~$ export XAUTHORITY=$HOME/.Xauthority
[email protected]:~$ gnome-terminal -x sh -c '<command>; exec bash'

最後の行は、新しいgnome-terminalを起動し、必要なコマンドを実行することについてです。私にはいくつかの新しいことがあったので、それほど単純には機能しないかもしれません。

2
Kride