loginctl enable-linger / disable-linger… mas lendo o status da linger?

16

Eu sei como ativar / desativar a persistência loginctl.

Mas, até o momento, não havia como consultar o status de um usuário.

Quero saber: O recurso remanescente permanece ativo para o usuário foo?

Como posso acessar essas informações?

guettli
fonte

Respostas:

22

Você pode mostrar uma lista de usuários remanescentes com

ls /var/lib/systemd/linger

Porque

loginctl enable-linger $USER
loginctl disable-linger $USER

faça o equivalente a

touch /var/lib/systemd/linger/$USER
rm /var/lib/systemd/linger/$USER
Markus Kuhn
fonte
8

loginctl user-status foo mostra o status restante.

marcador
fonte
2
Não tenho certeza se isso realmente funciona. Alguns minutos atrás, isso imprimiu uma árvore para um usuário de teste que ainda não estava ativado. Agora, alguns minutos depois, a saída é "Falha ao obter usuário: nenhum usuário '1003' conhecido ou conectado". Vou usar a solução de Markus Kuhn (verificação se existe arquivo / var / lib / systemd / Linger / $ USER)
guettli
5

O melhor que encontrei para verificá-lo em scripts (programaticamente):

loginctl show-user $USER --property=Linger 2>/dev/null | grep -q 'yes'
Xorax
fonte
Por que não usar isso: "verifique a existência de / var / lib / systemd / linger"?
guettli
4
Porque está mais sujeito a alterações sem aviso prévio.
Xorax