Tengo un script, simplemente para ejecutar mi aplicación gráfica (GUI), como se muestra a continuación.
#cat gui.sh
#!/bin/bash
./gui -display 127.0.0.1:0.0
Cuando lo ejecuto desde la máquina local ( ./gui.sh
) funciona perfectamente bien. Pero cuando intento ejecutarlo desde una máquina remota a través de ssh, recibí el siguiente error.
[root@localhost]# ssh -f 192.168.3.77 "cd /root/Desktop/GUI/ && "./gui.sh""
No protocol specified
gdm: cannot connect to X server 192.168.3.77:0.0
[root@localhost]#
No sé, ¿qué protocolo pregunta o me falta algo? Lo intenté directamente iniciando la aplicación, sin script [ ssh -f 192.168.3.77 "cd /root/Desktop/GUI/ && "./gui""
], pero el resultado es el mismo. He intentado varias combinaciones como ssh -Y
, ssh -fY
y más, ¡pero el resultado es el mismo!
En segundo lugar, para mi aplicación, hay una condición obligatoria de que primero tenemos que ir al directorio donde se encuentra el programa.
¿Alguna solución?
xhost +
dará acceso a cualquiera para conectarse a su pantalla. Yo recomendaríaxhost +local:[hostname or ip]
Debian Jessie, agregue también:
fuente
xhost +
solucionó mi problema (en el lado del cliente)/tmp/xauth-1000-_0
pero después de comenzar dos sesiones X adicionales ese archivo había desaparecido, solo quedaba el tercero. Para solucionar el problema para todas las ventanas loln -s ~/.Xauthority /tmp/xauth-1000-_0
Me encontré con el mismo problema. Lo resolví cambiando la variable de entorno DISPLAY de:
a
fuente