Können Sie beim Einschalten oder Schließen des Deckels einen benutzerdefinierten Shell-Befehl ausführen?

Können Sie beim Einschalten oder Schließen des Deckels einen benutzerdefinierten Shell-Befehl ausführen?

Ich versuche, den Ruhezustand auf meinem Ubuntu 18.04 zum Laufen zu bringen.

Ich habe alle verfügbaren Tutorials befolgt (hauptsächlich die Antworten hier:Wie kann ich unter Ubuntu 16.04 in den Ruhezustand wechseln?)

Bisher pm-hibernatefunktioniert die Ausführung auf der Shell gut, die systemctl hibernateandere nicht.

Ich kann mich von korrekt erholen pm-hibernate, mit dem einzigen Problem, dass der Bildschirm nicht gesperrt ist und ich direkt danach angemeldet bin. Ich konnte das beheben, indem ich einen Alias ​​hinzufügte, der manuell sperrt und anschließend pm-hibernate ausführt (Wie sperre ich den Bildschirm nach der Wiederaufnahme des Ruhezustands?)

Funktioniert jedoch systemctl hibernatenicht und wenn es nach der Ausführung in der Befehlszeile zurückkommt, ist es dasselbe, als hätte ich ein erzwungenes Ausschalten durchgeführt.

Ich habe im Energieeinstellungsmenü „Ruhezustand“ ausgewählt, aber es scheint, dass dies dasselbe bewirkt wie systemctl hibernate, denn nachdem ich die Ausschalttaste drücke, ist es dasselbe, als hätte ich das Gerät ausgeschaltet.

Ich habe versucht, einen resumeParameter in der Grub-Konfiguration hinzuzufügen

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash resume=/dev/nvme0n1p2"

wo /dev/nvme0n1p2ist meine Swap-Partition, aber ohne Hilfe.

Meine Idee ist jetzt, dass der Ausschaltknopf meinen Alias ​​für den Ruhezustand ausführt, der sperrt und ausführt pm-hibernate. Möglicherweise auch beim Schließen des Deckels?

Im Moment muss ich im Terminal „hibernate“ eingeben, um in den Ruhezustand zu wechseln.

Antwort1

Sie können diese Datei bearbeiten /etc/acpi/events/powerbtn. Die Aktion kann zugewiesen werden <your hibernate script>. Lassen Sie mich wissen, ob das funktioniert?

verwandte Informationen