Ejecutar comando con xterm y cerrar

Ejecutar comando con xterm y cerrar

Estoy intentando ejecutar un programa con xterm y luego cerrar xterm con el programa en ejecución, pero parece que esto no funciona como esperaba.

En bash existe la opción bash -c [command]¿hay algo en xterm también? Actualmente lo estoy usando, xterm -e [command]pero esto mantiene la ventana de xterm abierta hasta que mi programa haya terminado. Pero quiero abrirlo, ejecutar el programa, cerrarlo y mantenerlo ejecutándose.

¿Por qué quiero que un programa se inicie a través de xterm cuando ni siquiera lo estoy usando? Estoy llamando a esto a través de xpra en otra computadora, pero no es posible iniciar el programa solo porque lo necesito con el entorno en la otra computadora.

¿Hay una manera de hacerlo?

Respuesta1

No creo que lo necesites xpra. sshes una buena elección

ssh user@hostname /path/to/program

o ssh+screen

ssh user@hostname "screen /path/to/program"

o xpra+screen

xpra user@hostname "screen /path/to/program"

Respuesta2

Pareces estar confundido acerca de cómo funcionan las cosas. No necesitas una terminal para ejecutar un programa.

"Comenzar xtermpara poder iniciar un proceso y luego salir xterm" se reduce a "iniciar un proceso" y puede descartarlo xtermpor completo.

Supongo que estás buscando

nohup command >command.out 2>command.err &

que comienza commandcomo un proceso en segundo plano (debido a &) con salida command.outy mensajes de error a command.err.

Si no le importa la salida o el manejo de la señal con nohup, es posible que simplemente desee

command &

Esto no le permite interactuar con el comando en segundo plano (pero tampoco cerrarlo, xtermasí que supongo que no lo necesita); Si desea poder hacer eso, considere screeno tmuxque le permite ejecutar el programa en una terminal virtual de la que puede desconectarse y volver a conectarse más tarde.

información relacionada