Wie's aussieht, kommen da mehrere Probleme zusammmen. Ich finde Systemd in Bezug auf die Suspend/Hibernate-Angelegenheiten ohnehin eine Heimsuchung, egal ob bei Gnome oder Xfce, Arch oder Debian. Pain in the ass.
Die "ignore"-Einträge in
logind.conf greifen augenscheinlich nur beim Suspend (Xfce4=Bereitschaft).
Sobald Hibernate (Xfce4=Ruhezustand) ausgewählt ist, hängt sich
systemd-sleep in den Vorgang rein. Im Journal zu verfolgen:
$ journalctl --since=today | grep -i sleep
Das entspricht "
systemctl hibernate" und hat bei mir den gleichen unerwünschten Effekt: Der Rechner schaltet komplett aus und muss komplett neu hochgefahren werden. "
systemctl hybrid-sleep" funktioniert allem Anschein nach ordnungsgemäß. "
systemctl suspend" funtioniert auch, aber nicht in Zusammenhang mit dem Event "
lid-close".
Beim Rumprobieren bin ich dann gestern Abend auf noch ein Problem gestoßen. Der Suspend beim lid-close funktionierte nun plötzlich auch nicht mehr:
Der xfce4-power-manager steht nach der Installation standardmäßig bei lid-close auf "
Bereitschaft" und läuft mit der entsprechend eingestellten
logind.conf zunächstmal einwandfrei.
Ändert man die Einstellung im Power-Manager beispielsweise auf "
Bildschirm sperren", passiert das hier:
$ killall xfce4-power-manager && xfce4-power-manager --debug
TRACE[xfpm-manager.c:643] xfpm_manager_inhibit_sleep_systemd(): Inhibiting systemd sleep: handle-power-key:handle-suspend-key:handle-hibernate-key:handle-lid-switch
TRACE[xfpm-manager.c:439] xfpm_manager_lid_changed_cb(): LID close event: ((XfpmLidTriggerAction) LID_TRIGGER_LOCK_SCREEN)
startxfce4 - Xfce Session
startxfce4 - Xfce Session
startxfce4 - Xfce Session
TRACE[xfpm-manager.c:472] xfpm_manager_lid_changed_cb(): LID opened: ((XfpmLidTriggerAction) LID_TRIGGER_LOCK_SCREEN)
Wesentlich ist die Inhibiting-Ausgabe. Die erfasst – wie gewünscht – "
handle-lid-switch". Stellt man anschließend aber wieder zurück auf "
Bereitschaft", passiert das hier:
TRACE[xfpm-xfconf.c:202] xfpm_xfconf_property_changed_cb(): Property modified: /xfce4-power-manager/logind-handle-lid-switch
TRACE[xfpm-manager.c:643] xfpm_manager_inhibit_sleep_systemd(): Inhibiting systemd sleep: handle-power-key:handle-suspend-key:handle-hibernate-key
TRACE[xfpm-xfconf.c:202] xfpm_xfconf_property_changed_cb(): Property modified: /xfce4-power-manager/lid-action-on-ac
Die Unterdrückung für den "
handle-lid-switch" fehlt. Ein Bug im xfce4-power-manager. Die Folge ist, dass der Deckelschalter für die Bereitschaft nicht mehr greift und weder durch
logind.conf noch eine andere Konfigurationsdatei wiederzubeleben ist. Mir ist das jedenfalls nicht mal mit einem zurückgespielten Backup von
~/.config und
/etc gelungen.
Als Notbehelf für das Hibernate- und Lid-Close-Problem habe ich nun den
/usr/lib/systemd/system/systemd-hibernate.service umgebogen:
ExecStart=/usr/lib/systemd/systemd-sleep hybrid-sleep
Im xfce4-power-manager habe ich für's Schließen des Deckels anschließend "
Ruhezustand" gewählt. Bis jetzt läuft das auf diese Weise. Mal abwarten.
Gruß, Werner