Aktivieren des Ruhezustands

424

In Ubuntu 12.04 und neuer wurde der Ruhezustand im PolicyKit standardmäßig deaktiviert . Wie kann ich dies wieder aktivieren?

Dima
quelle
11
Warum haben sie es überhaupt deaktiviert? Hat es etwas mit Audioverlust zu tun?
Ali
2
für 13.10 siehe askubuntu.com/questions/361734/…
Rogerdpack
4
Um Alis Frage zu beantworten, wurde es deaktiviert, da viele Leute Probleme mit dem Ruhezustand hatten, weil sie Probleme mit ihren Swap-Partitionen hatten. In Ubuntu 14.10 Utopic Unicorn gibt es jedoch Pläne, den Ruhezustand mit einem Knopf und allem für immer zum Laufen zu bringen.
John Scott
1
Für den 15.04. Benötigen
Wilf
Der Ruhezustand funktioniert möglicherweise nicht, wenn die btrfsPartition verwendet wird. Siehe hier askubuntu.com/questions/768136/…
Anwar

Antworten:

334

Wenn diese Antwort in Ubuntu 13.10 nicht funktioniert, finden Sie hier eine alternative Antwort


Sie können offizielle Dokumentation folgen hier . Der Ruhezustand wurde am 12.04 für Computer deaktiviert , die nicht für Ubuntu zertifiziert sind.

Um den Ruhezustand zu aktivieren, müssen Sie testen, ob er ordnungsgemäß funktioniert, indem Sie ihn sudo pm-hibernatein einem Terminal ausführen . Das System versucht, in den Ruhezustand zu wechseln. Wenn Sie das System erneut starten können, können Sie mehr oder weniger sicher eine Außerkraftsetzung hinzufügen.

Beginnen Sie dazu mit der Bearbeitung:

sudo nano /etc/polkit-1/localauthority/50-local.d/com.ubuntu.enable-hibernate.pkla

Füllen Sie es mit diesem:

[Re-enable hibernate by default]
Identity=unix-user:*
Action=org.freedesktop.upower.hibernate
ResultActive=yes

Oder in 14.04 und später:

[Re-enable hibernate by default for login1]
  Identity=unix-user:*
  Action=org.freedesktop.login1.hibernate
  ResultActive=yes

[Re-enable hibernate for multiple users by default in logind]
  Identity=unix-user:*
  Action=org.freedesktop.login1.hibernate-multiple-sessions
  ResultActive=yes

Sparen Sie durch Drücken der Taste Ctrl- Odann enterund dann nano verlassen durch Drücken Ctrl- X.

Neustart und Ruhezustand ist wieder da!

Oder killall unity-panel-serviceeinfach ausführen , um das Menü zurückzusetzen.

Einige Benutzer müssen dann ausgeführt werden sudo update-grub, damit die Option für den Ruhezustand im Energiemenü verfügbar ist. Einige Benutzer müssen sich möglicherweise mindestens abmelden und dann anmelden, damit sie im (oberen rechten) Hauptmenü angezeigt werden.

Dima
quelle
1
Diese Lösung funktioniert auch in der GNOME-Shell 3.4 mit der Erweiterung "Alternatives Statusmenü".
Robert Wohlfarth
1
@ cuda.geek yep, ich werde mich nicht mehr um die ganze GUI-Sache kümmern, die Eingabe dieses kleinen Befehls ist schneller (noch schneller mit Alias ​​...) :)
Aditya MP
15
"Ja wirklich?" Ist dies die benutzerfreundlichere Version zum Ändern einer so einfachen Einstellung? Es wird von Tag zu Tag hässlicher ...
Esteban
1
Tolles Tutorial! Ich hatte von Windows zu Ubuntu gewechselt und es geliebt! Ihr Leute seid großartig :)
gfivehost
8
Ich glaube nicht, dass das Estebans Punkt war. Es sollte keine arkane Magie erforderlich sein, um den Ruhezustand zu aktivieren. Denken Sie an etwas im Verzeichnis / etc / default, in dem Sie eine Zeile von enable_hibernate = "false" in enable_hibernate = "true" ändern. Stellen Sie sich ein Dialogfeld mit System-> Einstellungen vor, in dem Sie es nur mit der Warnung einschalten können, dass dies möglicherweise nicht funktioniert und Ihr Computer möglicherweise nicht ordnungsgemäß aufwacht.
Scott Marlowe
47

Zuerst müssen Sie testen, ob Ihr Computer den Ruhezustand unterstützt. Teste es mit dem Befehl:

 sudo pm-hibernate
 # or for newer Ubuntus like 17.04
 sudo systemctl hibernate

