Führen Sie ein Skript aus, wenn der Netzschalter gedrückt wird


7

Ich versuche, ein Skript auszuführen, sobald ich den Netzschalter drücke, anstatt meinen Computer auszuschalten. Ich verwende Ubuntu Server 13.04, aber alle Antworten müssen auch auf Server 14.04 funktionieren.

Ich habe mir ACPI-Ereignisse und dergleichen angesehen und versucht, die /etc/acpi/powerbtn.shund /etc/acpi/events/powerbtn-Dateien zu bearbeiten , aber nirgendwo Glück.

Nachdem ich diese Seite https://wiki.archlinux.org/index.php/acpid gelesen hatte , lief ich sudo journalctl -fwie angewiesen, aber das funktionierte nicht. Also habe ich es versucht sudo acpi_listenund bin in den ACPI Event Listener eingestiegen. Aber selbst von dort gab mir das Drücken des Netzschalters überhaupt keine Ausgabe.

Gibt es einen anderen Dienst, der die Power-Button-Ereignisse vor ACPI abfängt? Welche Dateien müsste ich dann bearbeiten, um mein Skript auszuführen, wenn der Netzschalter gedrückt wird?

Ich habe es auch versucht sudo xevund das gab mir auch keine Ausgabe auf dem Netzschalter.

BEARBEITEN: Ich habe auch ein Ubuntu Desktop-System und auf diesem System kann ich eine Ausgabe von ACPI erhalten und die /etc/acpiSkripte bearbeiten . Ist mit Unity etwas installiert, das ACPI auf wundersame Weise ermöglicht?

WIEDER BEARBEITEN: Am Ende wurde eine Neuinstallation durchgeführt ... ACPI hat funktioniert. Ich glaube, ich habe beim Experimentieren etwas durcheinander gebracht und zuerst versucht, eine Lösung für dieses Problem zu finden. Ich habe mein Python-Skript /etc/acpi/eingefügt und dann die folgenden zwei Zeilen oben hinzugefügt/etc/acpi/powerbtn.sh

sudo python my_python_script.py
exit 0

Und es hat funktioniert. Danke Leute.

Antworten:



1

Platzieren Sie Ihr Python-Skript in / etc / acpi / und fügen Sie die folgenden zwei Zeilen oben in /etc/acpi/powerbtn.sh hinzu

sudo python your_python_script.py
exit 0
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.