Wie wird mein Computer angehalten?

9

Ich versuche zu verstehen, wie Suspend in 10.10 funktioniert.

http://git.webconverger.org/?p=home.git;a=blob;f=.bashrc;h=8ba57b877e31a03c5f0b1675b42f747d81dd31ad;hb=HEAD#l31

Ich benutze eine alias suspend='sudo /etc/acpi/sleep.sh && sudo alsactl init 0

Das alsactlBit ist, meine Soundkarte neu zu starten, die manchmal nicht richtig suspendiert wird.

Und dann:

/etc/acpi/sleep.sh-> /usr/sbin/pm-suspend-> /usr/lib/pm-utils/bin/pm-action->/usr/lib/pm-utils/pm-functions

Ironie /usr/lib/pm-utils/bin/pm-actionbehauptet, "Simple Suspend Script" zu sein.

Ich weiß immer noch nicht, wie es funktioniert. Ich denke, ich habe direkt s2ramzuvor verwendet.

hendry
quelle
Ich weiß, dass ich nicht viel erkläre, aber Sie könnten Ihren alsactlBefehl in ein eigenes Skript einfügen /etc/acpi/resume.d/und er wird im Wachzustand ausgeführt.
Oli
Update: Ich benutze sudo systemctl suspendjetzt einfach .
Henry

Antworten:

10

Das gnome-power-managerTool wartet auf Suspend-Schaltflächenereignisse und spawnt pm-suspend. Ausführliche Informationen zur Funktionsweise pm-suspendfinden Sie in der man pm-suspendBefehlsausgabe. Die schnelle Version:

  1. /etc/pm/config.d wird nach Dateien durchsucht, die Umgebungsvariablen definieren.
  2. Jedes der Skripte in /etc/pm/sleep.dund /usr/lib/pm-utils/sleep.dwird in der Reihenfolge mit dem Argument "suspend" aufgerufen.
  3. Das System wird über das definierte Schnittstellenmodul in den Ruhezustand versetzt. Standardmäßig ist dies die Kernel-Suspend-Schnittstelle : echo -n "mem" >/sys/power/state. Sehen Sie, /usr/lib/pm-utils/pm-functionswo do_suspenddefiniert ist.
  4. Das System wacht auf.
  5. Jedes der Skripte in /etc/pm/sleep.dund /usr/lib/pm-utils/sleep.dwird in umgekehrter Reihenfolge mit dem Argument "resume" aufgerufen.

Wenn Sie dem Stapel ein Skript hinzufügen müssen, würde ich vorschlagen, es hinzuzufügen /etc/pm/sleep.dund etwas zu benennen, das nicht mit anderen Skripten in Konflikt steht, und sicherzustellen, dass es das Argument "suspend" / "resume" verarbeitet.

/var/log/pm-suspend.logInformationen zum Debuggen finden Sie in der Manpage mit weiteren Informationen zum Testen.

Kees Cook
quelle
Danke kees, aber was genau ist aus Interesse, was genau ist der Befehl, um den "Kernel Suspend" in Schritt 3 auszulösen?
Henry
Ich habe jetzt auch dieses Detail aktualisiert.
Kees Cook