Ejecutar plicaciones gráficas desde un terminal remoto

Es muy común tener una PC corriendo linux y acceder a la consola de la misma por algún motivo de forma remota usando SSH. El asunto es: Si entro por SSH y ejecuto un programa que corre únicamente sobre el entorno gráfico, me encuentro con el típico mensaje de error:

~ # xcalc
(xcalc:4747): Gtk-WARNING **: cannot open display:

¿La solución?
Primero averiguar cuantas instancias del servidor X hay en ejecución. (Obviar este paso si se sabe que hay una sola, que será la identificada como 0 - cero ):


~ # ls /tmp/.X11-unix/
X0

Sabiendo que hay una sola y que es la número cero (por lo de X0) averiguar quien es el usuario que la está ejecutando y cambiarse a ese usuario:

who
keops :0.0 Jan 30 13:11 # El usuario ejecutando la instancia :0.0 es keops
su keops # Como entré como root por SSH y no como keops, me cambio de usuario a keops

Por último, ejecutar la aplicación en cuestión en el escritorio de la máquina remota:

DISPLAY=:0 xcalc &

Lo que hará que se ejecute la calculadora en el entorno gráfico que keops está viendo.

No hay comentarios:

Publicar un comentario