Das System befindet sich nicht im Ruhezustand. Der Bildschirm blinkt einige Sekunden lang und es passiert nichts anderes

8

Ich habe gerade mein Ubuntu 11.10 auf 12.04 aktualisiert. Ich habe ein Problem mit dem Ruhezustand in meinem neuen 12.04.

Ich führe den folgenden Befehl aus

sudo pm-hibernate

Mein System befindet sich jedoch nicht im Ruhezustand, dh mein System schaltet sich nicht aus. Stattdessen blinkt der Bildschirm nur einige Sekunden lang und nimmt den vorherigen Status wieder auf.

Wie behebe ich dieses Problem und aktiviere den Ruhezustand auf meinem System?

Sat93
quelle
Haben Sie Ihre BIOS- Einstellungen überprüft
Mitch
2
@izx Ich dachte es auch ... aber wenn ich darüber nachdenke, sollte es nicht sudo pm-hibernatefunktionieren, bevor der Ruhezustand in 12.04 aktiviert ist? Das ist die empfohlene Methode, um es zuerst zu testen, bevor Sie es aktivieren ... nicht wahr? Was vermisse ich?
Eliah Kagan
@EliahKagan - Du hast absolut Recht - ich bin zu schnell gesprungen. sudo pm-hibernatesollte unabhängig von der Polkit-Einstellung funktionieren.
ish

Antworten:

6

Etwas in Ihrer Hardwarekonfiguration ist nicht mit der Ruhezustandsmethode des Kernels kompatibel. Leider ist dies nur schwer zu beheben, es sei denn, die Fehlerbehebung verfügt über ein sehr ähnliches System.

