systemd 사용자별 인스턴스가 서비스 단위를 자동으로 시작하지 않습니다.

systemd 사용자별 인스턴스가 서비스 단위를 자동으로 시작하지 않습니다.

systemd사용자 인스턴스별로 시작 시 다음 서비스 단위가 시작되기를 원합니다 .

user.name@svr:~$ systemctl --user cat tmux
# /etc/systemd/user/tmux.service
[Unit]
Description=Start tmux in detached session

[Service]
Type=forking
ExecStart=/usr/bin/tmux new-session -s test -d
ExecStop=/usr/bin/tmux kill-session -t test
Restart=always
RestartSec=1

[Install]
WantedBy=default.target
user.name@svr:~$

지연이 활성화되었습니다:

user.name@svr:~$ sudo loginctl show-user user.name | grep Linger=
Linger=yes
user.name@svr:~$

그러나 서버를 다시 시작하면 서비스가 시작되지 않습니다.

user.name@svr:~$ systemctl --user status tmux
● tmux.service - Start tmux in detached session
   Loaded: loaded (/etc/systemd/user/tmux.service; enabled; vendor preset: enabled)
   Active: inactive (dead)
user.name@svr:~$

문제 없이 tmux수동으로 서비스를 시작할 수 있습니다 . systemctl --user status tmux또한 각 사용자 인스턴스 자체에서 다음이 실행됩니다 systemctl --user status.systemd

user.name@svr:~$ systemctl --user status 
● svr
    State: running
     Jobs: 0 queued
   Failed: 0 units
    Since: Tue 2019-12-03 22:02:41 UTC; 15min ago
   CGroup: /user.slice/user-1000.slice/[email protected]
           └─init.scope
             ├─456 /lib/systemd/systemd --user
             └─462 (sd-pam)
user.name@svr:~$ 

이는 Linux PAM 구성에 아무런 문제가 없음을 의미합니다.

systemd가 사용자 인스턴스별로 서비스 단위를 자동으로 시작하지 않는 이유는 무엇입니까?

答え1

부분적으로( ) 활성화 systemctl --user enable tmux한 후 서비스를 다시 활성화하는 것을 잊어버렸습니다. 디렉토리의 내용을 조사한 결과 내 오류를 발견하는 데 도움이 되었습니다.tmux.serviceWantedBy=multi-user.target[Install]/etc/systemd/user/tmux.service~/.config/systemd/user/

関連情報