尝试远程运行程序时出现“无效的 MIT-MAGIC-COOKIE-1 密钥”

尝试远程运行程序时出现“无效的 MIT-MAGIC-COOKIE-1 密钥”

我正在尝试在客户端-服务器模式下运行应用程序(ParaView),其图形渲染在远程(服务器)端完成。我使用 SSH 作为连接到服务器的方式,但不希望使用 X 转发,因为它会减慢渲染过程。

但是,每次我尝试在服务器显示屏上打开应用程序时,都会收到这样的错误:

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

我对这个问题进行了广泛的研究,并且已经尝试了以下建议的程序但无济于事:

  1. 使用“xauth list”获取本地主机显示的 MIT-MAGIC-COOKIE-1 值。
  2. 通过 ssh 登录远程主机。
  3. 在远程主机上使用“export DISPLAY=:0”。
  4. 在远程主机上,使用“xauth add”将远程主机显示的 cookie 值覆盖为本地主机的 cookie 值。

我确信这是正确的过程,但我只是没有将正确的 cookie 传输到正确的显示器。

同样,我希望能够使用 ssh 来打开远程计算机显示屏上的应用程序。理想情况下,我希望整个过程通过 xauth 而不是 xhost 完成,并且我再次不需要使用 X 转发。我可能遗漏了什么或做错了什么?

答案1

尝试

xhost +local: 

在运行之前。

答案2

这对我有用。所以我把这个答案留在这里。

 export DISPLAY=:1.0

答案3

您使用的值DISPLAY不正确:如果您不想使用 SSH X 转发,则DISPLAY必须指示您的 X 服务器(您想要在其上显示程序的桌面)的 IP 地址。在遥控器上,运行

export DISPLAY=desktop:0

替换desktop为您的本地主机名或 IP 地址。您可能还需要更改 X 服务器的配置以允许远程 IP 连接。

答案4

对我来说,错误是:

Invalid MIT-MAGIC-COOKIE-1 keyxcb_connection_has_error() returned true
Invalid MIT-MAGIC-COOKIE-1 keyERROR: Unable to create GUI. Exiting

我玩过 .Xauthority 但它什么也没做,只是隐藏了“MIT cookie”部分,而不是 xcb_connection 错误。最后仅通过使用 @PSN 答案 ( export DISPLAY=:1.0) 就可以了。

fwiw我在debian 9上。

相关内容