web-dev-qa-db-fra.com

Comment puis-je envoyer une notification de bureau gnome à partir d'un lanceur d'applications .desktop?

J'exécute un script Shell dans un fichier gnome .desktop pour sauvegarder mon disque sur un disque externe, exécuté en tant que root:

Exec:gksu /home/nhiton/bin/sync_home_to_alpha.bash

Cependant, je ne peux apparemment rien faire pour savoir si le script s'est terminé avec succès. J'ai essayé ce qui suit:

  1. Ajouter un sommeil à la fin du script pour laisser le temps de voir le résultat, quitte immédiatement
  2. J'ai essayé d'exécuter un script différent pour séparer la partie gksu de notify-send:

.

Exec:/home/nhilton/bin/test_sync.bash

# test_sync.bash
gksu sync_home_to_alpha.bash

if [ $? -eq 0 ]; then
    notify-send "SUCCESS"
else
    notify-send "FAILURE"
fi

Il semble qu'aucune combinaison ne me permette de signaler le statut de sortie du script.

Aidez-moi!

1
Nick

Faites la ligne exec:

Exec=bash -c "/home/nhilton/bin/test_sync.bash && notify-send Success || notify-send Fail"

Tout le problème est que les constructions if et && sont la syntaxe du shell, vous avez donc réellement besoin d'un shell pour les comprendre. D'où l'utilisation de bash -c

Faites attention aux guillemets simples et doubles et vérifiez à nouveau les autres paramètres du fichier .desktop

1