Ho il seguente collegamento che apre un'istanza SSH. Come posso modificarlo in modo che quando SSH si chiude, il terminale rimanga aperto?
[Desktop Entry]
Terminal=true
Type=Application
Name[en_US]=ssh
Icon=//eadn-wc01-5196795.nxedge.io/logo_sprite.png
Exec=gnome-terminal --geometry=... --window-with-profile=... --title=... -e 'bash -c "ssh -t -i ~/dsa.key [email protected] sudo -s"'
Risposta accettata:
1. Prima opzione:modifica le impostazioni del terminale gnome
In gnome-terminal
, vai alle preferenze, la scheda "Titolo e comando". Quindi fai clic sull'elenco a discesa "Al termine del comando", scegli "Mantieni il terminale aperto".
2. Se preferisci non avere effetto su tutti i terminali
Puoi aggiungere bash
come ultimo comando. Nel mio test,
Exec=gnome-terminal -e 'bash -c "gedit; echo Monkey; bash"'
ha fatto il lavoro. Nel tuo comando, probabilmente devi farlo come:
Exec=gnome-terminal --geometry=... --window-with-profile=... --title=... -e 'bash -c "ssh -t -i ~/dsa.key [email protected] sudo -s; bash"'
3. Tieni il terminale aperto finché non premi Invio
Un'altra opzione è posizionare read line
alla fine dei tuoi comandi. In tal caso, il terminale rimarrà aperto finché non premi Invio
Dal mio test:
Exec=gnome-terminal -e 'bash -c "gedit; echo Monkey; read line"'
O probabilmente nel tuo comando:
Exec=gnome-terminal --geometry=... --window-with-profile=... --title=... -e 'bash -c "ssh -t -i ~/dsa.key [email protected] sudo -s; read line"'
Note
- Nota che questo launcher "steccherà" possibili altre finestre da
gnome-terminal
Il programma di avvio dell'applicazione in Unity Launcher, poiché questo programma di avvio chiamagnome-terminal
nel suo comando "principale". Più pulito sarebbe aggiungere il comando come scorciatoia algnome-terminal
esistente launcher (o qualsiasi altro launcher che desideri). - Dato che il comando nel programma di avvio chiama già
gnome-terminal
, non è necessario impostareTerminal=true
.