質問

質問

SSH経由でホストに接続しようとすると、次のメッセージが表示されましたxauth

/usr/bin/xauth: ロック権限ファイル /home/sam/.Xauthority がタイムアウトしました。

メモ:SSH接続を介してリモートでX11 GUIを表示したいので、ファイルを正常に作成できるはずxauthです$HOME/.Xauthorityが、このメッセージに示すように明らかにそうではありません。

xeyesX11ベースのアプリケーションを実行すると、次のメッセージが表示されます。

$ xeyes
X11 connection rejected because of wrong authentication.
Error: Can't open display: localhost:10.0

この問題をどのように解決できますか?

ベストアンサー1

strace失敗したリモートシステムで実行すると、xauth何が間違っているかが表示されますxauth

例えば

$ strace xauth list
stat("/home/sam/.Xauthority-c", {st_mode=S_IFREG|0600, st_size=0, ...}) = 0
open("/home/sam/.Xauthority-c", O_WRONLY|O_CREAT|O_EXCL, 0600) = -1 EEXIST (File exists)
rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) = 0
rt_sigaction(SIGCHLD, NULL, {SIG_DFL, [], 0}, 8) = 0
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
nanosleep({2, 0}, 0x7fff6c4430e0)       = 0
open("/home/sam/.Xauthority-c", O_WRONLY|O_CREAT|O_EXCL, 0600) = -1 EEXIST (File exists)
rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) = 0
rt_sigaction(SIGCHLD, NULL, {SIG_DFL, [], 0}, 8) = 0
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
nanosleep({2, 0}, 0x7fff6c4430e0)       = 0
open("/home/sam/.Xauthority-c", O_WRONLY|O_CREAT|O_EXCL, 0600) = -1 EEXIST (File exists)
rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) = 0
rt_sigaction(SIGCHLD, NULL, {SIG_DFL, [], 0}, 8) = 0

xauthファイルを開こうとしていますが、そのファイルはすでに存在します。犯人ファイルはです/home/sam/.Xauthority-c。ファイルがリモートシステムに存在することを確認できます。

$ ls -l .Xauthority*
-rw------- 1 sam sam 55 Jul 12 22:04 .Xauthority
-rw------- 1 sam sam  0 Jul 12 22:36 .Xauthority-c
-rw------- 1 sam sam  0 Jul 12 22:36 .Xauthority-l

修理する

それが明らかに。これらのファイルはロックされたファイル.Xauthorityなので、削除すると問題が解決します。

$ rm -fr .Xauthority-*

ファイルを削除したら、SSH接続を終了して再接続してください。これにより、xauth成功した再実行が可能になります。

$ ssh -t skinner ssh sam@blackbird
Welcome to Ubuntu 14.04.1 LTS (GNU/Linux 3.13.0-44-generic x86_64)

 * Documentation:  https://help.ubuntu.com/

Last login: Sun Jul 12 22:37:54 2015 from skinner.bubba.net
$

これxauth listで問題なくX11アプリケーションを実行できます。

$ xauth list
blackbird/unix:10  MIT-MAGIC-COOKIE-1  cf01f793d2a5ece0ea58196ab5a7977a

GUI

$ xeyes

                                              SS#1

問題を解決する代替方法

次のタイトルの記事を見ました。xauth:権限ファイル.Xauthorityのロック中にエラーが発生しました。 [linux, ssh, X11]xauth -bぶら下げ可能なロックされたファイルを破棄するために使用する方法について説明します。xauthマニュアルページはこれをサポートしているようです:

 -b      This option indicates that xauth should attempt to break any
         authority file locks before proceeding.  Use this option only to
         clean up stale locks.

引用する

おすすめ記事