Setzte mich gerade mit loginctl auseinander, eigentlich will ich wissen ob eine Sitzung gesperrt ist oder nicht.
Mitloginctl user-status ${SESSIONID}
sehe ich zwar einen Status "active" oder "online" das sagt aber nicht aus ob die Sitzung gesperrt oder nicht gesperrt ist.
herausfinden ob Sitzung gesperrt ist.
- Bearbeitet
Das sollte eigentlich durch den Wert von LockedHint feststellbar sein.
loginctl show-session <session_nr>
oder gezielt:
loginctl show-session -p LockedHint <session_nr>
Bei mir funktioniert das allerdings nicht, der Wert bleibt immer bei =no.
Egal ob ich den Screenlocker selbst aktiviere oder per
loginctl lock-session <session_nr>
Ich verwende xss_lock mit i3lock, dieser sollte eigentlich entsprehende dbus-Nachrichten senden, so daß systemd/loginctl das eigentlich mitbekommen müßten.
Evtl. ein Bug im aktuellen systemd-logind?
Ich habe mal ein bißchen gesucht und u.a. diesen alten Post gefunden, in dem jemand das funktionierende LockedHint demonstriert:
https://www.linuxquestions.org/questions/slackware-14/elogind-and-lock-before-suspend-4175687734/#post6202027
Das sogar mittels loginctl eigenem Lock-Mechanismus.
Evtl. können das ja mal ein paar weitere User testen (mit anderen DEs, Screenlockern) ob es generell nicht funktioniert.
Auf einer weiteren TTY-Sitzung kann per obigen Kommandos der Wert für die "gesperrte" Session abgefragt werden.
//Edit: falschen Befehl session-status zu show-session korrigiert.
Funktioniert bei mir unter Gnome per
loginctl show-session 3 -p LockedHint
Allerdings nur mit show-session
, nicht mit session-status
.
- Bearbeitet
Ups, falschen Befehl erwischt...
show-session natürlich...
Also unter Gnome klappts mal wieder.
Funktioniert das bei dir auch mittels loginctl lock-session?
//Edit: Aber wahrscheinlich blöde Frage, es wird ja der gleiche Sreenlocker angestoßen...)