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


21

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

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

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

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

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

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

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


2
服务器控制台上是否正在运行X服务器?我不明白您希望在哪里显示程序的输出。您的过程显然是错误的,因为您正在获取本地主机的cookie,但未在本地主机上显示。如果在远程机器上,并且要显示该程序的运行X服务器,请参阅unix.stackexchange.com/questions/10121/...
吉尔“SO-停止作恶”

Answers:


13

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

export DISPLAY=desktop:0

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


1
这将忽略XAUTHORITY问题,这是导致主题行中出现实际错误消息的原因。
kiko


1

这个为我工作。所以我在这里留下这个答案。

 export DISPLAY=:1.0

0

对我来说,错误是:

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)起作用。

我正在使用Debian 9。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.