Ubuntu 16.04 und höher

Zum Aktivieren der Benutzeroberfläche müssen Sie Folgendes ausführen sudo nano /etc/polkit-1/localauthority/50-local.d/com.ubuntu.enable-hibernate.pklaund ausfüllen:

[Re-enable hibernate by default in upower]
Identity=unix-user:*
Action=org.freedesktop.upower.hibernate
ResultActive=yes

[Re-enable hibernate by default in logind]
Identity=unix-user:*
Action=org.freedesktop.login1.hibernate;org.freedesktop.login1.hibernate-multiple-sessions
ResultActive=yes

Ubuntu 14.04 und 15.04

Um die Benutzeroberfläche zu aktivieren, müssen Sie sudo nano /etc/polkit-1/localauthority.conf.d/52-enable-hibernation.confUbuntu 14.04 und 15.04 ausführen und Folgendes eingeben:

[Re-enable hibernate by default]
  Identity=unix-user:*
  Action=org.freedesktop.upower.hibernate
  ResultActive=yes

[Re-enable hibernate by default for login1]
  Identity=unix-user:*
  Action=org.freedesktop.login1.hibernate;org.freedesktop.login1.hibernate-multiple-sessions
  ResultActive=yes

Es gibt mehrere Zeilengruppen, da Sie möglicherweise mehrere Benutzer haben (dies ist also nicht von mehreren Benutzern oder einem höheren Benutzer als Manager abhängig, anstatt sich anzumelden1).

ps: offizielle neueste dokumentation https://help.ubuntu.com/stable/ubuntu-help/power-hibernate.html

morhook
quelle
1
Es funktionierte für mich unter Ubuntu 15.04 , während die ursprünglich akzeptierte Antwort dies nicht tut.
Mike B.
@MikeB. Dies funktionierte, weil seit Ubuntu 15.04 das Kern-Ubuntu-System systemd verwendet - einen neueren Ersatz für den alten Upstart. Der letzte Abschnitt im obigen Code mit "logind" bezieht sich auf systembasierte Systeme. Hoffe, dies bringt ein wenig Licht in Ihre Situation. : D
x__x
Arbeitete für mich am Ubuntu 16.04 . Das einzige Problem war, dass die Erlaubnis verweigert wurde sudo.
Sandeep
Der erste Schritt sudo pm-hibernateführt zu command not found. Ich habe es auch versucht sudo apt install sudo pm-hibernate, was auch nicht verfügbar ist. Dies ist die Version Ubuntu 16.04.
LD James
Ihre Antwort sollte oben in der Liste stehen, auch wenn sie weniger Stimmen hat, ist sie für Besucher, die die heutige Software verwenden, bedeutungsvoller.
WinEunuuchs2Unix
32

Für diejenigen, die den Suspend-Button aus verschiedenen Gründen deaktivieren möchten, verfahren Sie analog ...

Wählen Sie einen beliebigen Dateinamen, aber dieser ist ausführlich / konventionell:

sudoedit /etc/polkit-1/localauthority/50-local.d/com.ubuntu.disable-suspend.pkla

Füllen Sie es mit diesem:

[Disable suspend by default]
Identity=unix-user:*
Action=org.freedesktop.upower.suspend
ResultActive=no

Ctrl+ O, Enter, Ctrl+X

Es ist kein Neustart erforderlich. Sobald Sie das Herunterfahren-Menü aufgerufen haben, sollte es verschwunden sein.

NACS
quelle
Sie meinen:ResultActive=yes
1
Nein, das sollte sein ResultActive=no. Die Antwort gibt an, dass dies die Suspendierung deaktivieren soll .
Michael Mior
14

Eine Sache noch:

Wenn Sie die Option für den Ruhezustand zum XFCE -Bedienfeld hinzufügen möchten , müssen Sie mit der rechten Maustaste auf Ihren Namen (topright) klicken und auswählen properties.

Danach erscheint ein Bildschirm:

Bildbeschreibung hier eingeben

Stellen Sie sicher, dass Sie den Ruhezustand wie ich überprüfen.

mreq
quelle
14

Zunächst empfehle ich, dass Sie testen, ob Ihr Laptop den Ruhezustand unterstützt, da der Grund, warum der Ruhezustand standardmäßig deaktiviert ist, darin besteht, dass er auf einigen Computern manchmal schwerwiegende Folgen hat. Testen Sie Ihre Maschine durch

Ctrl+ Alt+ TUnd dannsudo pm-hibernate

