Ich muss den Bildschirm sperren, wenn mein Computer aus dem Arbeitssperre geweckt wird.
Also habe ich versucht, das folgende Skript in /usr/lib/pm-utils/sleep.d
und zu setzen /etc/pm/sleep.d
, aber es wurde nie ausgeführt:
#!/bin/sh
case "$1" in
hibernate|suspend)
;;
thaw|resume)
vlock -ans
;;
*) exit $NA
;;
esac
PS: Ist es pm-suspend
nicht pm-hibernate
.
BEARBEITEN
Versuchte systemd Service auch, kein Glück:
# /etc/systemd/system/[email protected]
[Unit]
Description=User resume actions
After=suspend.target
[Service]
User=root
Type=simple
ExecStart=vlock -ans
[Install]
WantedBy=suspend.target
Und ich habe auch angerufen systemctl enable [email protected]
, vlock wurde noch nicht angerufen.
arch-linux
suspend
pm-utils
Gänseblümchen
quelle
quelle
echo executed script >> /tmp/resume
Antworten:
AFAIK
ExecStart
möchte einen vollständigen Pfad zur ausführbaren Datei.Versuchen Sie es mit
ExecStart=/usr/bin/vlock -ans
in Ihrem/etc/systemd/system/[email protected]
quelle
Haben Sie die Berechtigungen und den Eigentümer wie im Wiki beschrieben festgelegt?
quelle
Du versuchst deinen eigenen Haken zu kreieren, oder? Ich lese die Arch Linux-Dokumentation zu pm-utils (Link unten) und überprüfe zuerst diese Dinge:
Wenn Sie sicher sind, dass Sie alle richtig verstanden haben, ziehen Sie das Skript selbst in Betracht.
Hier ist ein Link zu den Dokumenten, die ich darüber lese: https://wiki.archlinux.org/index.php/pm-utils#Creating_your_own_hooks
Ihr Skript entspricht nicht dem dort gezeigten. Sie rufen / bin / sh anstelle von / bin / bash auf. Sie verwenden Doppel-Qoutes um 1 US-Dollar und diese nicht. Sie kombinieren Optionen und sie nicht. Alles sollte in Ordnung sein, oder? Außer vielleicht das Sh gegen Bash.
Wie wäre es, wenn Sie einige Logger- oder Echo-Anweisungen zum Debuggen einfügen und dann die Protokolle überprüfen, um festzustellen, ob Ihr Skript gestartet wird. Und wenn ja, wie weit kommt es?
quelle
Ich habe alle Verzeichnisse mit a herausgefunden
"sudo strace pm-hibernate 2>/root/myfile.log"
, oder Sie können den pm-Ruhezustand durch pm-suspend ersetzen. Nach einiger Zeit schaltet sich die Maschine aus. Lesen Sie dann beim erneuten Einschalten / Fortsetzen die Datei myfile.log. Darin befinden sich alle Skripte, Konfigurationen und Protokolldateien, auf die zugegriffen / geschrieben wurde.Für meine Fedora 20 sind sie:
usw. und mehrere andere Verzeichnisse.
Bedienen Sie sich mit Ihrer spezifischen Distribution einer bestimmten Version (Fedora 20 verwendet übrigens systemd).
quelle