カスタム systemd サービスが自動的に起動しない

カスタム systemd サービスが自動的に起動しない

シャットダウン時に外付け Seagate ドライブの電源をオフにするスクリプトとサービスを作成しました。最初はうまくいきましたが、コンピューターを再起動しても起動しません。シャットダウン前に必ず手動で起動する必要があり、これでは目的が達成されません。コンピューターをシャットダウンすると常にドライブもオフになるようなサービスが機能するように、どなたか助けていただけないでしょうか。

脚本:

#!/bin/sh

disk_uuid="MY-UUID-PLACEHOLDER"

udisksctl unmount -b /dev/disk/by-uuid/${disk_uuid} 
udisksctl power-off -b /dev/disk/by-uuid/${disk_uuid}

exit 0

サービスファイル:

[Unit] 
Description=Shut down external disks
DefaultDependencies=no
Before=shutdown.target reboot.target kexec.target halt.target

[Service] 
Type=oneshot ExecStart=/usr/sbin/power-off-disk.sh
RemainAfterExit=yes

[Install] 
WantedBy=halt.target kexec.target reboot.target shutdown.target

journalctl -u からのログ:

Feb 22 11:53:50 ace-desktop systemd[1]: Starting Shut down external disks...
Feb 22 11:53:50 ace-desktop power-off-disk.sh[9810]: Error connecting to the udisks daemon: GDBus.Error:org.freedesktop.DBus.Error.NoReply: Message recipient disconnected from message bus without replying
Feb 22 11:53:50 ace-desktop power-off-disk.sh[9880]: Error connecting to the udisks daemon: Error calling StartServiceByName for org.freedesktop.UDisks2: Transaction for udisks2.service/start is destructive (dev-sdb1.swap has 'stop' job queued, but 'start' is included in transaction).
Feb 22 11:53:50 ace-desktop systemd[1]: power-off-disk.service: Deactivated successfully.
Feb 22 11:53:50 ace-desktop systemd[1]: Finished Shut down external disks.

そこで、サービスファイルを編集しました。

[Unit]
Description=Shut down external disks
DefaultDependencies=no
Before=udisks2.service shutdown.target reboot.target halt.target

[Service]
Type=oneshot
ExecStart=/bin/true
ExecStop=/usr/sbin/power-off-disk.sh
RemainAfterExit=no

[Install]
WantedBy=shutdown.target reboot.target halt.target

しかし、何も変わりません。

systemctl start ディスクの電源オフ

手動で起動すると動作しますが、シャットダウン時には動作しません。ご協力いただければ幸いです。

関連情報