2 votes

Raccourci vers terminal/bash script sans 'fermeture instantanée'.

J'ai créé une entrée de bureau dans ~/.local/share/applications . Il ressemble à ce qui suit :

[Desktop Entry]
Version=1.0
Encoding=UTF-8
Name=Crontona Server
GenericName=CA Server
Comment=BDAF server for Crontona
Exec=bash "/usr/local/crontona/run.sh"
Icon=/usr/local/crontona/app.ico
Terminal=true
Type=Application

Il s'affiche dans le lanceur Unity et tout, mais dès que je clique dessus, le terminal s'ouvre mais se ferme instantanément. Je n'ai aucun problème à utiliser 'bash ./.....run.sh' mais je n'ai pas réussi à utiliser le menu. Une idée de la raison pour laquelle cela se produit ?

Voici le contenu du fichier run.sh :

#!/bin/bash
./corona_run -prot tcp +maxcon 16

0voto

mmrs151 Points 141

Ajoutez la commande read x comme dernière ligne dans run.sh. Cette lecture fera en sorte que la fenêtre de commande reste ouverte jusqu'à ce que vous appuyiez sur retour. Si des messages sont affichés, cela laisse le temps de les lire.


El read est la clé. Voici un Shell Shell (je le préfère à bash bien que bash devienne aussi populaire). BTW, le .sh à la fin signifie Shell Shell, pas Shell. Vous pourriez changer l'option Exec de votre lanceur en :

Exec="/usr/local/crontona/run.sh"

Et utiliser le run.sh suivant script...

#!/bin/sh
./corona_run -prot tcp +maxcon 16
echo -n Press enter to end...
read x
echo Ending Now\!

Remarquez que j'ai échappé le ! dans la fin maintenant. Cette dernière ligne n'est pas nécessaire à moins que vous n'exécutiez le script à l'intérieur d'un terminal et que vous vouliez qu'il fasse écho de l'exécution. De cette façon, si le terminal apparaît et que le script est exécuté à l'intérieur du terminal, le script ne sortira pas avant que vous n'appuyiez sur la touche Entrée, de sorte que le terminal ne puisse pas se fermer jusqu'à ce que vous soyez prêt.

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