web-dev-qa-db-ja.com

ウェイクアップ時にbashスクリプトを実行する

しばらくして、私はLinuxディストリビューション(Kubuntu 18.04)でProlbemを使用しています。 Linuxがスタンバイモードから戻ってくるたびに、タッチパッドが正しく機能しなくなります(ファイルや他のオブジェクトを取得してドラッグできません)。

私はすでに問題の解決策を見つけました:

modprobe psmouse -r
modprobe psmouse

このコードは問題を解決します。ただし、この後、sartupで常に無効にする右クリック領域が再び有効になります。以下を実行する起動時に実行するスクリプトがあります。

synclient RightButtonAreaLeft=0
synclient RightButtonAreaTop=0

私が今やろうとしているのは、システムがスタンバイモードから起動しているときに実行されるスクリプトを記述することです。私はこのようなスクリプトを書きました:

#!/bin/bash
exec 1> /home/luc/Schreibtisch/update.log 2>&1
set -x

case $1/$2 in
  pre/*)
    echo "Going to $2..."
    # Place your pre suspend commands here, or `exit 0`
    # if no pre suspend action required
    exit 0
    ;;
  post/*)
    echo "Waking up from $2..."

    sh /home/luc/Schreibtisch/test.sh
    sh /home/luc/Schreibtisch/test2.sh
    ;;
esac

ここで、test.shはmodprobeコマンドを実行し、test2.shはsynclientコマンドを実行します。

スタンバイモードに移行して再び目を覚ますと、次のログが表示されます。

+ case $1/$2 in
+ echo 'Waking up from suspend...'
Waking up from suspend...
+ sh /home/luc/Schreibtisch/test.sh
+ sh /home/luc/Schreibtisch/test2.sh
Failed to connect to X Server.
Failed to connect to X Server.

また、ファイルの取得とドラッグは完全に機能しますが、右クリックは引き続き有効です。

私の質問は、Xサーバーの準備ができた後でsynclientコマンドを実行できるかどうかです。

親切にペプシロン

1
Pepsilon7

ウェイクアップ後にタッチパッドが正しく機能しない問題の回避策を見つけたようです。

私の/etc/modprobe.d/blacklist.confモジュールi2c_i801はブラックリストに登録されました。このモジュールをブラックリストから削除した後、スタンバイモードの後、私のタッチパッドは正常に動作します。

0
Pepsilon7