2 votes

Comment puis-je garder le terminal en marche après avoir fermé l'application ?

J'ai créé un raccourci sur le bureau pour exécuter un script. Cependant, je ne sais pas comment je peux garder le terminal ouvert une fois que je ferme l'application ou si elle se plante. Je suis assez nouveau dans le codage, alors s'il vous plaît pardonnez-moi si cela a été demandé auparavant. J'ai essayé les messages d'autres forums, mais je n'ai pas réussi à le faire fonctionner pour celui-ci.

Name=Test
Comment=
Exec=bash -c "$HOME/test_folder/scripts/test.sh"
Icon=/usr/share/icons/test.png
Terminal=true
Type=Application
StartupNotify=true

1voto

vanadium Points 56513
  • Sur votre Exec= supprimez la ligne bash -c " y ¨ à la fin : ce n'est pas nécessaire. Il suffit de spécifier directement le chemin complet de votre script s'il ne se trouve pas dans un répertoire de votre PATH.
  • Editez votre script, et ajoutez une ligne bash . de cette façon, le terminal restera ouvert sur une invite après la fin de la commande précédente dans le script.

1voto

Tilman Points 2869

La fenêtre du terminal ne peut pas rester ouverte sans qu'un programme y soit exécuté. Pour que le terminal reste ouvert, vous devez donc vous assurer que la commande qui s'y exécute ne se termine pas. Il existe plusieurs façons d'y parvenir. L'un des aspects à prendre en compte est de savoir quand et comment le terminal doit être fermé.

Dans votre cas, puisque votre commande est bash exécuter un script que vous contrôlez, la solution la plus simple est peut-être d'ajouter la ligne :

read -p "Press ENTER to continue"

à la fin de ce script. Ainsi, le script attendra une ligne d'entrée avant de sortir, de sorte que le terminal ne se fermera que si vous appuyez sur la touche ENTER alors qu'il a le focus.

Si votre Exec= contient une commande que vous ne pouvez ou ne voulez pas modifier, une solution alternative serait d'ajouter l'option read par exemple :

Exec=/bin/bash -c '/usr/local/bin/coolprog ; read -p "Press any key to continue"'

Le terminal lancera un Shell pour exécuter cette ligne de commande, et la fonction read fera en sorte que le Shell attende une ligne d'entrée avant de se terminer.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X