
Estou tentando executar um programa com o xterm e depois fechar o xterm com o programa em execução, mas parece que isso não funciona como eu esperava.
No bash existe a opção bash -c [command]
existe algo no xterm também? Atualmente estou usando xterm -e [command]
, mas isso mantém a janela do xterm aberta até que meu programa termine. Mas quero abri-lo, executar o programa, fechá-lo e manter o programa em execução.
Por que eu quero iniciar um programa através do xterm quando nem estou usando-o? Estou chamando isso através do xpra em outro computador, mas não é possível apenas iniciar o programa porque preciso dele com o ambiente do outro pc.
Existe uma forma de fazer isso?
Responder1
Eu não acho que você precisa xpra
. ssh
é uma boa escolha
ssh user@hostname /path/to/program
ou ssh
+screen
ssh user@hostname "screen /path/to/program"
ou xpra
+screen
xpra user@hostname "screen /path/to/program"
Responder2
Você parece estar confuso sobre como as coisas funcionam. Você não precisa de um terminal para executar um programa.
"Iniciar xterm
para poder iniciar um processo e depois sair xterm
" se reduz a "iniciar um processo" e você pode fatorar xterm
completamente.
Eu acho que você está procurando
nohup command >command.out 2>command.err &
que começa command
como um processo em segundo plano (por causa do &
) com saída indo para command.out
e mensagens de erro para command.err
.
Se você não se importa com a saída ou com o tratamento do sinal nohup
, você pode simplesmente querer
command &
Isso não permite que você interaja com o comando background (mas também não permite fechar o comando, xterm
então acho que você não precisa disso); se você quiser fazer isso, considere screen
ou tmux
which permite executar o programa em um terminal virtual do qual você pode desconectar e reconectar mais tarde.