私が書いたスクリプトの最後に、それがいつ終わるかを知るために通知を送りたいのです。スクリプトの内容は、通知部分以外は重要ではありません。
これがスクリプトの重要な部分です。
#!/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'"
私の端末から実行するとうまくいきます。
でサービスファイルを作成しました /etc/systemd/system
以下の内容で:
[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
実行したとき sudo systemctl start test.notification
、うまくいきます。
systemdを実行した後に実行すると問題が発生します。 systemd enable test.notification
。
スクリプトに他のものを追加すれば、それらは完了です。
私のサービスの説明は間違っていますか? 通知命令に何か欠落していますか?
おそらくそれはあなたがログインする前に終了しますか?
—
grawity
その単純な例では、そうなるかもしれません。しかし、私が監視したいスクリプトの場合、ドライブがマウントされるまで待機します。このドライブは手動でマウントされています。
—
A.D.