
Ich möchte es also ausführen, wenn ich mit Wechselstrom arbeite, und dieses oder besser ein anderes Skript, wenn ich mit der Arbeit im Akkubetrieb beginne.
Ich habe es versucht
- /etc/acpi/power.sh
- Symlink zu /etc/laptop-mode/battery-start hinzufügen
Es scheint nicht zu funktionieren
Antwort1
Mit einem Skript in sollten Sie das tun können, was Sie möchten /etc/pm/power.d
. Zitat aus der HOWTO.hooks
Datei in pm-utils
:
So schreiben Sie einen pm-utils-Hook:
PARAMETER
Ein pm-utils-Hook ist einfach eine ausführbare Datei, die mindestens einen Parameter akzeptiert.
Für Hooks in power.d sind die möglichen Werte dieses Parameters:
- true – der Hook MUSS die entsprechende Aktion ausführen, wenn das System auf Batteriestrom umschaltet.
- false – Der Hook MUSS die entsprechende Aktion ausführen, wenn das System von der Batteriestromversorgung weggeht.
Möglicherweise möchten Sie auch einige der vorhandenen Power Hooks lesen, /usr/lib/pm-utils/power.d
um Ideen für die Strukturierung Ihres Skripts zu erhalten.
Beachten Sie, dass Ihnen bei Verwendung der pm-utils
Schnittstelle durch das erste Argument mitgeteilt wird, ob Sie mit Wechselstrom betrieben werden oder nicht: Wenn $1
dies der Fall ist true
, schalten Sie auf Batteriebetrieb um, und wenn dies der Fall ist, false
schalten Sie zurück auf Netzbetrieb.
Antwort2
Ich erreiche ein ähnliches Ziel durch die Verwendung von ACPI.
verwenden Sie /usr/bin/acpi_listen, um das gewünschte ACPI-Ereignis abzufangen. Auf meinem Laptop lautet das Ereignis, das beim Umschalten auf Batteriebetrieb ausgelöst wird, „ac_adapter ACPI0003:00 00000080 00000000“. Ich erstelle also ein neues Ereignis: /etc/acpi/events/switch-to-battery. Nachfolgend der Inhalt:
event=ac_adapter ACPI0003:00 00000080 00000000
action=/etc/acpi/switch-to-battery.sh
Machen Sie einfach, was Sie wollen, in ac_adapter.sh. Weitere Beispiele finden Sie, wenn acpi-support installiert ist.
Führen Sie zuletzt diesen Befehl aus, damit das neue Ereignis wirksam wird.
sudo service acpid restart
Antwort3
Das ist nicht wirklich die richtige Frage. Ich bekomme einen Fehler, aber jetzt korrigiere ich ihn und mein power.sh und es funktioniert
if on_ac_power; then
echo 0 > /home/riad/1
#on ac
else
echo 1 > /home/riad/1
#on battery
fi
und es funktioniert