Wie verhindere ich, dass mein System in den Ruhezustand wechselt?

53

Ich erhalte zu Hause ein Webserver-Setup auf einem älteren AMD 2400+ -Desktop. Ich habe Ubuntu 11.04 installiert und lauffähig, kann aber nach einiger Zeit nicht mehr zum Server navigieren. Wenn ich zur Tastatur gehe und eine Taste drücke, funktioniert wieder alles auf magische Weise.

Ich habe das BIOS durchgesehen und sehe keine aktivierten Energiesparfunktionen. Gibt es so etwas in Ubuntu? Kann es deaktiviert werden?

Ich habe keine GUI installiert. Dies ist nur die Konsole.

Mike Wills
quelle

Antworten:

51

Unter Ubuntu 16.04 LTS habe ich Folgendes erfolgreich zum Deaktivieren von suspend verwendet:

sudo systemctl mask sleep.target suspend.target hibernate.target hybrid-sleep.target

Und dies, um es wieder zu aktivieren:

sudo systemctl unmask sleep.target suspend.target hibernate.target hybrid-sleep.target

Von man systemctl:

mask NAME...  
           Mask one or more units, as specified on the command line. This
           will link these unit files to /dev/null, making it impossible to
           start them. This is a stronger version of disable, since it
           prohibits all kinds of activation of the unit, including
           enablement and manual activation. Use this option with care. This
           honors the --runtime option to only mask temporarily until the
           next reboot of the system. The --now option may be used to ensure
           that the units are also stopped. This command expects valid unit
           names only, it does not accept unit file paths.

 unmask NAME...
           Unmask one or more unit files, as specified on the command line.
           This will undo the effect of mask. This command expects valid
           unit names only, it does not accept unit file paths.
Dustin Kirkland
quelle
Wie würde ich testen, ob diese bereits maskiert sind oder nicht? (Und was macht maskoder unmaskmacht man sowieso? Noch nie zuvor davon gehört.)
ArtOfWarfare
@ArtOfWarfare From man systemctl" Maskiert eine oder mehrere Einheiten, wie in der Befehlszeile angegeben. Dadurch werden diese Einheitendateien mit / dev / null verknüpft, sodass sie nicht gestartet werden können. Dies ist eine stärkere Version von disable, da alle Arten von Aktivierung der Einheit, einschließlich Aktivierung und manuelle Aktivierung Verwenden Sie diese Option mit Bedacht, damit die Option --runtime nur vorübergehend bis zum nächsten Neustart des Systems maskiert wird. Die Option --now kann verwendet werden, um sicherzustellen, dass die Einheiten aktiviert sind Dieser Befehl erwartet nur gültige Unit-Namen und akzeptiert keine Unit-Dateipfade. "
Centimane
@ Centimane - Danke. Wie würde ich dann prüfen, ob sie bereits maskbearbeitet wurden oder nicht? Natürlich könnte ich versuchen, sie einfach laufen zu lassen und zu sehen, was passiert, aber das würde möglicherweise dazu führen, dass mein Computer in den Energiesparmodus versetzt wird (was ... schlimm wäre ... es treten Probleme beim Aufwachen auf, weshalb ich es einfach tun möchte stellen Sie sicher, dass es niemals schläft.)
ArtOfWarfare
@ArtOfWarfare Sie könnten nur /etc/systemd/system/auf einen Link zu überprüfen/dev/null
Centimane
@ArtOfWarfare oder systemctl show -p FragmentPath [service]. Die FragmentPathEigenschaft gibt an, wo sich systemddie Gerätedatei befindet. Ein maskierter Dienst wird sagen/dev/null
Centimane
19

GUI

Hast Du Dir angesehen:

System -> Einstellungen -> Energieverwaltung

Schalten Sie den Computer auf der Registerkarte "Wechselstrom" in den Energiesparmodus, wenn er für "Nie" inaktiv ist.

Terminal

Können Sie "gconf-editor" öffnen?

Nachsehen in: /apps/gnome-power-manager/timeout

Versuchen Sie es sleep_computer_acmit0

Ich bin mir nicht sicher, ob noch etwas geändert werden muss.

