web-dev-qa-db-ja.com

再開時にスクリプトが実行されていません

Asus UL30で11.04を実行しています。シンクライアントの設定(レジューム中に失われる)を修正するスクリプトを実行しようとしています。 /etc/pm/sleep.d/10_touchpadに次のスクリプトを作成しました。

#!/bin/sh

#change synclient settings on resume

case "$1" in 

    resume|thaw)

        sleep 15 && synclient TapButton2=2 TapButton3=3 ;;
esac

/ var/log/pm-suspendは次を示します。

/etc/pm/sleep.d/10_grub-commonサスペンドサスペンド:成功。実行中のフック/etc/pm/sleep.d/10_touchpadサスペンドサスペンド:/etc/pm/sleep.d/10_unattended-upgrades-hibernateレジュームサスペンド:成功。実行中のフック/etc/pm/sleep.d/10_touchpad resume suspend:Xサーバーへの接続に失敗しました。

/etc/pm/sleep.d/10_touchpad resume suspend:success。実行フック/etc/pm/sleep.d/10_grub-common

再開時にこのスクリプトによってsynclientの変更が変更されない理由は本当にわかりません。洞察力をいただければ幸いです...

4
benbeel

直接回答

(マシンの再開時にXセッション依存のユーザースペーススクリプトを実行する)目標を達成するには、次の手順を実行する必要があります。

  1. 適切なユーザーとしてスクリプトを実行します。そして
  2. dISPLAY変数が設定されていることを確認してください。

行を移動しますsleep 15 && synclient TapButton2=2 TapButton3=3別のファイルに言う/usr/local/sbin/setupTouchpad.shそして、行を次のように置き換えます。

   export DISPLAY=:0
   su -c - <yourusername> /usr/local/sbin/setupTouchpad.sh

どこ <yourusername>は交換する必要があります。コードを実行する前にシステムが起動していることを確認するために、ある程度のスリープ時間を設定することをお勧めします。また、必ずchmod +x それ setupTouchpad.sh 脚本。


より良い方法

上記の問題は、ユーザー名をハードコーディングする必要があることです(または、何らかのユーザーがログインしていて、アクティブなXセッションを持っているかをハックする方法を使用してください)。 Xのシステム全体のタッチパッド設定を設定することをお勧めします。

これらのオプションは、/usr/share/X11/xorg.conf.d/

私にとって、編集する正しいファイルは50-synaptics.confここにオプションを設定しました。そのファイルの一部を次に示します。

Section "InputClass"
        Identifier "touchpad catchall"
        Driver "synaptics"
        MatchIsTouchpad "on"

        Option          "TapButton2"              "2"
        Option          "TapButton3"              "3"

        # Etc...
EndSection

既にお気づきかもしれませんが、有効なオプションを表示するには、単にsynclientを実行します。

これらの変更を有効にするには、Xを再起動する必要があります。たとえば、Ubuntuでこれを行うには、Sudo /etc/init.d/lightdm restart

変更をプレビューするには、次の行(またはいくつかのバリアント)を実行してみてください。削除する | bash最後から、それが発行しているコマンドを確認します。

cat /usr/share/X11/xorg.conf.d/50-synaptics.conf | grep Option | grep -v "^\#" | awk '{print "synclient " $2 "=" $3}' | sed 's/\"//g' | bash

Googleでtouchpad settings synaptics xorg.conf.dオプションの概要もいくつかあります。


参考文献

3
Geoff