X11転送の試みが「connect /tmp/.X11-unix/X0:そのファイルまたはディレクトリなし」というメッセージで失敗するのはなぜですか?

X11転送の試みが「connect /tmp/.X11-unix/X0:そのファイルまたはディレクトリなし」というメッセージで失敗するのはなぜですか?

私のローカルコンピュータで、次のコマンドを実行します。

ssh -X [email protected]

(完全性のために、-Yを使用して以下のすべての項目もテストしましたが、結果は同じでした。)

予想通り、Remotemachine.comにアクセスするのに問題はなく、すべてがうまく見えます。ただし、xcalcを実行しようとすると、次の結果が表示されます。

 connect /tmp/.X11-unix/X0: No such file or directory
 Error: Can't open display: localhost:10.0

しかし、

$ ls -la /tmp/.X11-unix/
total 36
drwxrwxrwt 2 root root  4096 2012-11-23 09:29 .
drwxrwxrwt 8 root root 32768 2012-11-29 08:22 ..
srwxrwxrwx 1 root root     0 2012-11-23 09:29 X0

したがって、/tmp/.X11-unix/X0は存在するだけでなく、汎用r/w/x権限も持っています!

以前はx-forwardingを問題なく使ってきましたが、しばらくではありませんでしたが...

参考のためにサーバーの uname -a:

Linux machinename 2.6.32-25-generic #45-Ubuntu SMP Sat Oct 16 19:52:42 UTC 2010 x86_64 GNU/Linux

数時間オンラインで検索しましたが、成功しませんでした。他の人も同じ問題に言及しましたが、解決策はありませんでした。

ベストアンサー1

CygwinとXmingを使用してリモートLinuxサーバーに接続するときに同じ問題が発生しました。

私の$ DISPLAY変数はCygwinでは ":0.0"で、ローカルでは機能しますが、リモートSSHコマンドでは機能しません。

ローカルコンピュータで変数を「localhost:0.0」に変更することで問題を解決しました。

export DISPLAY=localhost:0.0

これを行うと、私のコマンドはうまくいきました。

ssh -Yf user@host gvim somefile.c

おすすめ記事