Sie können stattdessen den alternativen Ruhezustand von TuxOnIce ( Wikipedia ) ausprobieren .

  • TuxOnIce ( wiki | homepage ) ist eine Alternative zur integrierten Ruhezustandstechnologie des Kernels und soll mit einer breiteren Palette von Hardware kompatibel, zuverlässiger und flexibler sein.
  • Es ist einfach zu installieren und wenn es für Sie nicht funktioniert, so einfach zu entfernen.
  • Es erfordert die Installation des benutzerdefinierten Kernels von TuxOnIce , aber die folgenden Anweisungen sollten es einfach machen. Wenn Sie das Terminal noch nie geöffnet haben, möchten Sie vielleicht jetzt :-)

    0. Anforderungen

    Die einzige Voraussetzung für TuxOnIce ist, dass Ihre Swap-Partition mindestens so groß ist wie der Arbeitsspeicher (RAM), über den Sie verfügen. Sie können dies überprüfen, indem Sie:

  • Starten Sie das Terminal mit Ctrl+ Alt+T

  • Geben free -mSie Folgendes ein , und Sie sollten Folgendes sehen:

                 Insgesamt verwendete kostenlose gemeinsam genutzte Puffer zwischengespeichert
    Mem: 1024 731 260 0 0 190
    - / + Puffer / Cache: 540 451
    Swap: 1536 6 1530
    
  • Die Zahl nach Swap:(z. B. 1536) sollte größer sein als die Zahl nach Mem:(z. B. 1024).

  • Wenn dies nicht der Fall ist und Ihr Swap kleiner als Ihr Speicher ist, müssen Sie entweder die Größe ändern und die Größe Ihrer Swap-Partition erhöhen oder TuxOnIce so konfigurieren , dass eine spezielle Swap-Datei verwendet wird. Das würde den Rahmen dieser Antwort sprengen, aber wenn Sie eine andere Frage stellen und in den Kommentaren erwähnen, werde ich antworten und erklären, wie.

    1. Installieren des TuxOnIce-Kernels

  • Starten Sie das Terminal mit Ctrl+ Alt+T

  • Kopieren Sie Folgendes und fügen Sie es in das Terminal ein. Dadurch wird die TuxOnIce- PPA hinzugefügt und der benutzerdefinierte Kernel und die Header installiert.
    • sudo apt-add-repository ppa: tuxonice / ppa -y
      und sobald der ppa hinzugefügt ist:
    • sudo apt-get update
      sudo apt-get installiere tuxonice-userui linux-generic-tuxonice -y 
      sudo apt-get install linux-headers-generic-tuxonice -y
  • Starten Sie jetzt neu.
  • Ubuntu sollte jetzt mit dem TuxOnIce- Kernel starten . Wenn es irgendwelche Probleme gibt, halten Sie die ShiftTaste beim Start gedrückt und Sie erhalten das Grub-Menü. Verwenden Sie die Pfeiltasten, um zu gehen Previous Linux Versions, drücken Sie die Eingabetaste und drücken Sie erneut die Eingabetaste, um zum funktionierenden Kernel zurückzukehren.

    2. Testen der Ruhezustandsfunktionalität.

  • Öffnen Sie einige der Anwendungen, die Sie normalerweise verwenden, z. B. Firefox, Thunderbird, LibreOffice usw.

  • Öffnen Sie das Terminal erneut mit Ctrl+ Alt+ T.
  • Geben Sie ein sudo pm-hibernate, drücken Sie die Eingabetaste und geben Sie Ihr Passwort ein.
  • Sie sollten für eine Sekunde den Sperrbildschirm und dann den Fortschrittsbildschirm für den Ruhezustand von TuxOnIce wie den folgenden sehen:

    Geben Sie hier die Bildbeschreibung ein

    • Wenn TuxOnIce funktioniert, wird Ihr Computer heruntergefahren.
    • Starten Sie es erneut und warten Sie. TuxOnIce sollte ab dem Punkt fortgesetzt werden, an dem Sie den Ruhezustand aktiviert haben, einschließlich aller Fenster, die Sie an der von Ihnen geöffneten Position geöffnet haben.
  • Wenn dies alles funktioniert hat, fahren Sie mit Schritt 3 fort, in dem Sie den Ruhezustand über das Dashboard aktivieren können.

    3. Aktivieren des Ruhezustands über das Dashboard

  • Drücken Sie Alt+ F2, geben Sie unten ein und drücken Sie die Eingabetaste:

    gksudo gedit /etc/polkit-1/localauthority/50-local.d/com.ubuntu.enable-hibernate.pkla
  • Fügen Sie Folgendes ein, drücken Sie Ctrl+ Szum Speichern und Ctrl+ Qzum Verlassen des Editors:

    [Aktivieren Sie den Ruhezustand standardmäßig wieder]
    Identität = Unix-Benutzer: *
    Aktion = org.freedesktop.upower.hibernate
    ResultActive = ja

    Geben Sie hier die Bildbeschreibung ein

  • Starten Sie neu, und Sie sollten die Option Ruhezustand wie unten gezeigt sehen:

    Geben Sie hier die Bildbeschreibung ein

    4. TuxOnIce entfernen

    • Wenn TuxOnIce bei Ihnen nicht funktioniert oder Sie es einfach entfernen möchten, starten Sie das Terminal und geben Sie Folgendes ein:

       sudo apt-get entfernen tuxonice-userui linux-generic-tuxonice linux-headers-generic-tuxonice -y
    • und denken Sie daran, die Option "Ruhezustand" im Menü zu deaktivieren mit:

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

ish
quelle
Sie sollten diesen Link erwähnen: askubuntu.com/questions/178712/… in der Antwort, wenn der Benutzer nicht genug Swap hat.
Kiri
4

Das hat bei mir funktioniert. In einem Konsolenlauf:

sudo apt-get install uswsusp 

Dann können Sie versuchen, Ihren Computer anzuhalten mit:

sudo s2ram

oder Winterschlaf mit

sudo s2disk

Wenn dies für Sie funktioniert, starten Sie es einfach neu und Sie sollten später über die übliche Schaltfläche (oben rechts auf Unity Desktop und Auswahl von Ruhezustand) in den Ruhezustand wechseln können.

Ich habe ein kurzes Tutorial zu diesem und anderen Problemen für Dell XPS 13 Developer Edition hier verfügbar gemacht .

Christian Vielma
quelle
Einfach und funktioniert gut. Es gibt einen Tippfehler, der Paketname lautet jedoch uswsusp. Außerdem funktionierte der Ruhezustand beim ersten Versuch nicht: Er wurde ausgeschaltet und anschließend normal gestartet. Ich wette, dies ist die traditionelle Sache "Neustart, um die Konfiguration zu aktualisieren".
Norswap
Wow, das ist einfach, der Ruhezustand funktionierte auf meinem Dell Latitude E6400 mit Ubuntu 14.04 Beta.
Andrea Zonca
Ich hatte in 8.04 keine Probleme mit dem Winterschlaf. Ich bin mir ziemlich sicher, dass viele fortgeschrittene Benutzer es ohne "Hacks" einwandfrei funktionieren lassen.
userDepth
1

