"Clave inválida MIT-MAGIC-COOKIE-1" al intentar ejecutar el programa de forma remota

21

Estoy intentando ejecutar una aplicación (ParaView) en modo cliente-servidor con su representación gráfica realizada en el extremo remoto (servidor). Estoy usando SSH como mi medio para conectarme al servidor, pero no deseo usar el reenvío X ya que ralentiza el proceso de renderizado.

Sin embargo, cada vez que intento abrir la aplicación en la pantalla del servidor, aparece un error en este sentido:

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

He llevado a cabo una amplia investigación sobre este asunto y ya he probado el siguiente procedimiento sugerido en vano:

  1. Usé "xauth list" para obtener el valor MIT-MAGIC-COOKIE-1 para la pantalla de mi host local.
  2. Inició sesión en el host remoto a través de ssh.
  3. Se utilizó "export DISPLAY =: 0" en el host remoto.
  4. En el host remoto, usé "xauth add" para sobrescribir el valor de la cookie para la pantalla del host remoto con la del host local.

Estoy convencido de que este es el procedimiento correcto, pero que simplemente no estoy transfiriendo las cookies correctas a las pantallas correctas.

Nuevamente, me gustaría poder usar ssh para efectuar la apertura de aplicaciones en la pantalla de la computadora remota. Idealmente, me gustaría que todo el proceso se realizara a través de xauth en lugar de xhost, y una vez más, no necesito usar X-forwarding. ¿Qué podría estar perdiendo o haciendo mal?

CS6394
fuente
2
¿Hay un servidor X ejecutándose en la consola del servidor? No entiendo dónde quieres que se muestre la salida del programa. Su procedimiento es claramente incorrecto ya que obtiene la cookie del host local pero no se muestra en el host local. Si hay un servidor X ejecutándose en la máquina remota y ahí es donde desea que se muestre el programa, consulte unix.stackexchange.com/questions/10121/…
Gilles 'SO- deja de ser malo'

Respuestas:

13

El valor que está utilizando DISPLAYes incorrecto: si no desea utilizar el reenvío SSH X, DISPLAYdebe indicar la dirección IP de su servidor X (el escritorio en el que desea mostrar los programas). En el control remoto, ejecuta

export DISPLAY=desktop:0

reemplazando desktopcon su nombre de host local o dirección IP. Es posible que también deba cambiar la configuración de su servidor X para permitir conexiones IP remotas.

Stephen Kitt
fuente
1
Esto ignora el problema XAUTHORITY, que es lo que causa el mensaje de error real en la línea de asunto.
kiko
7

Tratar

xhost +local: 

antes de ejecutarlo.

Jeff Schaller
fuente
hizo el truco. ¡Gracias, creo que es la respuesta más corta!
amado.por.Jesús
1

Este me funcionó. Entonces dejo esta respuesta aquí.

 export DISPLAY=:1.0
PSN
fuente
0

Para mí el error fue:

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

Jugué con .Xauthority pero no hizo nada más que ocultar la parte "cookie MIT", no el error xcb_connection. Al final funcionó simplemente usando @PSN answer ( export DISPLAY=:1.0).

Estoy en Debian 9.

marrco
fuente