Eu quero que a systemd
instância por usuário inicie uma unidade de serviço a seguir na inicialização:
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:~$
A demora está ativada:
user.name@svr:~$ sudo loginctl show-user user.name | grep Linger=
Linger=yes
user.name@svr:~$
No entanto, quando reinicio o servidor, o serviço não é iniciado:
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:~$
Eu posso iniciar o tmux
serviço manualmente systemctl --user status tmux
sem problemas. Além disso, de acordo com systemctl --user status
a systemd
própria instância por usuário está em execução:
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:~$
Isso deve significar que não há problemas com a configuração do Linux PAM.
Por que a instância por usuário do systemd não inicia uma unidade de serviço automaticamente?
Habilitei(
systemctl --user enable tmux
) otmux.service
no momento em que tinhaWantedBy=multi-user.target
na[Install]
seção do/etc/systemd/user/tmux.service
e depois esqueci de reativar o serviço. Verificar o conteúdo do~/.config/systemd/user/
diretório me ajudou a identificar meu erro.