Tornar o serviço systemd do usuário persistente

4

Eu tenho esse serviço ~/.config/systemd/user/weechat.service systemd que funcionou bem, mas após a atualização do sistema, o processo é eliminado, o que não acontecia antes. O processo é morto imediatamente quando desconectado da sessão SSH.

[Unit]
Description=Weechat IRC Client (in tmux)
After=network-online.target

[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=/usr/bin/tmux -2 -u new-session -d -s irc /usr/bin/weechat
ExecStop=/usr/bin/tmux kill-session -t irc

[Install]
WantedBy=default.target

Status:

% systemctl --user status weechat.service
● weechat.service - Weechat IRC Client (in tmux)
   Loaded: loaded (/home/<user>/.config/systemd/user/weechat.service; enabled; vendor preset: enabled)
   Active: active (exited) since Thu 2017-10-05 22:54:54 EEST; 18h ago
  Process: 504 ExecStart=/usr/bin/tmux -2 -u new-session -d -s irc /usr/bin/weechat (code=exited, status=0/SUCCESS)
 Main PID: 504 (code=exited, status=0/SUCCESS)
   CGroup: /user.slice/user-1000.slice/[email protected]/weechat.service
           ├─506 /usr/bin/tmux -2 -u new-session -d -s irc /usr/bin/weechat
           └─507 /usr/bin/weechat

/etc/systemd/logind.conf :

[Login]
KillUserProcesses=no

Eu inicializei o sistema e também tentei reiniciar o systemd-logind.service .

Qual arquivo de configuração / processo / daemon está emitindo o kill após o logout?

    
por raspi 06.10.2017 / 16:43

1 resposta

4

Você precisa dizer ao systemd para "atrasar" seu usuário:

# loginctl enable-linger <user>

Isso fará com que seus serviços de usuário sejam iniciados na inicialização e que o logind os mantenha por perto depois que você fizer o logout (por exemplo, fechar sua sessão ssh).

    
por 08.11.2017 / 20:24