スキップしてメイン コンテンツに移動

Linux で スマホ接続時に EasyTether を自動起動する

2014/02/05 再起動するとうまく動かなかった点を修正

Android に EasyTether というアプリがあります。

これを Linux Mint (Ubuntu) から使うには

  1. Android端末をUSB接続する
  2. easytether connect を実行する

という手順になります。
しかしこれを毎回手作業で行うのは少々手間です。

Windows 版の EasyTether のように
USB 接続しただけで自動的に EasyTether を動かしたい。


そこで、少し調べてみました。


すると Linux には、
USB を接続した時に自動的に呼び出せる処理があるようで
それを利用して、以下のように実現することができました。



まずはこんなシェルプログラムを用意します。

#!/bin/sh
if [ "z$1" = "zusb" ]; then
  if [ "z$ACTION" = "zadd" ]; then
    easytether connect &
  fi
fi

配置場所とファイル名は何でも構いません。
例えばホームフォルダに
  /home/ユーザ名/usbadd.sh
と保存したとします。

このファイルに実行権限を付けます。
コマンドは
chmod +x /home/ユーザ名/usbadd.sh
です。



次に、USB 接続時にこのシェルが実行されるように
システムに登録します。
登録手順は次のとおりです。

まず、コマンドラインから
  sysctl kernel.hotplug
を実行して下さい。

ここで
  kernel.hotplug =
とだけ表示されたらOKです。

が!
もし=の後ろに何か文字が表示される場合は作業を中止してください。
(この場合 USB 絡みの処理が既に入っていますので、続行するとそれが無効になってしまいます。諦めきれない方は後述の参考サイトを参照してシェルをご自身の環境に合わせて改造してください...)

何も表示されない場合、
/etc/sysctl.conf ファイルに
次の1行を追加します。



kernel.hotplug=/home/ユーザ名/usbadd.sh

このファイルの編集には管理者権限が必要ですので
  sudo pluma /etc/sysctl.conf
とでもして編集を行ってください。

最後に設定反映と確認を兼ねて
PCを再起動してからスマホをつないで
正しく動くか試してみましょう。


以上で
スマホを USB に接続した際、
自動的に EasyTether が起動してネットワークが使えるようになります。


参考サイト:
USB 接続時に任意のプログラムを動かせる点について
を参考にさせていただきました。

 

記事一覧