Execute o comando com xterm e feche

Execute o comando com xterm e feche

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 xtermpara poder iniciar um processo e depois sair xterm" se reduz a "iniciar um processo" e você pode fatorar xtermcompletamente.

Eu acho que você está procurando

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

que começa commandcomo um processo em segundo plano (por causa do &) com saída indo para command.oute 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, xtermentão acho que você não precisa disso); se você quiser fazer isso, considere screenou tmuxwhich permite executar o programa em um terminal virtual do qual você pode desconectar e reconectar mais tarde.

informação relacionada