アプリケーション(ParaView)をクライアントサーバーモードで実行しようとしていますが、そのグラフィックレンダリングはリモート(サーバー)側で行われています。サーバーに接続する手段としてSSHを使用していますが、レンダリングプロセスの速度が低下するため、X転送を使用したくありません。
ただし、サーバーのディスプレイでアプリケーションを開こうとするたびに、次のエラーが発生します。
Invalid MIT-MAGIC-COOKIE-1 keyError: cannot open display ':0'
私はこの問題について広範囲の調査を行っており、すでに以下の提案された手順を試しても役に立たない:
これは正しい手順であると確信していますが、正しいCookieを正しいディスプレイに転送しているだけではありません。
繰り返しますが、sshを使用して、リモートコンピュータのディスプレイでアプリケーションを開くことができるようにしたいと思います。理想的には、プロセス全体がxhostではなくxauthを介して実行されるようにしたいと思います。ここでも、X転送を使用する必要はありません。何が欠けている、または間違っているのでしょうか?
DISPLAY
に使用している値が正しくありません。SSHX転送を使用しない場合、DISPLAY
はXサーバー(表示するデスクトップ)のIPアドレスを示す必要がありますプログラム)。リモートで、実行します
export DISPLAY=desktop:0
desktop
をローカルのホスト名またはIPアドレスに置き換えます。また、リモートIP接続を許可するために、Xサーバーの構成を変更する必要がある場合もあります。
試す
xhost +local:
実行する前に。
私にとってエラーは:
Invalid MIT-MAGIC-COOKIE-1 keyxcb_connection_has_error() returned true
Invalid MIT-MAGIC-COOKIE-1 keyERROR: Unable to create GUI. Exiting
私は.Xauthorityで遊んでみましたが、xcb_connectionエラーではなく、「MIT cookie」の部分を隠すだけでした。最終的には、@ PSN回答(export DISPLAY=:1.0
)。
fwiw私はdebian 9を使っています。
これは私のために働いた。だから私はこの答えをここに残します。
export DISPLAY=:1.0
Invalid MIT-MAGIC-COOKIE-1 key
パーツは別の(非)エラーでなければなりません。任意のグラフィカルプログラム(gitkを含む)を起動する通常の作業ケースで取得します。
誰かが改行でそれを終了するのを忘れたので、別の行であるふりをします。
これは、次のエラーが発生する原因の1つである可能性があります。
無効なMIT-MAGIC-COOKIE-1キーエラー:ディスプレイを開けません::1
Vncserverプロセスが所有されているのと同じユーザーからGUIプロセスを実行していることを確認してください。
例えば:
venkat@home-laptop:~/Downloads/$ ps -eaf | grep vnc
venkat 3504 1 0 Apr06 ? 00:09:52 /usr/bin/Xvnc :1 -auth /run/user/1000/gdm/Xauthority -desktop home-laptop:1 (venkat) -fp /usr/share/fonts/X11//misc,/usr/share/fonts/X11//Type1 -geometry 1024x768 -pn -rfbauth /home/venkat/.vnc/passwd -rfbport 5901 -rfbwait 30000
venkat 10595 8391 0 02:33 pts/5 00:00:00 grep --color=auto vnc
venkat@home-laptop:~/Downloads/$
venkat@home-laptop:~/Downloads/$
venkat@home-laptop:~/Downloads/$ Sudo -i
root@home-laptop:~#
root@home-laptop:~# xclock
Invalid MIT-MAGIC-COOKIE-1 keyError: Can't open display: :1
root@home-laptop:~#
root@home-laptop:~#
root@home-laptop:~# exit
logout
venkat@home-laptop:~/Downloads/$
venkat@home-laptop:~/Downloads/$ xclock
したがって、ローカルsshターミナルから、vncサーバーとGUIプロセスの両方をできるだけ同じユーザーとして実行します。