Como posso manter o terminal gnome aberto após o fechamento de um programa?

4

Eu tenho o seguinte atalho que abre uma instância SSH. Como posso modificá-lo para que, quando o SSH fechar, o terminal fique aberto?

[Desktop Entry]
Terminal=true
Type=Application
Name[en_US]=ssh
Icon=/logo_sprite.png
Exec=gnome-terminal --geometry=... --window-with-profile=... --title=... -e 'bash -c "ssh -t -i ~/dsa.key [email protected] sudo -s"'
    
por Rostyslav Malenko 01.06.2015 / 00:21

3 respostas

5

1. Primeira opção: editar as configurações do terminal gnome

Em gnome-terminal , vá para as preferências, na guia "Título e comando". Em seguida, clique na lista suspensa "Quando o comando terminar", escolha "Manter terminal aberto".


2. Se preferir não ter efeito em todos os terminais

Você pode adicionar bash como último comando. No meu teste,

Exec=gnome-terminal -e 'bash -c "gedit; echo Monkey; bash"'

fez o trabalho. Em seu comando, você provavelmente precisa fazer como:

Exec=gnome-terminal --geometry=... --window-with-profile=... --title=... -e 'bash -c "ssh -t -i ~/dsa.key [email protected] sudo -s; bash"'


3. Mantenha o terminal aberto até que você pressione Enter

Outra opção é colocar read line no final dos seus comandos. Nesse caso, o terminal permanecerá aberto até você pressionar Enter

Do meu teste:

Exec=gnome-terminal -e 'bash -c "gedit; echo Monkey; read line"'

Ou provavelmente no seu comando:

Exec=gnome-terminal --geometry=... --window-with-profile=... --title=... -e 'bash -c "ssh -t -i ~/dsa.key [email protected] sudo -s; read line"'

Notas

  • Observe que este ativador ativará outras janelas do próprio iniciador de aplicativos gnome-terminal no Iniciador Unity, já que esse ativador chama gnome-terminal em seu comando "principal". Cleaner seria adicionar o comando como um atalho para o atual gnome-terminal launcher (ou qualquer outro lançador que você queira).
  • Como o comando no iniciador já chama gnome-terminal , não é necessário definir Terminal=true .
por Jacob Vlijm 01.06.2015 / 06:57
1

Eu brinquei com esse código por alguns minutos. Eu acho que encontrei uma solução. Aqui está o meu código (um pouco simplificado quando se trata dos detalhes):

[Desktop Entry]
Terminal=true
Type=Application
Name[en_US]=ssh
Exec=gnome-terminal -e 'bash -c "ssh"' && gnome-terminal --geometry=... --window-with-profile=... --title=... -e 'bash'

Espero que isso ajude!

Acabei de adicionar uma linha de código que executa o gnome-terminal com o bash raw usando o & amp; & amp; comando.

EDIT: Acabei de perceber que alguém já resolveu isso !! Opa!

    
por Julien deC 01.06.2015 / 18:53
0

Você pode fazer isso simplesmente adicionando a variável '$ SHELL' no final do seu comando. Veja o exemplo abaixo na linha Exec = ....

[Desktop Entry]
Type=Application
Terminal=true
Name=MDS Control
Icon=utilities-terminal
Exec=gnome-terminal -e "bash -c 'Your command;$SHELL'"
Categories=Application;
Name[en_US]=MDS-Control
    
por Md. Zahangir Alam 14.06.2017 / 11:16