시스템 사용자 타이머를 비활성화할 수 없습니다. 알 수 없는 방법인DisableUnitFilesWithFlagsAndInstallInfo

시스템 사용자 타이머를 비활성화할 수 없습니다. 알 수 없는 방법인DisableUnitFilesWithFlagsAndInstallInfo

~/.config/systemd/user나는 내가 좋아하는 프로그램의 야간 이미지를 만드는 데 사용하는 간단한 시스템 서비스와 타이머를 가지고 있습니다 .

# ~/.config/systemd/user/kicad-build.service
[Unit]
Description=KiCAD nightly builder

[Service]
Type=simple
StandardOutput=null
ExecStart=/bin/bash /home/jan/kicad-nightly-builder/build.sh
# ~/.config/systemd/user/kicad-build.timer
[Unit]
Description=KiCAD nightly build timer

[Timer]
OnCalendar=daily
Persistent=true
RandomizedDelaySec=7200

[Install]
WantedBy=timers.target

이제 더 이상 야간 빌드가 필요하지 않으므로 타이머를 비활성화하고 싶습니다.

[jan@memory-alpha user]$ systemctl --user stop kicad-build.timer

[jan@memory-alpha user]$ systemctl --user disable kicad-build.timer
Failed to disable unit: Unknown method DisableUnitFilesWithFlagsAndInstallInfo or interface org.freedesktop.systemd1.Manager.

여기서 무슨 일이 일어나고 있는 걸까요? systemctl이 장치를 비활성화하는 적절한 방법을 찾을 수 없는 이유는 무엇입니까 ? 타이머는 여전히 활성화되어 있습니다:

[jan@memory-alpha user]$ systemctl --user status kicad-build.timer
○ kicad-build.timer - KiCAD nightly build timer
     Loaded: loaded (/home/jan/.config/systemd/user/kicad-build.timer; enabled; preset: enabled)
     Active: inactive (dead) since Sat 2023-03-04 09:54:42 CET; 11min ago
   Duration: 1month 2w 5d 13h 3min 15.725s
    Trigger: n/a
   Triggers: ● kicad-build.service

Jan 13 10:21:26 memory-alpha systemd[901]: Started KiCAD nightly build timer.
Mar 04 09:54:42 memory-alpha systemd[901]: Stopped KiCAD nightly build timer.

추가 테스트:

[jan@memory-alpha user]$ gdbus introspect --system --dest org.freedesktop.systemd1 --object-path /org/freedesktop/systemd1 | grep DisableUnit
      DisableUnitFiles(in  as files,
      DisableUnitFilesWithFlags(in  as files,
      DisableUnitFilesWithFlagsAndInstallInfo(in  as files,

[jan@memory-alpha user]$ gdbus introspect --session --dest org.freedesktop.systemd1 --object-path /org/freedesktop/systemd1 | grep DisableUnit
      DisableUnitFiles(in  as files,
      DisableUnitFilesWithFlags(in  as files,

분명히 내 시스템 세션에는 적절한 방법이 있지만 내 사용자 세션에는 그렇지 않습니다. 불행하게도 저는 이 문제를 더 디버깅할 만큼 D-Bus에 대해 충분히 알지 못합니다. 어떤 아이디어가 있습니까?

[jan@memory-alpha user]$ uname -a
Linux memory-alpha 6.1.4-arch1-1 #1 SMP PREEMPT_DYNAMIC Sat, 07 Jan 2023 15:10:07 +0000 x86_64 GNU/Linux

[jan@memory-alpha user]$ systemctl --version
systemd 253 (253-1-arch)
+PAM +AUDIT -SELINUX -APPARMOR -IMA +SMACK +SECCOMP +GCRYPT +GNUTLS +OPENSSL +ACL +BLKID +CURL +ELFUTILS +FIDO2 +IDN2 -IDN +IPTC +KMOD +LIBCRYPTSETUP +LIBFDISK +PCRE2 -PWQUALITY +P11KIT -QRENCODE +TPM2 +BZIP2 +LZ4 +XZ +ZLIB +ZSTD +BPF_FRAMEWORK +XKBCOMMON +UTMP -SYSVINIT default-hierarchy=unified

답변1

시스템이 systemctl 버전에 비해 너무 오래된 systemd 버전을 실행하고 있습니다. (이 D-Bus 방법은 systemd v253에 추가되었습니다.)

systemctl [--user] daemon-reexec실행 중인 systemd 버전을 업그레이드 하는 데 사용됩니다 .

관련 정보