Hibernation/Suspend deaktivieren

Hallo zusammen,

ich nutze openSuse für meinen Homeserver. Nachdem ich vor ein paar Tagen das Upgrade von 15.1 auf 15.2 gemacht habe, scheint sich das System nach einer gewissen Zeit automatisch in den Suspend- oder Hibernate-Modus zu versetzen. Und dabei auch abzustürzen.

Aus /var/log/messages (systemctl hatte ich noch nicht persistent, bin ich dabei, evtl. kann ich da bald mehr Input nachliefern)

2020-12-30T16:24:45.221118+01:00 linux-4uuc systemd-logind[1109]: Power key pressed.
2020-12-30T16:24:45.221794+01:00 linux-4uuc systemd-logind[1109]: Powering Off...
2020-12-30T16:24:45.222280+01:00 linux-4uuc systemd-logind[1109]: System is powering down.
2020-12-30T16:24:45.236535+01:00 linux-4uuc systemd[1]: Removed slice system-systemd\x2dhibernate\x2dresume.slice.

Auf einem Desktop möglicherweise ein erwünschtes Verhalten. Auf meinem Homeserver eher nicht :wink: …schon garnicht mit Absturz.

Ich habe keinen Weg gefunden dieses Verhalten abzuschalten. Wo kann ich Hibernation/Suspend deaktivieren? Weder in Yast noch in KDE -> Enegy Saving oder mit Internetsuche habe ich auf anhieb eine entsprechende Option gefunden. Ich bin etwas verzweifelt. Kann mir jemand weiterhelfen?
Danke euch Voraus!

Grüße
Mike

Das System sagt also das jemand die Power Taste gedrückt hat. Ist das richtig oder nicht?

Definitiv nicht möglich, dass der gedrückt wurde. Wäre nur denkbar dass er mechanisch defekt ist - Aber auch das wäre ein merkwürdiger Zufall.
Falls Du aber eine Idee hast wie man auch das Herunterfahren beim Drücken des Power-Buttons verhindern kann würde ich das ebenfalls probieren.

Eine Bemerkung der dir nicht helft: bei mir ist das nicht so. Auch wenn keiner mehr angemeldet ist bleibt das Ding ewig gehen. Nur wenn jemand dann kurz die Taste druckt haltet er (oder nach 23:00 Uhr wenn ein Cron Run ein Shutdown tut).

Also, irgends muß was zu finden sein.

KDE Plasma Systemeinstellungen → Bereich „Hardware” → Energieverwaltung → „Sitzung in den Standby-Modus versetzen” …

  • Und, gleiche Stelle – „Knopfereignisbehandlung
    ” …

Danke für den Tipp, habe ich jetzt eingestellt. Ich vermute es muss aber immer der Benutzer angemeldet sein, damit die Einstellung zieht.
Gibt es auch eine Möglichkeit das systemweit zu setzen?

Wenn Du keine Energieverwaltung benötigst, kannst Du upower deinstallieren

# zypper rm upower

und powerdevil (KDE) deaktivieren indem Du /etc/xdg/autostart/powerdevil.desktop entfernst (vorher sichern!).

Viele Grüße

susejunky

Vielen Dank!

Es wird mir neu dass, irgendwas in der Linux Kernel automatisch – per Schaltuhr – der Maschine in Bereitschaftsmodus oder Ruhezustand schickt …

  • Normalerweise, nur ein eingeloggte Benutzersitzung ist für die Systemverhalten zuständig …

Wo kein Mensch direkt an die Maschine angemeldet ist, es ist mir unbekannt dass, ein Systemprozess wird die Maschinenzustand ändern …

  • Der Linux Kernel kann nur mittels ‘/sys/power/state’ und ‘/sys/power/mem_sleep’ beeinflusst werden …

Aber, in GitHub, ein “Autopoweroff” Paket ist angeboten – nicht in die openSUSE Depot/Fundgrube …

  • Hat irgendjemand das Paket auf dem Server installiert?

Ich kan nur melden wie es bei mir geht.

Wenn kein angemeldeter Benutzer da ist, bleibt das System ohne weiteres weiter funktionieren.

Ich habe extra ein cron Script das zwischen 23:00 und 06:00 jede fünf Minuten testet ob keiner angemeldet ist und ob ein anderes System im Hause (das mein System gelegentlich als NFS oder Print Server braucht) noch über ping erreichbar ist. Wenn nicht, dann shutdown. Also nichts automagisch durch Kernel oder so was.

Aus Sicherheitsgründen sollte der Homeserver mit “UEFI Secure Boot” starten.
https://www.thomas-krenn.com/de/wiki/UEFI_Secure_Boot

Mit “UEFI Secure Boot” unterstützt Linux aus Sicherheitsgründen (aktuell noch) kein Hibernation (ACPI S4).
https://www.golem.de/news/uefi-secure-boot-in-linux-ohne-hibernation-1301-97237.html

Bleibt dann nur noch Suspend (ACPI S3).
https://wiki.ubuntuusers.de/Archiv/Energiesparmodi_mit_ACPI/ Gemäss:
https://www.kernel.org/doc/html/v5.3/admin-guide/pm/sleep-states.html

kann Hibernation durch:

su

echo disk > /sys/power/state

ausgelöst werden. Für die Auslösung von Suspend gibt es ein ähnliches Verfahren.

Gemäss

man systemd-logind

beachtet systemd-logind Polkit/PolicyKit.
https://de.wikipedia.org/wiki/Polkit
Demnach sollte ein Suspend+Hibernation+Shutdown von systemd-logind via Polkit/PolicyKit unterbunden werden können. Für mehr Informationen zu Polkit/PolicyKit siehe das Sicherheitshandbuch von OpenSUSE Leap 15.2, Kapitel “19 - Authorization with PolKit”.
https://doc.opensuse.org/de/

Zudem sollte der Inhalt der UPower-Konfiguratonsdatei /etc/UPower/UPower.conf kontrolliert werden. => Was bereits bekannt sein sollte…