web-dev-qa-db-fra.com

Exécuter .sh avec une entrée sur le bureau sans fermer le terminal

Voici mon entrée de bureau pour exécuter "PRGM.sh"

[Desktop Entry]
Encoding=UTF-8
Name=PRGM
Comment=Launch PRGM
Exec=gksu /home/markku/PRGM.sh
Icon=utilities-terminal
Type=Application
Terminal=true

Le programme s'exécute en terminal et à la fin, il envoie un code que je veux vérifier. Mais l’entrée de bureau exécute le programme dans le terminal et se ferme à la fin, elle ne peut donc pas vérifier le code. Comment puis-je modifier l'entrée du bureau pour ne pas fermer le terminal après exécution? (Il est nécessaire d'utiliser gksu)

2
Make465213

Utilisez la solution de @ Dane (copiée ici):

read -n1 -p "Press any key to exit."
exit

And changez deux lignes dans le fichier .desktop:

Exec=gksu "gnome-terminal -x bash -c /home/markku/PRGM.sh"
...
Terminal=false

Ou si Sudo fonctionne bien, c'est plus simple:

Exec=Sudo /home/markku/PRGM.sh
...
Terminal=true
3
wjandrea

À la fin du script, supprimez tout "exit" et remplacez-le par:

read -n1 -p "Press any key to exit."
exit

Ceci affichera le message cité et attendra que l'utilisateur appuie sur une touche, après quoi il se fermera. Vous pouvez mettre un nombre (ou une variable contenant un nombre) après "exit" pour sortir avec un statut, si vous le souhaitez.

2
DaneM