Tethering

Bluetoothのオン・オフをコマンドラインから切り替える

以前、ブログで書いたAndroidのテザリング用アプリ、Easytether。 EasytetherでBluetoothテザリング

端末はXperia Z1f(Docomo)を使っていて、MVMOのSIMに切り替えた際に機器デフォルトのテザリング機能が利用できなくなってしまった。 EasytetherではBluetooth, USBテザリングが選択できるが、こちらはMVMOのSIMを利用しても問題なくテザリングできる。

Easytether使う前にBluetoothを有効にする

Easytetherを使う際にはAndroid側のBluetooth,EasyTetherを立ち上げてBluetoothテザリングを有効にし、そのあとPC側でBluetoothをパネルから有効にし、 コマンドラインでeasytether-bluetooth connect -d MAC_ADDRESSと入力する必要がある。

結構面倒なのだ。喫茶店に来るたびにこれをやったり、携帯もって少し離れるとBluetoothは切れてしまうので、また再接続するのがダルい。 ということで以前のブログでEasyTether用にショートカットキーを割り当てたのだが、Bluetooth自体のオン、オフはまだ出来ていなかった。

EasytetherでBluetoothテザリング

Easytether with linux EasytetherFull( GooglePlay ) 数年前に、AndroidのXperia acroHD使ってた時に利用してた有償のテザリングアプリ。一応FreeのLite版もある。 そして、公式のLinux向けクライアントがある。 当時はUSBテザリングで利用しており、テザリングサポート外の端末でも動作して、そこそこ速度が出ていたので利用していた。 Linux版パッケージは こちら からダウンロード可。 現在利用しているXperia Z1fではUSBテザリング、Wifiテザリング、Bluetoothは標準でサポートされている。 いつもはXperia側のバッテリーの事を気にかけてBluetoothでテザリングを行っていたが、Easytetherの事だから標準より速度出るのでは…?と、気になってみたのでやってみた Speedテスト3回戦 Easytether Bluetoothテザリング AndroidのBluetoothテザリング やはり、Easytetherの方が早い。 若干だけれども。 ただ、バッテリー消費量の検証は行っていないので片手落ち感はある。 ただし起動/終了が面倒なので、ショートカット割り当てまで行う。 おまけ(起動スクリプトの登録) 接続を切り替えるscriptを作る easytether.shを任意のディレクトリに作成。 #!/bin/sh pgrep -lf easytether ret=$? if test ${ret} -eq 0 then # 既に起動中の場合停止させる pkill easytether -f else # 対象のスマホのBluetoothのMACアドレスを指定して接続 sudo easytether-bluetooth BT:MA:CA:DD:RE:SS fi 内容はこんな感じ。 実行権与えたいのでsudo chmod +x easytether.shしてあげる sudo ./easytether.shで動かしてみる。 パスワードの省略( sudoersの変更 ) ただし、sudo つけてあげないとEasytetherが動いてくれないので、自動化やショートカット割り当てはには向かない。そこで下記のようにsudo visudoで当該スクリプトに関してはパスワードが必要ない旨を明示し、パスワードを省略する。 <username> ALL=(ALL) NOPASSWD: /path/to/script/ xbindkeysショートカットキーのマッピング xbindkeysを利用してマッピングする。 持ってない人はsudo apt-get install xbindkeysで入れましょう。便利。 ~/.xbindkeysrcに下記を追記する "sudo /path/to/script/easytether.sh" Mod4 + F2 これはSuper_L + F2で起動させるようにした。 これでEasytetherの切り替えがショートカットのみで行われるようになった。 色々なキーを自作のスクリプトにバインドしてるけれど、xbindkeys便利すぎる。 それではEasytetherで良いノマドライフを!