リモートでプログラムを実行しようとすると、「無効なMIT-MAGIC-COOKIE-1キー」が発生する

リモートでプログラムを実行しようとすると、「無効なMIT-MAGIC-COOKIE-1キー」が発生する

リモート(サーバー)側でグラフィックレンダリングを実行して、クライアントサーバーモードでアプリケーション(ParaView)を実行しようとしています。私はサーバーに接続する方法としてSSHを使用していますが、X転送を使用するとレンダリングプロセスが遅くなるため、使用したくありません。

ただし、サーバーディスプレイでアプリを開こうとすると、次のエラーが発生します。

Invalid MIT-MAGIC-COOKIE-1 keyError: cannot open display ':0'

私はこの問題を広く調査し、次の提案された手順を試してみましたが、役に立ちませんでした。

  1. ローカルホストに表示されているMIT-MAGIC-COOKIE-1の値を取得するには、「xauth list」を使用してください。
  2. SSH経由でリモートホストにログインします。
  3. リモートホストで "export DISPLAY=:0" を使用します。
  4. リモートホストで「xauth add」を使用して、リモートホストが表示するCookie値をローカルホストのCookie値で上書きします。

これは正しいプロセスであると確信していますが、正しいCookieを正しいモニタに転送しないだけです。

同様に、SSHを使用してリモートコンピュータのディスプレイでアプリケーションを開くことができるようにしたいです。理想的には、プロセス全体がxhostではなくxauthを介して実行されることを望み、再びX転送を使用する必要はありません。私は何を逃したか間違っている可能性がありますか?

答え1

努力する

xhost +local: 

走る前に。

答え2

これは私にとって効果的です。だからここに答えを残します。

 export DISPLAY=:1.0

答え3

使用中の値がDISPLAY正しくありません。 SSH X転送を無効にするには、DISPLAYXサーバー(プログラムを表示したいデスクトップ)のIPアドレスを表示する必要があります。リモコンで以下を実行してください。

export DISPLAY=desktop:0

desktopローカルホスト名またはIPアドレスに置き換えます。リモートIP接続を許可するには、Xサーバーの構成を変更する必要があるかもしれません。

答え4

私にとってエラーは次のとおりです。

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を使用しています。

関連情報