A maneira mais simples é executar:
daemon firefox
para que você possa continuar usando / fechando o próprio terminal
Como você desativa automaticamente um aplicativo depois de iniciá-lo em um terminal?
Por exemplo: se você iniciar um terminal e executar firefox
, o aplicativo será iniciado, mas quando você fechar o terminal, o firefox também será fechado. Para evitar o fechamento não intencional de aplicativos que foram iniciados em um terminal, primeiro é possível colocá-los em segundo plano com o ampersant: firefox &
, que também restaura a capacidade de usar o prompt desse terminal.
Em seguida, você pode descartar o aplicativo desse mesmo terminal usando o ID do processo (PID) do aplicativo, veja este exemplo abaixo:
$ firefox &
$ ps | grep firefox
14917 pts/6 00:00:00 firefox
$ disown 14917
O aplicativo agora é executado independentemente do terminal que você está usando e o fechamento do terminal não terminará mais o aplicativo.
Mas como você pode fazer isso automaticamente toda vez que inicia um aplicativo?
EDIT: uma melhor resposta foi fornecida pela I-V.
Para fazer isso automaticamente, você pode usar um apelido bash. Se você adicionar as linhas a seguir ao seu arquivo .bash_aliases em seu diretório pessoal, poderá iniciar qualquer aplicativo my_application
do terminal, colocando-o automaticamente no segundo plano e, em seguida, descartando-o desse terminal, usando o comando s my_application
:
# start programs from shell but immediately disown them
startAndDisown() {
$1 & disown $!
}
alias s=startAndDisown
Observe que $!
retorna automaticamente o PID do último trabalho assíncrono.