![Suspend-Hook funktioniert nicht in Xubuntu 15.04](https://rvso.com/image/1127605/Suspend-Hook%20funktioniert%20nicht%20in%20Xubuntu%2015.04.png)
Ich benutzedieser Aufhängehakenmit Ubuntu & Kubuntu seit 12.10, aber als ich gestern eine Neuinstallation von Xubuntu 15.04 durchführte, bemerkte ich, dass es plötzlich nicht mehr funktionierte. Ich habe eine Datei erstellt, /usr/lib/pm-utils/sleep.d/45fixusbwakeup
das Skript hineinkopiert und es sudo chmod +x /usr/lib/pm-utils/sleep.d/45fixusbwakeup
wie immer ausführbar gemacht. Ich bin kein Experte und dieser Hook hat bei mir immer funktioniert, also habe ich keine Ahnung, was jetzt falsch sein könnte.
Was ich grundsätzlich brauche, ist, dass diese drei Befehle jedes Mal ausgeführt werden, bevor der Computer in den Ruhezustand wechselt oder bei jedem Start:
sudo -s
echo USB0 > /proc/acpi/wakeup
echo USB2 > /proc/acpi/wakeup
Ich möchte auch darauf hinweisen, dass sudo pm-suspend
das Skript einwandfrei funktioniert, wenn ich den Computer über einen Terminalbefehl anhalte. Nur über die herkömmliche Schaltfläche Abmelden--->Anhalten in Xubuntu funktioniert es nicht. Ich vermute also, dass dies etwas mit Xubuntu zu tun hat. Ich vermute, dass der Computer tatsächlich über angehalten wird xfce4-session-logout --suspend
und das das Problem verursacht.
Antwort1
xfce4-session verwendet systemd-sleep auf einem systemd-System (nicht pm-suspend). systemd-sleep-Hooks sollten unter Verwendung der folgenden Vorlage in /lib/systemd/system-sleep eingefügt werden:
#!/bin/sh
case $1/$2 in
pre/*)
echo "Going to $2..."
;;
post/*)
echo "Waking up from $2..."
;;
esac
...und ausführbar gemacht. Ein weiterer Vorbehalt bei systemd ist, dass die Skripte in diesem Verzeichnis gleichzeitig ausgeführt werden und nicht nacheinander basierend auf dem Namen (wie dies bei pm-utils der Fall ist).
Antwort2
So führen Sie die Befehle beim Start aus
Platzieren Sie die Befehle (remove sudo -s
) in einem.SchDatei und machen Sie sie mit ausführbar chmod +x <filename>
.
Ein ... kreierenneuBash-Skript enthalten gksudo -s root <path_to_other_bash_script>
und ausführbar machen.
Erstellen Sie eine Datei mit einem.desktopSuffix im ~/.config/autostart
Verzeichnis – erstellen Sie den Ordner, wenn Sie ihn nicht haben.
Geben Sie Folgendes in die.desktopDatei:
[Desktop-Eintrag] Name=Name_des_zweiten_Bash-Skripts Exec=Pfad/zum/zweiten/Skript Typ=Anwendung
Die im Bash-Skript vorhandenen Befehle werden beim Start ausgeführt.