Jason Iverson
quelle
Wie mache ich das auf der Konsole? Ich habe keine GUI installiert.
Mike Wills
@ Mike Wills Aktualisiert, da Sie keine gui haben
Jason Iverson
1
Auch hier habe ich keinen Gnom oder so etwas installiert. Es ist eine reine Konsole.
Mike Wills
4
Die aktuelle Befehlszeilenmethode lautet:gsettings set org.gnome.settings-daemon.plugins.power sleep-inactive-ac-timeout '0' && gsettings set org.gnome.settings-daemon.plugins.power sleep-inactive-battery-timeout '0'
dess
2
@dess sehr hilfreich. Vielen Dank! Sie sollten Ihre Antwort in einer Antwort veröffentlichen, die andere sehen können.
kalu
12

Die richtige Antwort dazu finden Sie hier :

Haben Sie versucht, die Kernel-Optionen acpi=off apm=offzum GRUB_CMDLINE_LINUX_DEFAULTin hinzuzufügen /etc/default/grub?

Führen Sie dann sudo update-grubIhren Computer aus und starten Sie ihn neu.

Mike Wills
quelle
3
Während das Hinzufügen dieser Optionen zu meiner Grub - Konfiguration hat meine Maschine stoppen schlafen gehen, ist zu beachten, Einstellung acpi=offeine hat viele andere Effekte . Der Schlüssel für mich ist, dass es auch Hyperthreading deaktiviert.
PicoutputCls
@PicoutputCls der Artikel, den Sie verknüpfen, besagt, dass acpi=ht "Deaktiviert das ACPI-System fast vollständig; nur die für Hyper-Threading erforderlichen Komponenten werden verwendet"
pzkpfw
Das ganze System wird sehr langsam, wenn ich acpi = off
setze
7

Bitte schauen Sie in diese Links - cyberciti.biz und Arch-Foren

Dies ist ein Auszug aus dem Link cyberciti.biz :

Standardmäßig verwendet der Linux-Kernel die Option zum Speichern des Bildschirms, um die Eingabe dieses Befehls zu deaktivieren (damit werden die VESA-Energiesparfunktionen des Monitors deaktiviert):

$ setterm -powersave off -blank 0

Wenn es Sie mit einem Fehler zurückwirft, der wie folgt lautet: Powersave-Modus kann nicht (un) eingestellt werden

Sie müssen das X-Window-System herunterfahren und den obigen Befehl erneut ausführen. Besser, fügen Sie folgenden zwei Befehle zu Ihrer Datei ~ / .xinitrc:

setterm -blank 0 -powersave off -powerdown 0
xset s off
Nitin Venkatesh
quelle
7

Keine dieser beschriebenen Lösungen hat bei mir funktioniert. Der Laptop schlief immer noch. Bei Verwendung der Grub Linux-Befehlszeilenoption acpi = off konnte der Laptop nicht gestartet werden. Ich habe endlich diese Lösung gefunden.

sudo vi /etc/default/acpi-support # and then set SUSPEND_METHODS="none"
sudo /etc/init.d/acpid restart

Basierend auf der ursprünglichen Lösung von Stephan hier: Ubuntu Server auf einem Laptop mit geschlossenem Deckel laufen lassen?

Andrew Vian
quelle
2

Zusätzlich zu den Optionen für systemctl mask / unmask verwende ich Folgendes, um das Anhalten für den Gnome-Desktop ein- und auszuschalten.

gsettings set org.gnome.settings-daemon.plugins.power sleep-inactive-battery-type 'suspend'
gsettings set org.gnome.settings-daemon.plugins.power sleep-inactive-ac-type 'suspend'

oder

gsettings set org.gnome.settings-daemon.plugins.power sleep-inactive-battery-type 'nothing'
gsettings set org.gnome.settings-daemon.plugins.power sleep-inactive-ac-type 'nothing'

Ich habe diese gefunden, indem ich die Einstellungen durchgesehen habe, die in den Befehlen unter So sichern Sie ALLE dconf / gsettings aufgeführt sind, damit ich sie zwischen zwei verschiedenen Computern vergleichen kann.

HankB
quelle
0

Ich habe Light Locker gefunden, da ich Ubuntu 14.04.2 mit LXDE (Lubuntu) Desktop besitze. Wenn Sie diesen Desktop haben, können Sie den Standard ändern und den Monitor damit verwalten. Andernfalls müssen Sie möglicherweise gconf-editor über das Terminal installieren, wenn Sie es nicht haben. Light Locker ist in den Einstellungen im Hauptmenü zu finden.

Shane Horton
quelle
gconf-editor benötigt eine gui.
Eric