私は電源ボタンの押しを処理するためにtkinterアプリを作成しましたが、起動する必要があるときは起動しません。 acpi操作として使用すると、echo hello>>~/junk
電源ボタンを押すたびに「hello tojunk」が追加されます。作業コマンドの前にexecまたはドットを追加すると(現在のシェルで実行するために)役に立ちません。どのように動作させることができますか?
編集する:
まあ、MikeJoneseyの助けを借りて問題を解決しましたが、別の問題が発生しました。スクリプトに suid ビットが設定されていても、root 権限でスクリプトを呼び出すため、回復するには xlock 画面で root パスワードを入力する必要があります。
編集2:
次のようにacpiイベントファイルからアプリケーションを起動できるようです。
event=button/power PBTN
action=export DISPLAY=:0 && export XAUTHORITY=/home/saga/.Xauthority &&/home/saga/bin/shutdownprompt
ただし、イベントファイルから呼び出されるハンドラスクリプトではありません。
button/power )
if [ "$2" = "PBTN" ];then
export DISPLAY=:0 && export XAUTHORITY=/home/saga/.Xauthority && /home/saga/shutdownprompt;
fi
;;
以下は、キーを押すたびに呼び出されるデフォルトのハンドラスクリプトの一部です。ここで問題は何ですか?
ベストアンサー1
Xを使用するには何かを追加する必要があります。
私はそれらをcronjobで使用します(同じことです...)
#*/15 * * * * export DISPLAY=:0.0 && export XAUTHORITY=/home/mike/.Xauthority && /home/mike/bin/defunct-check.sh
これはすべてのスクリプトで機能します。