사용자 정의 시스템 서비스가 자동으로 시작되지 않습니다

사용자 정의 시스템 서비스가 자동으로 시작되지 않습니다

종료 시 외부 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 시작 전원 끄기 디스크

수동으로 활성화하면 작동하지만 종료 시에는 작동하지 않습니다. 도움을 주시면 정말 감사하겠습니다.

관련 정보