Vous pouvez y parvenir dans n'importe quel émulateur de terminal en faisant simplement en sorte que le programme ne se ferme pas sans la confirmation de l'utilisateur. Dites au terminal d'exécuter terminal_shell_wrapper
qui est un script contenant quelque chose comme
#!/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
Si vous voulez appuyer sur une touche pour fermer le terminal, changez read line
à
stty -icanon; dd ibs=1 count=1 >/dev/null 2>&1
Il existe d'autres terminaux qui ont des options pour garder le terminal ouvert, certains en spécifiant un profil avec ce paramètre activé (tout comme dans Gnome Terminal ) et d'autres avec un argument spécifique.
Xterm
xterm -hold
de $(man xterm):
-hold Active la ressource hold, c'est-à-dire que xterm ne détruira pas immédiatement sa fenêtre à la fin de la commande shell. Il attendra que vous utilisiez le gestionnaire de fenêtres pour détruire/tuer la fenêtre, ou si vous utilisez les entrées de menu qui envoient un signal, par exemple, HUP ou KILL.
Exécution de xterm --help
, l'une des lignes est
-/+hold turn on/off logic that retains window after exit
Pour voir si d'autres terminaux ont une option similaire, consultez leur page d'aide ou de manuel.
Console
(par défaut dans KDE) :
konsole --help
affiche cette ligne :
--hold, --noclose Do not close the initial session automatically when it ends.
Ainsi, la commande à utiliser pour Konsole inclura :
konsole --hold
ou konsole --nonclose
. Il n'a pas besoin de guillemets. Cela pourrait être quelque chose comme :
Exec=konsole --hold -e mediainfo -i %f
Terminal Xfce4
Tab Options:
-x, --execute; -e, --command=command; -T, --title=title;
--working-directory=directory; -H, --hold
Donc :
xfce4-terminal -H -e '<command>'
Terminateur
Il a une option similaire à celle de Gnome Terminal, vous devez créer un profil - par ex. appelé "hold" - avec cette option activée.
Pour exécuter la commande et rester ouvert :
terminator -e '<command>' -p hold
.