Wohin Hybrid aussetzen?

16

Was ist mit dem Hybrid-Suspend passiert, bei dem sowohl RAM als auch Festplatte gesperrt wurden? Es war vor ein paar Jahren ein bisschen heiß, aber es scheint, als wäre es fallengelassen worden. Gibt es eine Möglichkeit, dies in den neuesten Ubuntu-Versionen einzurichten?

Ryan C. Thompson
quelle
Was ist der Sinn von Hybrid-Suspend?
LassePoulsen
5
Hybrid-Suspend ist, wenn Ihr Computer gleichzeitig Suspend-to-Disk und Suspend-to-RAM ausführt. So erhalten Sie die schnelle Wiederaufnahmegeschwindigkeit von Suspend-to-RAM, verlieren aber nicht Ihre Sitzung, wenn Sie Strom verlieren oder die Batterie leer ist. Im Prinzip ist es also besser, als nur zwischen Suspend-to-RAM und Suspend-to-Disk zu wechseln. Deshalb frage ich mich, warum es aus den Feature-Listen moderner Linux-Distributionen verschwunden zu sein scheint.
Ryan C. Thompson
Auf der Registerkarte "Batterieleistung" im Energie-Manager wird die Option "Wenn die Batterieleistung kritisch niedrig ist: Ruhezustand" angezeigt. Dies beseitigt möglicherweise die Notwendigkeit einer Hybridunterbrechung.
Jorge Castro
1
@Jorge: Ein weiterer Anwendungsfall besteht darin, dass Sie den Laptop-Akku aus irgendeinem Grund entfernen (oder den Computer aus der Steckdose ziehen müssen). Wenn Sie in Hybrid-Suspend sind, spielt es keine Rolle. Wenn Sie sich im regulären Suspend-to-RAM-Modus befinden, müssen Sie den Vorgang fortsetzen und anschließend auf der Festplatte unterbrechen.
Ryan C. Thompson

Antworten:

9

Es gibt ein Programm, das aufgerufen wird und pm-is-supportedverwendet werden kann, um die Suspend-Fähigkeiten des Systems zu überprüfen.

Auf meinem System sind hier die Ergebnisse (0 bedeutet unterstützt, 1 bedeutet nicht unterstützt):

$ pm-is-supported --suspend ; echo $?  
0  
$ pm-is-supported --hibernate ; echo $?
0
$ pm-is-supported --suspend-hybrid ; echo $?
1

Die Manpage von pm-is-supportedschlägt vor, dass s2both Hybrid Suspend unterstützt. Ich habe s2both installiert, das im uswsuspPaket enthalten ist, es meldet jedoch weiterhin, dass Hybrid Suspend nicht unterstützt wird. Ich habe die Vermutung, dass ein Neustart erforderlich ist, da das initrd-Image aktualisiert wurde. Ich starte neu und melde mich zurück. Wünsch mir Glück .

Update: Beim Ausführen wurde sudo s2bothder Snapshot korrekt auf die Festplatte geschrieben und im RAM angehalten. Als ich jedoch eine Taste drückte, um den Neustart des Systems fortzusetzen, wurde der Snapshot nicht von der Festplatte wiederhergestellt.

