通常、Sudo su
を使用してXアプリケーションを取得するためにsshでこれを行います
ssh -X server
OKIログイン
xauth list $DISPLAY
私に戻ります
server/unix:10 MIT-MAGIC-COOKIE-1 blablablablabla
それから私はします
Sudo su
xauth add server/unix:10 MIT-MAGIC-COOKIE-1 blablablablabla
そして、Xアプリケーションを実行した後、それは正しいです。
問題はCentos7にあります。
xauth list $DISPLAY
そして、何も返しません。私はMITによって与えられた魔法のクッキーを追加しようとします
xauth list
しかし、もちろんそれは機能しません。 Sudoを使用しない、sshを介した通常のX転送が機能します。
Sshdの設定は、3つのサーバーで同じです。
解決策が見つかりました。これからコピーされた別の方法 blog このスクリプトの使用
userfirst=sshloginuser
usersecond=sudoorsuuser
$usersecond@Host$
su - $userfirst -c 'xauth list' |\
grep `echo $DISPLAY |\
cut -d ':' -f 2 |\
cut -d '.' -f 1 |\
sed -e s/^/:/` |\
xargs -n 3 xauth add
または単にuser1としてロギングする
xauth list
suまたはSudo su user2
xauth add OUTPUTOFXAUTHLIST
別の解決策は、現在のユーザーの.Xauthorityファイルをrootユーザーのファイルとマージすることです。
ssh user@Host
Sudo su - root
xauth merge /home/users/user/.Xauthority
テスト
gedit somefile.log
Geditウィンドウが開きます。
これは古い投稿かもしれませんが、sudoerユーザーの.Xauthorityファイルをルートサーバーに(サーバーで)永久にリンクすることで解決しました。
Sudo ln -s /home/userWithPrivileges/.Xauthority /root/.Xauthority
これにより、他に何もする必要がなくなり、Sudoの有無にかかわらずGUIアプリケーションを起動できるようになりました。