Ich hatte dieses Problem schon einmal. Wenn Ihre Swap-Partition kleiner ist als der Speicher, den Sie im Ruhezustand auf der Festplatte speichern möchten, tritt möglicherweise dieses Problem auf.

Sie können entweder die Größe Ihrer Swap-Partition ändern oder eine Swap-Datei verwenden (es ist viel einfacher, wenn Sie keinen freien Speicherplatz haben, um die Größe Ihrer Swap-Partition zu ändern).

So geht's:

  1. Öffnen Sie ein Terminalfenster (drücken Sie Ctrl+ Alt+ Toder wählen Sie Anwendungen> Zubehör> Terminal ) oder melden Sie sich mit dem ssh-Client beim Remote-Server an.

  2. Speicherdatei erstellen

    Geben Sie den folgenden Befehl ein, um eine 512-MB-Auslagerungsdatei zu erstellen (1024 * 512 MB = 524288 Blockgröße):

    sudo dd if=/dev/zero of=/swapfile1 bs=1024 count=524288
    

    Beispielausgaben:

    524288+0 records in
    524288+0 records out
    536870912 bytes (537 MB) copied, 3.23347 s, 166 MB/s
    
    • if=/dev/zerobedeutet aus der Datei / dev / zero lesen. /dev/zeroist eine spezielle Datei, die Nullzeichen zum Erstellen einer Speicherdatei mit dem Namen enthält /swapfile1.
    • of=/swapfile1bedeutet, Speicherdatei in zu schreiben /swapfile1.
    • bs=1024 bedeutet, jeweils 1024 BYTES-Bytes zu lesen und zu schreiben.
    • count=524288 bedeutet Nur 523288 BLOCKS-Eingabeblöcke kopieren.
  3. Sichere Auslagerungsdatei

    Richten Sie aus Sicherheitsgründen die richtige Dateiberechtigung ein, indem Sie Folgendes eingeben:

    sudo chmod 0600 /swapfile1
    

    Eine weltweit lesbare Auslagerungsdatei ist eine große lokale Sicherheitslücke. Der obige Befehl stellt sicher, dass nur der Root-Benutzer die Datei lesen und schreiben kann.

  4. Richten Sie einen Linux-Swap-Bereich ein

    Geben Sie den folgenden Befehl ein, um einen Linux-Swap-Bereich in einer Datei einzurichten:

    sudo mkswap /swapfile1
    

    Beispielausgaben:

    Setting up swapspace version 1, size = 524284 KiB
    no label, UUID=0e5e7c60-bbba-4089-a76c-2bb29c0f0839
    
  5. Aktivieren Sie die Auslagerungsdatei

    Um den /swapfile1Swap Space sofort zu aktivieren, geben Sie Folgendes ein:

    sudo swapon /swapfile1
    
  6. /etc/fstabDatei aktualisieren Um /swapfile1nach dem Neustart des Linux-Systems zu aktivieren , fügen Sie der /etc/fstabDatei einen Eintrag hinzu . Öffnen Sie diese Datei mit einem Texteditor wie vi:

    sudo vi /etc/fstab
    

    Fügen Sie die folgende Zeile hinzu:

    /swapfile1 none swap sw 0 0
    

    Speichern und schließen Sie die Datei. Wenn Linux das nächste Mal nach dem Neustart gestartet wird, wird die neue Auslagerungsdatei automatisch für Sie aktiviert.

  7. Wie überprüfe ich, ob der Swap aktiviert ist oder nicht?

    Verwenden Sie einfach den freeBefehl:

    free -m
    

Hier ist der Link, von dem ich dieses Tutorial erhalten habe: Fügen Sie eine Auslagerungsdatei hinzu

Sidahmed
quelle
Eine Auslagerungsdatei muss nicht vorhanden sein, /etc/fstabund dies ist nicht erforderlich, um sie zu aktivieren.
Zanna