loginctl enable-linger / disable-linger… ale czytasz status linger?

16

Wiem, jak włączyć / wyłączyć utrzymywanie się przy pomocy loginctl.

Ale do tej pory nie znalazłem sposobu na sprawdzenie statusu użytkownika.

Chcę wiedzieć: czy użytkownik może pozostawać w trybie ciągłym foo?

Jak mogę uzyskać dostęp do tych informacji?

guettli
źródło

Odpowiedzi:

23

Możesz wyświetlić listę trwałych użytkowników

ls /var/lib/systemd/linger

ponieważ

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

zrobić odpowiednik

touch /var/lib/systemd/linger/$USER
rm /var/lib/systemd/linger/$USER
Markus Kuhn
źródło
8

loginctl user-status foo pokazuje stan pozostawania.

punktor
źródło
3
Nie jestem pewien, czy to naprawdę działa. Kilka minut temu wydrukowano drzewo dla użytkownika testowego, który nie ma włączonej funkcji przedłużania. Teraz, kilka minut później, wyjście brzmi: „Nie udało się uzyskać użytkownika: Żaden użytkownik„ 1003 ”nie jest znany lub zalogowany”. Użyję rozwiązania od Markusa Kuhna (sprawdź, czy istnieje plik / var / lib / systemd / linger / $ USER)
guettli
5

Najlepsze, jakie znalazłem do sprawdzenia w skryptach (programowo):

loginctl show-user $USER --property=Linger 2>/dev/null | grep -q 'yes'
Xorax
źródło
Dlaczego nie użyć tego: „sprawdź istnienie / var / lib / systemd / linger”?
guettli
4
Ponieważ może ulec zmianie bez uprzedzenia.
Xorax,