Ihr Computer sollte sich im Ruhezustand befinden. Schalten Sie Ihr Gerät nach dem Ruhezustand wieder ein und beobachten Sie, ob es sich nicht richtig verhält oder ob es normal funktioniert. Wenn Sie nach dem Winterschlaf eine Abnormalität feststellen, raten wir Ihnen, das folgende Verfahren nicht fortzusetzen. Wenn dies jedoch einwandfrei funktioniert, aktivieren Sie den Ruhezustand weiterhin über

sudo gedit /etc/polkit-1/localauthority/50-local.d/com.ubuntu.enable-hibernate.pkla

Bearbeiten Sie die geöffnete Datei und fügen Sie diese Zeilen hinzu:

[Re-enable hibernation]
Identity=unix-user:*
Action=org.freedesktop.upower.hibernate
ResultActive=yes

Starten Sie danach Ihren Computer neu. Nach der Anmeldung sollte in der oberen rechten Ecke der Einstellungen eine Option für den Ruhezustand angezeigt werden.

Kelvinelove
quelle
Warum das Rollback?
Es war ein
falsches
6

Wenn die Antwort mit /etc/polkit-1/localauthority/50-local.d/com.ubuntu.enable-hibernate.pklanicht wie in meinem Fall funktioniert, vergessen Sie nicht, die Datei wie folgt zu löschen:

sudo rm /etc/polkit-1/localauthority/50-local.d/com.ubuntu.enable-hibernate.pkla

Und versuchen Sie, TuxOnIce zu verwenden .


Stellen Sie zunächst sicher, dass Sie genug Swap haben. Es sollte mindestens so groß sein wie der Arbeitsspeicher. Befehl verwenden

free

Regel Swap> Mem. Ist dies nicht der Fall, vergrößern Sie Ihre Swap-Größe. Dann installieren Sie TuxOnIce von

sudo add-apt-repository ppa:tuxonice/ppa
sudo apt-get update
sudo apt-get install tuxonice-userui linux-generic-tuxonice linux-headers-generic-tuxonice

Dann können Sie versuchen, einen Ruhezustandstest durchzuführen:

sudo pm-hibernate

Vergessen Sie nicht, Ihre Arbeit zu speichern, bevor Sie es tun.

Wenn alles gut gegangen ist, schaltet sich Ihr Computer aus. Nach dem Einschalten befindet sich Ihr Desktop in dem Zustand, in dem Sie ihn vor dem Ruhezustand belassen haben.

Dee
quelle
tuxonice funktioniert auch bei mir, während der native Ruhezustand von Ubuntu 14.04 aus irgendeinem Grund fehlschlägt!
Leszek
5

Aktivieren des Ruhezustands mit einem Skript

Ich habe oben Antworten auf bashSkripte übersetzt. Dies macht die Installation auf mehreren Maschinen weniger mühsam.

Skript enable-hibernate:

#!/bin/bash
#http://askubuntu.com/a/94963/164341
cat << '_EOF_' |sudo tee /etc/polkit-1/localauthority/50-local.d/com.ubuntu.enable-hibernate.pkla
[Enable Hibernate]
Identity=unix-user:*
Action=org.freedesktop.upower.hibernate
ResultActive=yes
_EOF_
clear
echo
echo 'Hibernate enabled.'
echo

Skript disable-suspend:

#!/bin/bash
#http://askubuntu.com/a/154821/164341
cat << '_EOF_' |sudo tee /etc/polkit-1/localauthority/50-local.d/com.ubuntu.disable-suspend.pkla
[Disable suspend by default]
Identity=unix-user:*
Action=org.freedesktop.upower.suspend
ResultActive=no
_EOF_
clear
echo
echo 'Suspend disabled.'
echo

Hinweis: Vergessen Sie nicht, chmod +xbeide Skripte ausführbar zu machen.

Serge Stroobandt
quelle
4

Ein einfacher Befehl, der genau dasselbe tut wie die akzeptierte Antwort, außer nicht interaktiv:

cat <<EOF | sudo tee /etc/polkit-1/localauthority/50-local.d/com.ubuntu.enable-hibernate.pkla
[Re-enable hibernate by default]
Identity=unix-user:*
Action=org.freedesktop.upower.hibernate
ResultActive=yes
EOF
kiri
quelle
2

In 12.04 habe ich die Option "Ruhezustand" im Anzeigemenü erfolgreich für den Ruhezustand aktiviert. Trotzdem konnte ich den Ruhezustand nicht erfolgreich beenden. Ich habe die folgenden Schritte ausgeführt, um dieses Problem zu beheben:

