Ich bin gerade auch dabei hier dazuzulernen.
Um deine Frage zu beantworten ist dieser Link interssant: https://man.archlinux.org/man/systemd-sleep.8
Ich verstehe das so:
Es gibt den Schlaf im Ram und den Tiefschlaf im Swap. Diese Systemzustände müssen vom kernel und systemd-services verwaltet und in einander überführt werden.
Der Benutzer benötigt eigentlich nur die Befehle systemctl suspend
bzw. systemctl hibernate
.
Zum konfigurieren was wann wohin geschrieben wird, kann im [Sleep]-Abschnitt von /etc/systemd/sleep.conf oder in einem sleep.conf.d-Ordner veranlasst werden.
Hybrid bedeutet sowohl Ram als auch Swap.
Zum besseren Verständnis hab ich den Text mal mit deepl übersetzen lassen:
systemd-suspend.service ist ein Systemdienst, der von suspend.target hinzugezogen wird und für das eigentliche Suspendieren des Systems zuständig ist. In ähnlicher Weise wird systemd-hibernate.service von hibernate.target hinzugezogen, um den eigentlichen Ruhezustand auszuführen. Schließlich wird systemd-hybrid-sleep.service von hybrid-sleep.target hinzugezogen, um einen hybriden Ruhezustand mit System-Suspend auszuführen, und von suspend-then-hibernate.target hinzugezogen, um System-Suspend mit einer Zeitüberschreitung auszuführen, die später den Ruhezustand aktivieren wird.
Unmittelbar vor dem Eintritt in System Suspend und/oder Hibernation führt systemd-suspend.service (bzw. die anderen genannten Units) alle ausführbaren Programme in /usr/lib/systemd/system-sleep/ aus und übergibt ihnen zwei Argumente. Das erste Argument ist "pre", das zweite entweder "suspend", "hibernate", "hybrid-sleep" oder "suspend-then-hibernate", abhängig von der gewählten Aktion. Eine Umgebungsvariable namens "SYSTEMD_SLEEP_ACTION" wird gesetzt und enthält die Schlafaktion, die gerade verarbeitet wird. Dies ist vor allem für "suspend-then-hibernate" hilfreich, wo der Wert der Variable "suspend", "hibernate" oder "suspend-after-failed-hibernate" ist, wenn der Ruhezustand fehlgeschlagen ist. Unmittelbar nach dem Verlassen von Suspend und/oder Hibernate werden dieselben ausführbaren Dateien ausgeführt, aber das erste Argument ist jetzt "post". Alle ausführbaren Dateien in diesem Verzeichnis werden parallel ausgeführt, und die Ausführung der Aktion wird erst fortgesetzt, wenn alle ausführbaren Dateien beendet sind.
Beachten Sie, dass Skripte oder Binärdateien, die in /usr/lib/systemd/system-sleep/ abgelegt werden, nur für den lokalen Gebrauch gedacht sind und als Hacks betrachtet werden sollten. Wenn Anwendungen auf das Anhalten und Wiederaufnehmen des Systems reagieren wollen, sollten sie lieber die Inhibitor-Schnittstelle[1] verwenden.
Beachten Sie, dass systemd-suspend.service, systemd-hibernate.service, systemd-hybrid-sleep.service und systemd-suspend-then-hibernate.service niemals direkt ausgeführt werden sollten. Stattdessen sollten Sie systemd-sleep mit einem Befehl wie systemctl suspend oder systemctl hibernate auslösen.
Intern gibt dieser Dienst eine Zeichenkette wie "mem" in /sys/power/state aus, um den eigentlichen Systemruhezustand auszulösen. Was genau wohin geschrieben wird, kann im [Sleep]-Abschnitt von /etc/systemd/sleep.conf oder einer sleep.conf.d-Datei konfiguriert werden. Siehe systemd-sleep.conf(5).
Übersetzt mit www.DeepL.com/Translator (kostenlose Version)