Ich denke, mit dem uswsuspPaket in Ubuntu stimmt etwas nicht . Das splashyPaket (das von verwendet wird uswsusp) weist einen Dateikonflikt auf, lsb-baseder seit Jaunty nicht behoben wurde ( https://bugs.launchpad.net/ubuntu/+source/splashy/+bug/328089 ).

Versuchen Sie es mit sudo s2bothoder sudo pm-suspend-hybridund prüfen Sie, ob es auf Ihrem System funktioniert.

Li Lo
quelle
Ich habe versucht, s2bothdie gleichen Ergebnisse wie Sie zu erzielen. Ich habe auch versucht, zu einem Tuxonice-Kernel zu wechseln und pm-utils anzuweisen, Tuxonice zu verwenden, und dann den Tuxonice-Hybrid-Suspend-Via zu verwenden pm-suspend-hybrid. Der Bildschirm wurde nie eingeschaltet, als ich fortfuhr, aber Strg + Alt + Entf funktionierte beim Neustart. Ich denke, es hat tatsächlich funktioniert, aber der Bildschirm konnte nicht eingeschaltet werden.
Ryan C. Thompson
Ich denke, es wird nicht unterstützt.
Ryan C. Thompson
0

Diese Frage taucht bei Google so oft auf, dass ich finde, dass es sich lohnt, sie zu beantworten. Li erklärt Hybrid Suspend perfekt. S2both benötigt jedoch uswsusp (also kein In-Kernel-Suspend), und pm-hsuspend-hybrid macht das Falsche, weil es nicht gewartet wird [1].

So aktivieren Sie den Hybrid-Suspend nahtlos:

  • Überschreibe den "suspend" -Aufruf, um einen "hybrid_suspend" in pm-utils durchzuführen.
    % cat /etc/pm/config.d/00-use-suspend-hybrid
    # Verwenden Sie immer suspend_hybrid anstelle von suspend
    if ["$ METHOD" = "suspend"]; dann
        METHODE = suspend_hybrid
    fi
  • Erstellen Sie ein Backup von / usr / lib / pm-utils / pm-functions
  • Laden Sie den Patch hier herunter : https://bugs.freedesktop.org/attachment.cgi?id=68712
    • Dieser Patch aktiviert Hybrid-Suspend, falls verfügbar (dh auf Kernels 3.6+)
  • Wenden Sie es entweder mit 'patch -p0' an oder führen Sie es manuell zusammen, wenn dies fehlschlägt

Diese Methode funktioniert bei meinem Sony Vaio SVS.

PS: Den Patch hier reproduzieren, falls die Datei in Zukunft gelöscht wird:

diff --git a / pm / pm-functions.in b / pm / pm-functions.in
--- a / pm / pm-functions.in
+++ b / pm / pm-functions.in
@@ -316,8 +316,28 @@ if [-z "$ HIBERNATE_MODULE"] && \
    {
        [-n "$ {HIBERNATE_MODE}"] && \
        grep -qw "$ {HIBERNATE_MODE}" / sys / power / disk && \
+ HIBERNATE_MODE_SAVE = $ (cat / sys / power / disk) && \
+ HIBERNATE_MODE_SAVE = "$ {HIBERNATE_MODE_SAVE ## * [}" && \
+ HIBERNATE_MODE_SAVE = "$ {HIBERNATE_MODE_SAVE %%] *}" && \
        echo -n "$ {HIBERNATE_MODE}"> / sys / power / disk
        echo -n "disk"> / sys / power / state
+ RET = $?
+ echo -n "$ HIBERNATE_MODE_SAVE"> / sys / power / disk
+ "$ RET" zurückgeben
+}
+ fi
+
+ # für Kernel, die Suspend für beide unterstützen (dh Hybrid-Suspend)
+ # seit Kernel 3.6
+ if [-z "$ SUSPEND_HYBRID_MODULE"] && \
+ [-f / sys / power / disk] && \
+ grep -q disk / sys / power / state && \
+ grep -q suspend / sys / power / disk; dann
+ SUSPEND_HYBRID_MODULE = "Kernel"
+ do_suspend_hybrid ()
+ {
+ HIBERNATE_MODE = "Aussetzen"
+ do_hibernate
    }
 fi

Quellen:

[1]: pm-utils ist älter als der in Kernel 3.6+ verfügbare Hybrid-Suspend. Was pm-suspend-hybrid tatsächlich tut, ist, Ihren Computer standardmäßig für 15 Minuten in den Ruhezustand zu versetzen und ihn dann in den Ruhezustand zu versetzen.

Rohan Dhruva
quelle