Xubuntu 15.04 でサスペンド フックが動作しない

Xubuntu 15.04 でサスペンド フックが動作しない

私は使っていますこの吊り下げフック12.10 の頃から Ubuntu と Kubuntu を使っていましたが、昨日 Xubuntu 15.04 をクリーンインストールしたら、突然動作しなくなったことに気付きました。ファイルを作成し、/usr/lib/pm-utils/sleep.d/45fixusbwakeupそこにスクリプトをコピーして、いつものように実行可能にしましたsudo chmod +x /usr/lib/pm-utils/sleep.d/45fixusbwakeup。私は専門家ではありませんし、このフックは私の場合は常に動作していたので、今何が問題なのか見当もつきません。

基本的に必要なのは、コンピューターがスリープ状態になる前、または起動するたびに、次の 3 つのコマンドが実行されることです。

sudo -s
echo USB0 > /proc/acpi/wakeup
echo USB2 > /proc/acpi/wakeup

また、ターミナル コマンドでサスペンドするとスクリプトは問題なく動作しますが、Xubuntu の従来のログアウト--->サスペンド ボタンでは動作しないので、これは Xubuntu に関連した問題だと思います。実際には、を介してサスペンドしており、それが問題を引き起こしているとsudo pm-suspend思います。xfce4-session-logout --suspend

答え1

xfce4-session は、systemd システムで systemd-sleep を使用します (pm-suspend ではありません)。systemd-sleep フックは、次のテンプレートを使用して /lib/systemd/system-sleep に配置する必要があります。

#!/bin/sh
case $1/$2 in
  pre/*)
    echo "Going to $2..."
    ;;
  post/*)
    echo "Waking up from $2..."
    ;;
esac

...そして実行可能になります。systemd のもう 1 つの注意点は、このディレクトリ内のスクリプトが、名前に基づいて順番に実行されるのではなく、同時に実行されることです (pm-utils の場合のように)。

答え2

起動時にコマンドを実行するには

コマンド(削除sudo -s)を.shファイルを作成し、 で実行可能にしますchmod +x <filename>

作成する新しいbash スクリプトを含みgksudo -s root <path_to_other_bash_script>、実行可能にします。

ファイルを作成する。デスクトップディレクトリにサフィックスを追加し~/.config/autostartます。ない場合はフォルダーを作成してください。

以下のものを。デスクトップファイル:

[デスクトップエントリー]
名前=2番目のbashスクリプトの名前
Exec=パス/to/second/script
タイプ=アプリケーション

bash スクリプト内に存在するコマンドは起動時に実行されます。

関連情報