Aktivieren Sie den Ruhezustand in 12.04

Um den Ruhezustand zu aktivieren, folgte ich dieser Antwort von Dima.

Nach dem Aktivieren des Ruhezustands konnte ich den Ruhezustand aktivieren. Das Problem ist jedoch, dass ich den Ruhezustand nicht erfolgreich beenden kann. Jedes Mal, wenn ich meinen PC aus dem Ruhezustand starte, wird er wie ein normaler Startvorgang gestartet. Also musste ich diese Dinge tun, um aus dem Ruhezustand zurückzukehren.

Die Fixes, um den Ruhezustand wieder aufnehmen zu können

Es gibt zwei Möglichkeiten, dies zu beheben.

1. Bearbeiten Sie die /etc/initramfs-tools/conf.d/resumeDatei

  1. Holen Sie sich zuerst die UUID der Swap-Partition.

     sudo blkid | grep swap
    

    Dies wird eine Zeile ähnlich der folgenden ausgeben:

    /dev/sda12: UUID="a14f3380-810e-49a7-b42e-72169e66c432" TYPE="swap"
    

    Die aktuelle Zeile passt nicht dazu. Kopieren Sie den Wert von UUID zwischen "..."Anführungszeichen.

  2. Öffnen Sie die Resume-Datei

    gksudo gedit /etc/initramfs-tools/conf.d/resume
    

    Fügen Sie in dieser Datei eine Zeile wie diese hinzu

    RESUME=UUID=a14f3380-810e-49a7-b42e-72169e66c432
    

    Vergessen Sie nicht, den tatsächlichen UUID-Wert aus Schritt 1 zu ersetzen. Speichern Sie die Datei und beenden Sie gedit

  3. Führen Sie dann im Terminal diesen Befehl aus

    sudo update-initramfs -u
    

Sie können nun den Ruhezustand wiederaufnehmen

2. Bearbeiten Sie die /etc/default/grubDatei.

  1. Öffnen Sie ein Terminal und führen Sie den folgenden Befehl aus, um es zu öffnen

    gksudo gedit / etc / default / grub

  2. Es wird eine Linie wie GRUB_CMDLINE_LINUX_DEFAULT="quiet splash" . Bearbeiten Sie die Zeile, die RESUME=UUID=<your-uuid-value-here>nach dem Wort eingefügt werden soll splash.

    In meinem Fall sieht die Zeile nach der Bearbeitung beispielsweise so aus

     GRUB_CMDLINE_LINUX_DEFAULT="quiet splash resume=UUID=a14f3380-810e-49a7-b42e-72169e66c432" 
    

    Stellen Sie sicher, dass Sie Ihren UUID-Wert verwendet haben, den Sie vom sudo blkid | grep swapBefehl erhalten.

  3. Dann führen Sie diesen Befehl aus

     sudo update-grub
    

Auf diese Weise können Sie auch den Ruhezustand erfolgreich beenden.


Getestet auf zwei Ubuntu-Installationen, funktionierten beide

Anwar
quelle
Datei dies als separate Frage & Antwort. Da die Leute vielleicht nach "nicht aussetzen" suchen und nicht finden, dass Sie gut schreiben.
Dima
Nach Ihrem Vorschlag habe ich diese selbst beantwortete Frage erstellt: askubuntu.com/questions/196364/…
Anwar,
0

Ich habe Ubuntu Gnome 17.04 amd64 auf meinem Notebook. Ich habe Folgendes getan, um den Ruhezustand zu aktivieren:

$ sudo apt-get install hibernate( Quelle )

Dies installierte auch libx86-1uswsuspvbetool

Dann konnte ich erfolgreich mit überwintern sudo systemctl hibernate. pm-hibernateMein Pfad enthält keine ausführbare Datei.

$ sudo nano /etc/polkit-1/localauthority/50-local.d/com.ubuntu.enable-hibernate.pkla

Eingefügt: ( Quelle )

[Re-enable hibernate by default in upower]
Identity=unix-user:*
Action=org.freedesktop.upower.hibernate
ResultActive=yes

[Re-enable hibernate by default in logind]
Identity=unix-user:*
Action=org.freedesktop.login1.hibernate;org.freedesktop.login1.handle-hibernate-key;org.freedesktop.login1;org.freedesktop.login1.hibernate-multiple-sessions;org.freedesktop.login1.hibernate-ignore-inhibit
ResultActive=yes

Installierte https://extensions.gnome.org/extension/755/hibernate-status-button/

ominug
quelle