逆引きシェルスクリプト/USBマウスの挿抜でタッチパッドをオンオフする
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
]
開始行:
#navi(../)
* USB接続マウスの抜き挿しによりタッチパッドのオン・オフ制...
XubuntuをノートPCで使っていたところ、タッチパッドにより誤...
タッチパッドを自動的にオン・オフしたいなぁ。と思いシェル...
&color(red){適当に作ったサンプルスクリプトなので他にも良...
&color(red){シェルスクリプトのサンプルということで活用し...
&color(red){また皆様の環境では正常に動作しない可能性もあ...
#htmlinsertpcsp(linux_ads_top.html,linux-sp.html)
#contents
* 関連記事 [#p61a1510]
-[[タッチパッドをオン・オフするコマンド・synclient>Ubuntu...
* 使用したディストリビューション [#j3bd8481]
$ lsb_release -cd
Description: Ubuntu 18.04.2 LTS
Codename: bionic
* マウスの挿抜によりタッチパッドのオン・オフを制御するシ...
以下、USB接続マウスの挿抜によりノートPCのタッチパッドをオ...
#ref(touchpad_auto_on_off.sh)
#!/bin/bash
SLEEP_TIME=2
GREP_WORD='Mouse'
TOUCHPAD='ON'
while :
do
(lsusb -v | grep $GREP_WORD) > /dev/null 2>&1
status=$?
if [ $status -eq 0 -a $TOUCHPAD = 'ON' ]; then
TOUCHPAD='OFF'
synclient TouchpadOff=1 > /dev/null 2>&1 # touch...
elif [ $status -ne 0 -a $TOUCHPAD = 'OFF' ]; then
TOUCHPAD='ON'
synclient TouchpadOff=0 > /dev/null 2>&1 # touch...
fi
sleep $SLEEP_TIME
done
** シェルスクリプトの説明 [#z2974728]
上記のシェルスクリプトについて説明します。
- whileの無限ループ内で lsusb -v コマンドを発行し、Mouse ...
- grepにより、Mouseというキーワードが見つかった場合、0が...
- grepの結果が0(発見)であり、TOUCHPAD変数の状態がONの場合...
- 抜かれた場合の結果は0以外(発見できず)かつTOUCHPAD変数が...
- SLEEP_TIMEで指定した秒数ウエイトします。~
初期値では2を指定しているので、2秒毎、USB接続マウスのチェ...
** synclientコマンドがインストールされていない場合 [#s2fc...
''synclient''コマンドがあるパッケージをdpkgコマンドで調べ...
$ dpkg -S `which synclient`
xserver-xorg-input-synaptics: /usr/bin/synclient
synclientコマンドは、''xserver-xorg-input-synaptics'' パ...
以下のコマンドでインストールすることができます。
sudo apt install xserver-xorg-input-synaptics
インストール後、一度ログアウトしてください。~
インストール直後で、synclientコマンドを実行しても動作しな...
** notify-sendコマンドがインストールされていない場合 [#a9...
''notify-send''コマンドがあるパッケージをdpkgコマンドで調...
$ dpkg -S `which notify-send`
libnotify-bin: /usr/bin/notify-send
notify-sendコマンドは、''libnotify-bin'' パッケージにある...
以下のコマンドでインストールすることができます。
sudo apt install libnotify-bin
* スクリプトの自動実行 [#h8b07d4c]
本スクリプトを設置し自動実行するようにしてみます。~
尚、本スクリプトは ~/bin に保存したと仮定し以下に記します。
+ 本スクリプトを保存するディレクトリを作成
mkdir $HOME/bin
+ 本スクリプトを設置(配置)します。~
+ スクリプトがあることを確認しました。
$ ls ~/bin/
touchpad_auto_on_off.sh
+ パーミッションを変更し動作するようにします。
chmod +x $HOME/bin/touchpad_auto_on_off.sh
#br
ここで動作確認をしたい場合は、以下のように実行してくださ...
$ ~/bin/touchpad_auto_on_off.sh
Ctrl+Cで停止することもできます。
#br
+ 以下、Xfce(Xubuntu)になりますが、セッションと起動に、今...
--Ubuntuの場合は以下のキャプチャの通り、Dashで''session''...
#ref(21.png)
--Lubuntuの場合は''設定→Lxsessionのデフォルトのアプリケー...
++ セッションと起動 の画面です。
#ref(01.png)
#br
++ 本シェルスクリプトを追加します。
#ref(02.png)
#br
++ 一番下に追加されているのが確認できます。
#ref(03.png)
#br
++一度、ログアウトし、再度ログインすれば、本スクリプトが...
* notify-sendコマンドを使ってタッチパッドのオンオフを表示...
上記のシェルスクリプトにnotify-sendコマンドを追加し、通知...
#ref(touchpad_auto_on_off_2.sh)
#!/bin/bash
SLEEP_TIME=2
GREP_WORD='Mouse'
# NOTIFY SEND PARAMETER
NOTIFY_TITLE='Touchpad'
NOTIFY_TIME=5000
TOUCHPAD='ON'
while :
do
notify=''
(lsusb -v | grep $GREP_WORD) > /dev/null 2>&1
status=$?
if [ $status -eq 0 -a $TOUCHPAD = 'ON' ]; then
TOUCHPAD='OFF'
synclient TouchpadOff=1 > /dev/null 2>&1 # touch...
notify='Disabled Touchpad.'
elif [ $status -ne 0 -a $TOUCHPAD = 'OFF' ]; then
TOUCHPAD='ON'
synclient TouchpadOff=0 > /dev/null 2>&1 # touch...
notify='Enabled Touchpad.'
fi
if [ "$notify" != "" -a "$DISPLAY" != "" ]; then
notify-send -t $NOTIFY_TIME "$NOTIFY_TITLE" "$no...
fi
sleep $SLEEP_TIME
done
-マウス接続時の通知
#ref(11.png)
#br
-マウスを抜いたときの通知
#ref(12.png)
以上、USB接続マウスの抜き挿しにより、ノートPCのタッチパッ...
#htmlinsertpcsp(linux_ads_btm.html,linux-sp.html)
終了行:
#navi(../)
* USB接続マウスの抜き挿しによりタッチパッドのオン・オフ制...
XubuntuをノートPCで使っていたところ、タッチパッドにより誤...
タッチパッドを自動的にオン・オフしたいなぁ。と思いシェル...
&color(red){適当に作ったサンプルスクリプトなので他にも良...
&color(red){シェルスクリプトのサンプルということで活用し...
&color(red){また皆様の環境では正常に動作しない可能性もあ...
#htmlinsertpcsp(linux_ads_top.html,linux-sp.html)
#contents
* 関連記事 [#p61a1510]
-[[タッチパッドをオン・オフするコマンド・synclient>Ubuntu...
* 使用したディストリビューション [#j3bd8481]
$ lsb_release -cd
Description: Ubuntu 18.04.2 LTS
Codename: bionic
* マウスの挿抜によりタッチパッドのオン・オフを制御するシ...
以下、USB接続マウスの挿抜によりノートPCのタッチパッドをオ...
#ref(touchpad_auto_on_off.sh)
#!/bin/bash
SLEEP_TIME=2
GREP_WORD='Mouse'
TOUCHPAD='ON'
while :
do
(lsusb -v | grep $GREP_WORD) > /dev/null 2>&1
status=$?
if [ $status -eq 0 -a $TOUCHPAD = 'ON' ]; then
TOUCHPAD='OFF'
synclient TouchpadOff=1 > /dev/null 2>&1 # touch...
elif [ $status -ne 0 -a $TOUCHPAD = 'OFF' ]; then
TOUCHPAD='ON'
synclient TouchpadOff=0 > /dev/null 2>&1 # touch...
fi
sleep $SLEEP_TIME
done
** シェルスクリプトの説明 [#z2974728]
上記のシェルスクリプトについて説明します。
- whileの無限ループ内で lsusb -v コマンドを発行し、Mouse ...
- grepにより、Mouseというキーワードが見つかった場合、0が...
- grepの結果が0(発見)であり、TOUCHPAD変数の状態がONの場合...
- 抜かれた場合の結果は0以外(発見できず)かつTOUCHPAD変数が...
- SLEEP_TIMEで指定した秒数ウエイトします。~
初期値では2を指定しているので、2秒毎、USB接続マウスのチェ...
** synclientコマンドがインストールされていない場合 [#s2fc...
''synclient''コマンドがあるパッケージをdpkgコマンドで調べ...
$ dpkg -S `which synclient`
xserver-xorg-input-synaptics: /usr/bin/synclient
synclientコマンドは、''xserver-xorg-input-synaptics'' パ...
以下のコマンドでインストールすることができます。
sudo apt install xserver-xorg-input-synaptics
インストール後、一度ログアウトしてください。~
インストール直後で、synclientコマンドを実行しても動作しな...
** notify-sendコマンドがインストールされていない場合 [#a9...
''notify-send''コマンドがあるパッケージをdpkgコマンドで調...
$ dpkg -S `which notify-send`
libnotify-bin: /usr/bin/notify-send
notify-sendコマンドは、''libnotify-bin'' パッケージにある...
以下のコマンドでインストールすることができます。
sudo apt install libnotify-bin
* スクリプトの自動実行 [#h8b07d4c]
本スクリプトを設置し自動実行するようにしてみます。~
尚、本スクリプトは ~/bin に保存したと仮定し以下に記します。
+ 本スクリプトを保存するディレクトリを作成
mkdir $HOME/bin
+ 本スクリプトを設置(配置)します。~
+ スクリプトがあることを確認しました。
$ ls ~/bin/
touchpad_auto_on_off.sh
+ パーミッションを変更し動作するようにします。
chmod +x $HOME/bin/touchpad_auto_on_off.sh
#br
ここで動作確認をしたい場合は、以下のように実行してくださ...
$ ~/bin/touchpad_auto_on_off.sh
Ctrl+Cで停止することもできます。
#br
+ 以下、Xfce(Xubuntu)になりますが、セッションと起動に、今...
--Ubuntuの場合は以下のキャプチャの通り、Dashで''session''...
#ref(21.png)
--Lubuntuの場合は''設定→Lxsessionのデフォルトのアプリケー...
++ セッションと起動 の画面です。
#ref(01.png)
#br
++ 本シェルスクリプトを追加します。
#ref(02.png)
#br
++ 一番下に追加されているのが確認できます。
#ref(03.png)
#br
++一度、ログアウトし、再度ログインすれば、本スクリプトが...
* notify-sendコマンドを使ってタッチパッドのオンオフを表示...
上記のシェルスクリプトにnotify-sendコマンドを追加し、通知...
#ref(touchpad_auto_on_off_2.sh)
#!/bin/bash
SLEEP_TIME=2
GREP_WORD='Mouse'
# NOTIFY SEND PARAMETER
NOTIFY_TITLE='Touchpad'
NOTIFY_TIME=5000
TOUCHPAD='ON'
while :
do
notify=''
(lsusb -v | grep $GREP_WORD) > /dev/null 2>&1
status=$?
if [ $status -eq 0 -a $TOUCHPAD = 'ON' ]; then
TOUCHPAD='OFF'
synclient TouchpadOff=1 > /dev/null 2>&1 # touch...
notify='Disabled Touchpad.'
elif [ $status -ne 0 -a $TOUCHPAD = 'OFF' ]; then
TOUCHPAD='ON'
synclient TouchpadOff=0 > /dev/null 2>&1 # touch...
notify='Enabled Touchpad.'
fi
if [ "$notify" != "" -a "$DISPLAY" != "" ]; then
notify-send -t $NOTIFY_TIME "$NOTIFY_TITLE" "$no...
fi
sleep $SLEEP_TIME
done
-マウス接続時の通知
#ref(11.png)
#br
-マウスを抜いたときの通知
#ref(12.png)
以上、USB接続マウスの抜き挿しにより、ノートPCのタッチパッ...
#htmlinsertpcsp(linux_ads_btm.html,linux-sp.html)
ページ名: