È possibile ottenere ciò in qualsiasi emulatore di terminale con il semplice espediente di fare in modo che il programma non esca senza la conferma dell'utente. Di' al terminale di eseguire terminal_shell_wrapper
che è uno script contenente qualcosa come
#!/bin/sh
if [ $# -eq 0 ]; then "${SHELL:-sh}"; else "[email protected]"; fi
echo "The command exited with status $?. Press Enter to close the terminal."
read line
Se vuoi premere un tasto qualsiasi per chiudere il terminale, cambia read line
a
stty -icanon; dd ibs=1 count=1 >/dev/null 2>&1
Ci sono altri terminali che hanno opzioni per mantenere il terminale aperto, alcuni specificando un profilo con quell'impostazione abilitata (proprio come in Gnome Terminal ) e alcuni con un argomento specifico.
Xterm
xterm -hold
da $(man xterm):
-hold Attiva la risorsa hold, cioè xterm non distruggerà immediatamente la sua finestra quando il comando shell viene completato. Aspetterà finché non usi il window manager per distruggere/chiudere la finestra, o se usi le voci di menu che inviano un segnale, ad esempio HUP o KILL.
Esecuzione di xterm --help
, una delle righe è
-/+hold turn on/off logic that retains window after exit
Per vedere se altri terminali hanno un'opzione simile, guarda la loro guida o la pagina man.
Console
(impostazione predefinita in KDE):
konsole --help
mostra questa riga:
--hold, --noclose Do not close the initial session automatically when it ends.
Quindi, il comando da usare per Konsole includerà:
konsole --hold
o konsole --nonclose
. Non ha bisogno di virgolette. Potrebbe essere qualcosa del tipo:
Exec=konsole --hold -e mediainfo -i %f
Terminale Xfce4
Tab Options:
-x, --execute; -e, --command=command; -T, --title=title;
--working-directory=directory; -H, --hold
Quindi:
xfce4-terminal -H -e '<command>'
Terminatore
Ha un'opzione simile a quella in Gnome Terminal, devi creare un profilo, ad es. chiamato "hold" - con questa opzione abilitata.
Per eseguire il comando e rimanere aperti:
terminator -e '<command>' -p hold
.