Comme déjà discuté dans : Alerte : "Processus terminé" (Recherche d'un outil) sur ce même forum,
il est possible de recevoir sur le Bureau une Notification personnalisée
selon l'état de la sortie d'erreur de la commande,
en utilisant :
<ma-commande> && notify-send <paramètres succès> || notify-send <paramètres erreur>
J'ai maintenant un script qui selon les circonstances de son exécution,
se termine :
- soit en cas de succès par : exit 0
- soit en cas de problème par : exit 1
si j'utilise la commande :
./mon_script.sh && notify-send <paramètres succès> || notify-send <paramètres erreur>
Je reçois correctement les notifications.
Mais si pour intégrer son usage dans mon Bureau XFCE
— cela doit être indépendant du Bureau s'il respecte les conventions de freedesktop.org —
je crée un lanceur mon_script.desktop avec le code suivant :
Code : Tout sélectionner
[Desktop Entry]
Version=1.0
Type=Application
Name=Mon Script
Comment=Courte description
Exec=./mon_script.sh && notify-send <paramètres succès> || notify-send <paramètres erreur>
Icon=<nom_générique>
Terminal=true
Path=/chemin/du/répertoire/contenant_le_script
Ce lanceur permet bien l'exécution du script mais les notifications ne sont pas faites.
Noter que l'ajout d'une ligne : StartupNotify=false ou StartupNotify=true
n'y change rien.
La solution que j'ai trouvée,
consiste à créer un autre script "lanceur"
placé dans le même répertoire que mon 1er script,
nommé : exec_mon_script.sh
contenant la commande précédente,
ce qui donne :
Code : Tout sélectionner
#!/bin/bash
./mon_script.sh && notify-send <paramètres succès> || notify-send <paramètres erreur> ;
exit
et de modifier le lanceur comme cela :
Code : Tout sélectionner
[Desktop Entry]
Version=1.0
Type=Application
Name=Mon Script
Comment=Courte description
Exec=./exec_mon_script.sh
Icon=<nom_générique>
Terminal=true
Path=/chemin/du/répertoire/contenant_le_script
Cela fonctionne comme prévu,
mais je me demande et cela serait plus "propre",
s'il est possible d'éviter ce 2d script avec un lanceur adhoc ?
Merci pour vos avis.
PS:
J'ai aussi pensé à mettre dans ~/.bashrc une fonction pour lancer l'appel du script et notifications, pour créer une pseudo-commande,
mais comme cela revient aussi à introduire un 3ème élément, je trouve que ce n'est pas plus satisfaisant que le script lanceur.