Eu preferiria usar a opção -x
que fornece um trabalho mais confiável do que -e
:
gnome-terminal -x bash -c "<my command or script>; exec bash"
-
A opção
-x
significa--execute
- o restante da linha de comando dentro do terminal. -
E nosso comando é
bash -c "<commands>"
. Isso significa que executamos um novobash
shell, que deve executar alguns-c "<commands>"
. -
Temos dois separados (por semicolon
; == new line
)<commands>
. -
O primeiro comando
<my command or script>
executará o que queremos. -
O segundo comando
exec bash
tem um significado - continue aberto na janela atualgnome-terminal
. Existem outras abordagens possíveis para fazer isso. No caso atual, o comandoexec
irá substituir a imagem do processo atual por uma nova imagem do processo - em outras palavras, "matará" o processo atual e executará um novo (bash
) sob o atual PID.
Atualização: A sintaxe -x/-e
está obsoleta - Ubuntu 18.04. A nova maneira recomendada é:
gnome-terminal -- bash -c "<my command or script>; exec bash"
Mais exemplos de uso deste formato:
- Abra um novo terminal e scripts de origem
- Lançar o terminal gnome da sessão SSH para a sessão Desktop
- Inicie um terminal específico na inicialização
- Crontab e programa C que deve ser executado em uma janela de terminal
- Xdotool não minimiza janela do terminal ao usar no aplicativo de inicialização quando o PC é inicializado?