Plano de fundo do emulador de terminal para a sessão do Openbox

1

Existe alguma maneira de executar um comando de um emulador de terminal no Openbox, para que o Openbox seja o proprietário do processo, em vez do terminal?

Então eu poderia iniciar um programa a partir de um emulador de terminal que ficaria em execução quando eu fechasse o emulador de terminal, mas sairia quando o X11 saísse?

    
por Will Kunkel 17.01.2013 / 23:57

1 resposta

0

Sim, apenas execute o comando em segundo plano e saia do emulador de terminal com elegância (use Ctrl + D ou exit ):

command &

Por exemplo, firefox & .

No shell BASH, oe comercial ( & ) significa "execute este comando como um processo backround". Se você fechar o terminal a partir do qual você ativou usando exit ou Ctrl + D , o programa continuará sendo executado. Se você fechar o terminal clicando em sua janela "X", isso também matará o processo.

Para trazer um processo de volta ao primeiro plano (do terminal mesmo ou tty), execute fg . Para enviar um processo iniciado normalmente para o segundo plano, digite Ctrl + Z no terminal em que você o iniciou.

Outras maneiras de executar processos de maneira independente do emulador de terminal que as iniciou são as seguintes (sempre usando o firefox como exemplo):

  1. nohup . Na% man_de% manpage:

    nohup - run a command immune to hangups, with output to a non-tty

    If standard input is a terminal, redirect it from /dev/null. If standard output is a terminal, append output to nohup.out' if possible,$HOME/nohup.out' otherwise. If standard error is a terminal, redirect it to standard output. To save output to FILE, use 'nohup COMMAND > FILE'.

    Exemplo:

    nohup firefox
    
  2. nohup , da página at :

    at, batch, atq, atrm - queue, examine or delete jobs for later execution

    at executes commands at a specified time.

    O uso é um pouco mais complexo, você precisa ter um arquivo de texto que contenha o (s) comando (s) que você deseja executar, um por linha. Então você lança at , dizendo para executar em um horário específico:

    echo "firefox" > command.txt
    at 14:56 < command.txt
    

    O exemplo acima informa at para iniciar os comandos listados no arquivo at às 14:56.

NOTA: Usando command.txt ou at , o processo iniciado continuará funcionando após a saída do X.

    
por 18.01.2013 / 02:18