Indirekter Hybridschlaf
Dies ist die ältere Methode: zuerst anhalten und dann nach einer Verzögerung (standardmäßig 15 Minuten) in den Ruhezustand versetzen. Verwenden Sie dies mit einem Linux-Kernel vor 3.6 oder wenn Sie möchten, verbraucht er nach 15 Minuten keinen Strom mehr.
Füge die Datei hinzu /etc/pm/config.d/00-use-suspend-hybrid
:
# Always use suspend_hybrid instead of suspend
if [ "$METHOD" = "suspend" ]; then
METHOD=suspend_hybrid
fi
# The delay after which hibernation gets triggered (default: 900 seconds, 15 minutes):
PM_HIBERNATE_DELAY=900
Möglicherweise möchten Sie sicherstellen, dass die Hybridmethode auf Ihrem System über den folgenden Code unterstützt wird. Wenn es "0" sagt, sollte es funktionieren:
sudo pm-is-supported --suspend-hybrid && echo $?
Echtes Hybrid-Suspending mit Linux 3.6+
Wenn Sie einen Linux 3.6-Kernel haben, können Sie den folgenden verwenden, der von Anfang an sowohl für die Festplatte als auch für den Arbeitsspeicher inaktiviert wird.
Füge die Datei hinzu /etc/pm/config.d/00-use-suspend-hybrid
:
# WORKAROUND: always set the default hibernate mode first (normal mode)
# (not required if you have the patch mentioned by Rohan below (http://askubuntu.com/a/344879/169))
HIBERNATE_MODE=platform
# Always use hibernate instead of suspend, but with "suspend to both"
if [ "$METHOD" = "suspend" ]; then
METHOD=hibernate
HIBERNATE_MODE=suspend
fi
# Make sure to use the kernel's method, in case uswsusp is installed etc.
SLEEP_MODULE=kernel
Dadurch wird das Image immer auf die Festplatte geschrieben und anschließend in den RAM-Speicher verschoben. Dies hat den Vorteil, dass die Wiederherstellung immer schnell erfolgt (solange der Akku nicht leer ist) und der Computer für kurze Zeit nicht aufwacht (nach PM_HIBERNATE_DELAY). für echt überwintern.
Der Nachteil ist, dass der Vorgang länger dauert (weil er immer auf der Festplatte im Ruhezustand ist) und dass der Akku auf lange Sicht leer wird (z. B. nach 12 Stunden).
resume
Argument in/etc/default/grub.conf
. Auch als nvidia user musste ich einstellennomodeset
. So resultierende gräbt Eintrag in meinem Fall ist:GRUB_CMDLINE_LINUX_DEFAULT="nomodeset resume=UUID=uuidofswappartition"
. Vergessen Sie nichtgrub-update
. Und auch einige Module müssen entladen werden, also erstellte Datei/etc/pm/config.d/00-unload_modules
mit ZeileSUSPEND_MODULES="ath5k r8169"
und nur um sicherzugehen, dass ich auch 00-use-suspend-hybrid in10-use-suspend-hybrid
Ubuntu 18.04 eine zeitgesteuerte Option
In Ubuntu 18.04 gibt es eine neue zeitgesteuerte Option. In
systemd
ist ein neuer Modus verfügbarsuspend-then-hibernate
. Dies beginnt mit dem Ruhemodus und geht nach einer festgelegten Zeit in den Ruhezustand über.Im
hybrid-sleep
Modus wird der Ruhezustand nur dann wirksam, wenn der Akku sehr schwach ist und das System heruntergefahren wird.Um diese Funktion zu verwenden, müssen Sie eine Datei
/etc/systemd/sleep.conf
mit dem nächsten Inhalt erstellen :Dies wird nach 1 Stunde Schlaf aus dem Schlaf in den Winterschlaf gehen. Sie können bearbeiten
HibernateDelaySec
, um die Verzögerung in den Ruhezustand zu ändern.Testen Sie zunächst mit systemd, ob Suspend-Then-Hibernate funktioniert
Öffnen Sie ein Terminal, indem Sie Ctrl+ Alt+ drücken Tund Folgendes eingeben:
Wenn es funktioniert, mach es dauerhaft.
Öffnen Sie die Datei
/etc/systemd/logind.conf
mit Ihrem bevorzugten Editor. Sie müssen Ihre administrative Macht durch aufzurufensudo
,gksudo
oderpkexec
diese Datei bearbeiten.Finde die zwei Zeilen:
Beachten Sie, dass diese Zeilen mit
#
vor ihnen auskommentiert sind . Diessuspend
ist die Standardaktion. Entfernen Sie die#
und Veränderungsuspend
zususpend-then-hibernate
in diesen beiden Linien , so dass sie wie folgt aussehen:Speicher die Datei. Melden Sie sich
logind
mit dem folgenden Befehl ab und wieder an oder starten Sie den Dienst neu :Warnung! Ihre Benutzersitzung wird neu gestartet
Quelle: Lid Closed Suspend, dann Hibernate
Ubuntu 16.04 und höher
Die Lösung von blueyed für Real Hybrid Suspending mit Linux 3.6+ hat bei mir nicht funktioniert. Ich vermute, das liegt daran, dass Ubuntu 16.04
systemd
die Datei verwendet und nicht verwendet/etc/pm/config.d/00-use-suspend-hybrid
.Testen Sie zunächst mit systemd, ob der Ruhezustand und der Hybridschlaf funktionieren
Öffnen Sie ein Terminal, indem Sie Ctrl+ Alt+ drücken Tund Folgendes eingeben:
Dadurch sollte Ihr Computer in den Ruhezustand versetzt werden. Geben Sie Folgendes ein, um den Hybridschlaf zu versuchen:
Wenn es funktioniert, mach es dauerhaft.
Öffnen Sie die Datei
/etc/systemd/logind.conf
mit Ihrem bevorzugten Editor. Sie müssen Ihre administrative Macht durch aufzurufensudo
,gksudo
oderpkexec
diese Datei bearbeiten.Finde die zwei Zeilen:
Beachten Sie, dass diese Zeilen mit
#
vor ihnen auskommentiert sind . Diessuspend
ist die Standardaktion. Entfernen Sie die#
und Veränderungsuspend
zuhybrid-sleep
in diesen beiden Linien , so dass sie wie folgt aussehen:Speicher die Datei. Melden Sie sich ab und wieder an.
Hinweis:
suspend
oderhybrid-sleep
gibt es eine dritte Optionhibernate
.Suspend
Zahnradmenü wird der Computer in den normalen Energiesparmodus und nicht in den Hybrid-Energiesparmodus versetzt.Quelle: https://superuser.com/questions/719447/how-to-use-systemd-hybrid-sleep-instead-of-suspend-under-gnome-in-linux
ich hoffe das hilft
quelle
In 12.04 habe ich festgestellt, dass beim Auslösen des Ruhezustands (mithilfe von
PM_HIBERNATE_DELAY=XX
) das Fortsetzen / Auftauen der Shell-Skripte die Variable grub recordfail nicht deaktiviert. Daher bootet grub nicht automatisch.Das Zeitlimit ist auf -1 festgelegt und wartet auf die Benutzerauswahl. Ich vermute, dies erfordert einige Bearbeitung von Skripten in
/etc/pm/sleep.d/10_grub-common
. Ich bin ein Neuling, daher habe ich mich leider nicht daran gemacht, die genaue Veränderung herauszufinden.quelle
Diese Frage taucht bei Google so oft auf, dass ich finde, dass es sich lohnt, sie zu beantworten. Die hier beschriebene Methode ist (imo) kein Hybrid-Suspend. Es ist "Ruhezustand nach X Minuten in Suspend". True Hybrid Suspend schreibt Ihren RAM auf die Festplatte und wechselt dann in den Energiesparmodus (Sleep-Modus). Während es länger dauert, wird der Vorgang sofort fortgesetzt, solange der Akku des Geräts noch vorhanden ist. Andernfalls wird der Vorgang von der Festplatte fortgesetzt. Dieses Verhalten wird von den meisten als hybrider Ruhezustand bezeichnet und standardmäßig in neueren Windows- und Mac-Laptops verwendet.
So aktivieren Sie das echte Hybrid-Suspend:
Diese Methode funktioniert bei meinem Sony Vaio SVS.
PS: Den Patch hier reproduzieren, falls die Datei in Zukunft gelöscht wird:
Quellen:
quelle
Es gibt eine andere Lösung, bei der keine Datei in config.d hinzugefügt wird, sondern nur wakealarm in / sys / class / rtc / rtc0. Verwenden Sie veralteten Code in pm-Funktionen (/ usr / lib / pm-utils), nachdem die Kommentare # nicht direkt vom Kernel unterstützt werden ... (weil der aktuelle Kernel (nach 3.6 etwas) dies direkt unterstützt). Setzen Sie diesen Code zurück und geben Sie do_suspend () anstelle von do_suspend_hybrid () ein und verwenden Sie den Patch für pm-Funktionen (bis sie ihn reparieren).
Veralteter Code (aussetzen und in den Ruhezustand versetzen, wenn suspend_hybrid aufgerufen wird):
Empfohlen. Noch einfacher ist es, uswsusp zu verwenden und gleichzeitig den Nutzen von s2both zu maximieren, dh s2both beim Suspendieren. Fügen Sie den wiederhergestellten Code in den Teil do_suspend () des Moduls uswsusp (/usr/lib/pm-utils/module.d) ein.
Zurückgesetzter Code (suspend_hybrid, wenn suspend aufgerufen wird):
Mit uswsusp können wir den Fortschritt von Suspend / Hibernate und den umgekehrten Prozess im Text sehen, selbst wenn wir die Rücktaste drücken, um ihn abzubrechen. Ohne uswsusp wird Suspend / Hibernate nur ärgerlich angezeigt bzw. ausgeblendet, insbesondere wenn Wakealarm ausgelöst wird und Hibernate ausgeführt wird (s2disk in uswsusp). Stellen Sie die Ruhezeit vor dem Ruhezustand wie gewohnt in der pm-functions-Datei ein.
Hier ist der uswsusp-Mod: (Denken Sie daran, dass dieses Modul von pm-Funktionen aufgerufen wird, damit die eingefügten Variablen identisch sind.)
quelle
Die Antwort von user68186 für Ubuntu 16.04 hat bei mir nicht funktioniert. Die Lösung hier war jedoch.
Stellen Sie zunächst sicher, dass der Ruhezustand funktioniert. Dann
In meinen Energieeinstellungen werden diese Optionen als leer angezeigt, funktionieren jedoch wie beabsichtigt.
quelle
In Ubuntu 18.04 ist es viel einfacher. In systemd gibt es einen neuen Modus Suspend- Then -Hibernate . Um diese Funktion zu verwenden, müssen Sie eine Datei /etc/systemd/sleep.conf mit dem nächsten Inhalt erstellen :
Dann können Sie es per Befehl testen:
(Sie können HibernateDelaySec bearbeiten, um die Verzögerung für den Ruhezustand zu verringern.) Wenn alles funktioniert, können Sie die Lid Close Action ändern. Dazu müssen Sie die Datei /etc/systemd/logind.conf bearbeiten
Sie müssen die Option HandleLidSwitch = finden, das Kommentarzeichen entfernen und zu HandleLidSwitch = suspend-then-hibernate wechseln . Dann müssen Sie den logind-Dienst mit dem nächsten Befehl neu starten (wirning! Ihre Benutzersitzung wird neu gestartet):
Das ist alles! Jetzt können Sie diese schöne Funktion verwenden.
quelle