Suspend-Hook funktioniert nicht in Xubuntu 15.04

Suspend-Hook funktioniert nicht in Xubuntu 15.04

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/45fixusbwakeupdas Skript hineinkopiert und es sudo chmod +x /usr/lib/pm-utils/sleep.d/45fixusbwakeupwie 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-suspenddas 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 --suspendund 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/autostartVerzeichnis – 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.

verwandte Informationen