시스템 사용자 타이머에 WantedBy의 default.target 또는timers.target 값을 사용해야 합니까? [복사]

시스템 사용자 타이머에 WantedBy의 default.target 또는timers.target 값을 사용해야 합니까? [복사]

현재 있는 .timer 파일은 활성화하지 않으면 ~/.config/systemd/user명령 출력에 표시되지 않습니다 . systemctl --user list-timers --all이 명령이 비활성화된 .timers 및 활성화된 .timers를 표시하지 않는 것이 정상입니까?

[Install]오류로 인해 섹션 없이 .timer를 활성화할 수 없습니다 The unit files have no installation config. freedesktop.org 문서에 따르면:

타이머 장치는 자동으로 타이머.대상에 대한 Before= 유형 종속성을 갖습니다.

이것이 작동하려면 .timer를 활성화할 필요가 없다는 뜻인가요?

.timer를 꼭 활성화해야 하는 경우:

나는 이것이 default.target소프트웨어라고 믿는다.사용자 로그인 성공 후 실행됨WantedBy.

또한 사용자 systemd 인스턴스가 에 의해 시작되었다고 생각합니다 pam_systemd. 이전에 발생한 것으로 생각됩니다 default.target.

default.target그래서 타이머를 사용하면 로그인 후에 활성화되는 것 같습니다 . 이 경우에 사용 하면 OnStartupSec시스템 사용자 인스턴스가 시작된 이후의 시간을 올바르게 계산합니까?

반면에 을 사용하면 timers.target사용자 타이머이므로 로그인 전에 활성화되고 활성화 시간부터 초 계산을 시작합니까, 아니면 systemd --user시작 후 등록하고 시간 계산을 시작합니까?

답변1

나는 이 질문을 한 이후로 더욱 뜨거워졌고 내 질문이 내 입장의 오해에 기초하고 있다는 것을 알게 되었습니다. 나는 systemd의 사용자 및 시스템 인스턴스가 모두 동일한 대상 세트에 의존한다고 생각했습니다. ~에 따르면이것각 systemd 인스턴스는 자체 설정된 대상을 사용하므로 systemd의 사용자 인스턴스가 시작될 때까지 사용자 타이머는 활성화되지 않으므로 타이머는 systemd의 사용자 인스턴스가 시작된 시간부터 시간을 올바르게 계산합니다.

시스템 관리자가 시작됩니다[이메일 보호됨]각 사용자(사용자 관리자)에 대해 별도의 권한이 없는 systemd 인스턴스를 시작하는 사용자별 단위입니다. System Manager와 마찬가지로 User Manager는 default.target으로 가져온 장치를 시작합니다. 그래픽이 아닌 세션의 경우 default.target을 사용하십시오. 사용자가 그래픽 세션에 로그인할 때마다 로그인 관리자는 그래픽 세션에 필요한 셀을 가져오는 graphic-session.target 대상을 시작합니다. 사용자가 특정 하드웨어를 사용할 수 있게 되면 여러 대상이 실행됩니다(오른쪽에 표시).

그렇다면 나는 둘 중 타이머.타겟이 더 적합하다고 생각하지만 둘 다 작동해야 합니다.

관련 정보