J'ai créé un script Shell, disons que c'est
echo hi
sleep 5
echo bye
exit
J'ai ensuite créé un .desktop
-file pour lancer le script Shell. Double-cliquer, cela fonctionne parfaitement bien:
[Desktop Entry]
Version=1.0
Name=Test
Comment=Bash Cript
Exec=bash /example/test.sh
Terminal=true
Type=Application
Categories=Utility;Application;
Après avoir glissé-déposé le fichier .desktop dans le lanceur Unity, je peux cliquer dessus. ONCE. Après le premier lancement, l'icône reste dans le lanceur, mais cliquer dessus ne fait rien.
Cliquez avec le bouton central de la souris pour relancer l'application
Qu'est-ce que je fais mal?
... même testé, mais l'icône du lanceur ne répond pas pendant environ 7 secondes après avoir cliqué. Si vous cliquez à nouveau après ces 7 secondes, cela fonctionnera à nouveau.
Cette "rupture" est provoquée par l'icône, en attendant qu'une fenêtre apparaisse. Ce ne sera pas le cas, car la fenêtre gnome-terminal
Apparente est "revendiquée" par l'icône de lancement de gnome-terminal
, Et votre icône "maison" ne reconnaît pas la fenêtre comme "le sien".
Vous pourriez résoudre le problème en ajoutant une ligne à votre lanceur (14.04)
StartupWMClass=gnome-terminal
ou (16.04):
StartupWMClass=gnome-terminal-server
cependant , ne faites cela que pour des raisons de test, n'utilisez pas ceci comme une solution permanente; avoir plusieurs fichiers .desktop
, prétendant peut-être le même WM_CLASS
dans leur commande principale est une mauvaise idée, cela provoquera des conflits dans la façon dont gnome-terminal
apparaît dans le lanceur Unity.
Mieux vaut ajouter votre script en tant qu'option de clic droit au lanceur gnome-terminal
Existant:
gnome-terminal
De /usr/share/applications
Vers~/.local/share/applications
:
cp /usr/share/applications/gnome-terminal.desktop ~/.local/share/applications
Ouvrez le fichier avec gedit
:
gedit ~/.local/share/applications/gnome-terminal.desktop
Changez de ligne:
Actions=New;
dans:
Actions=New;My Script;
et ajoutez la section:
[Desktop Action My Script]
Name=My Script
Exec=gnome-terminal -e "bash /absolute/path/to/your/script.sh"
à la toute fin du fichier. Déconnectez-vous puis reconnectez-vous et votre script sera disponible sous forme de raccourci dans le lanceur gnome-terminal
.