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
-xsignifica--execute- o restante da linha de comando dentro do terminal. -
E nosso comando é
bash -c "<commands>". Isso significa que executamos um novobashshell, 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 bashtem um significado - continue aberto na janela atualgnome-terminal. Existem outras abordagens possíveis para fazer isso. No caso atual, o comandoexecirá 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?