À la fin d'un script que j'ai écrit, je souhaite envoyer une notification pour savoir quand il se termine. Le contenu du script n'est pas important, à l'exception de la partie notification.
Voici la partie importante du script:
#!/bin/bash
USER=<username>
USERID=`id -u $USER`
sudo -u $USER bash -c "DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/$USERID/bus notify-send -t 5000 -u normal -i /usr/share/icons/Adwaita/32x32/devices/drive-removable-media.png 'Ah! the element of surprise'"
Quand je le lance depuis mon terminal, cela fonctionne bien.
J'ai créé un fichier de service dans /etc/systemd/system
avec le contenu suivant:
[Unit]
Description=Test notification
Requires=home.mount
After=home.mount
[Service]
ExecStart=/home/alexis/Personnalisation/Scripts/test.notification.sh
Type=oneshot
[Install]
WantedBy=graphical.target
Quand je le traverse sudo systemctl start test.notification
, Ça marche bien.
Le problème survient lorsque systemd s'exécute après mon exécution systemd enable test.notification
.
Si j'ajoute d'autres choses dans le script, elles sont terminées.
Ma description de service est-elle fausse? Mon instruction de notification manque-t-elle quelque chose?