Ejecución programa por desde consola

LA SITUACIÓN ES ESTA: ME CONECTO POR SSH A UN HOST, TIENE LA INTERFAZ GRÁFICA LEVANTADA, O SEA ESTA EN INIT 5, QUIERO DESDE MI CONSOLA EN SSH EJECUTARLE UN PROGRAMA EN EL ENTORNO GRÁFICO, ALGO ASÍ COMO UN echo "hola" > /dev/tty4 para enviarle un hola a la consola texto 4, ¿pero para POR como hago?

6 respuestas

Respuesta
1
Eso se hace definiendo una variable DISPLAY, de la siguiente forma: en el prompt tecleas DISPLAY=:0.0 y con eso ya esta, ya puedes ejecutar desde la consola cualquier programa gráfico: mozilla-firefox por ejemplo y te lo ejecuta en el entorno gráfico que definiste en la variable DISPLAY que es el :0
Hasta la próxima.
Respuesta
1
Lo que quieres hacer implica escribir en el display de la máquina destino. Eso se hace de la siguiente manera.
Inicias sesión SSH en la maquina donde quieres correr la aplicación.
Por una cuestión de seguridad, asegurate de iniciar sesión con el mismo usuario que tiene sesión abierta en la máquina remota.
Una vez que estás logueado, tienes que definir una variable de entorno DISPLAY que apunte al display local.
Por ejemplo, soy el usuario tango en la maquina rosita, y quiero correr en la máquina juanita la calculadora. En dicha máquina, quien tiene la sesión POR iniciada es seba.
Ahora por lo que dices, quieres que la calculadora se vea en juanita, con lo que no tendrás control sobre la interfaz.
tango@rosita$ ssh seba@juanita
... me autentifico etc ...
seba@juanita$
Ahora, necesito saber cual es el servidor, al que me voy a conectar. Casi siempre hay solo uno, por lo que uso el 0.
Para decirle a los programas que voy a correr cual es servidor POR al que deben enviar las salidas, uso la variable. DISPLAY. En este ejemplo supongo que estás usando bash.
seba@juanita$ export DISPLAY=:0.0
Con eso ya definí una variable de ambiente o entorno que todos los programas pensados para POR buscan al arrancar.
Ahora ejecuto el programa.
seba@juanita$ xcalc
Al pulsar enter, se ejecuta xcalc y si todo anduvo bien, se muestra en la pantalla de juanita, en la sesión gráfica de seba la calculadora.
Esto es útil cuando quieres ejecutar un programa para alguien y no estás en la misma máquina.
Ahora, si quieres escribirle, deberías ejecutar una consola como xterm, y luego ver a cual terminal apuntar con el echo.
Respuesta
1
Tengo tus respuestas ..
http://gd.tuwien.ac.at/linuxcommand.org/man_pages/xmessage1.html
o dale así ..
DISPLAY=:0.0 xmessage 'te estoy borrando el disco, juajuajua'
Respuesta
1
Consulta información sobre la variable de DISPLAY.
te seran utiles los comandos export y set.
Tienes que ser root o tener permisos del usuario que arranca las X.
Respuesta
1
Perdona que haya tardado en responder, pero he estado unos días fuera.
Para poder hacer lo que quieres necesitas un servidor POR ejecutándose en tu cliente (no en el host, sino donde ejecutas el programas de conexión ssh). Si lo haces desde un linux, vale conque tengas las POR levantadas, si es un windows necesitarás un programa tipo Xterminal (y ejecutarlo en modo pasivo).
Cuando tengas esto, tienes que exportar la variable display, de la forma:
export DISPLAY=x.x.x.x:0.0
Donde x.x.x.x es la ip del cliente (donde ejecutas el ssh).
Ahora ya sólo tienes que ejecutar el programa que quieras y los gráficos se "pintarán" en el cliente.
Saludos
--
Roberto (www.rhernando.net)
Respuesta
Perdona el retraso... no entiendo demasiado bien la pregunta. Si te conectas con ssh a un host y te conectas como root, tendrías que ejecutar lo que quisieras. ¿Y sobre ejecutar un programa en entorno gráfico ... mmmmhhhh... me lo puedes explicar de otra manera?

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas