iPhoneのTerminal活用術 その1


iPhoneをJBするとCydiaからTerminalがインストール出来るようになる。TerminalはLinuxのコンソールで、Windowsで言うところのMS-DOSコマンドプロンプトに相当するものだ。


Terminalは言うまでもなくgrepやらfindやらのLinuxコマンドが使える。
Terminalの操作説明は以前も書いたが再度まとめておく。


■ 基本操作


・Terminalの画面上のキャプションの右半分のところをタップすると他のターミナル画面に切り替えが出来る(マルチターミナル)
・「キャプションの右半分」のさらに左半分と右半分とでひとつ前のターミナルと次のターミナルとに移動できる。


・Terminalは画面左上をタップすると設定画面に行けて、「Gesture」を選ぶとジェスチャーを登録したり現在登録されているジェスチャーを確認したり出来る。(CtrlやらTabやらをジェスチャーで入力出来る)


・よく使うコマンドはショートカット登録されているので画面上半分のどこかを長押しすれば出てくる(findも登録されている。特殊な文字、例えば、'*'は、長押し→右下の「:~)」→「*」とやって出す)


・画面上半分で小さく指を移動させると上下左右のカーソル移動。大きく左右に指を動かすとHome / End。大きく下に動かすとEnter。(長押しするとショートカットが出てくるので短く押して素早く移動させるのがコツ)


・画面の右端で上下にドラッグさせるとスクロール可能。




■ OpenSSHのパスワードの変更


OpenSSHのパスワードをディフォルトのまま運用している人が多いみたいだけど、とても危険なので、必ずパスワードを変更するべき。


Terminalを使えばパスワードの変更は簡単で、suでスーパーユーザーになって、passwdでいまのパスワード(alpine)と変更後のパスワードを入れるだけ。(後者は、確認のため2回入れる必要がある)


■ テキストエディタ


テキストエディタはviが最初から使えるが、viは慣れていない人にはかなり使いにくいので、nanoというpicoエディタのcloneを使うといいと思う。私の環境ではnanoは最初からインストールされていたが、使えない人はCydiaからnanoをインストールすること。


nanoは入力した文字がそのまま画面に表示されるのでviに比べれば使いやすいと思うが、終了だけ特殊な操作が必要で、Ctrl + Xだ。(画面下に表示されている)


Ctrlは、ジェスチャーで右下移動で入力できるので、そのあとXをタイプすればCtrl + Xを入力したことになる。


まあ、それだけ覚えておけばテキスト編集ぐらい出来るだろう。


■ よく使うLinuxコマンド


Linux リテラシ - 第1回 基本コマンド
http://rat.cis.k.hosei.ac.jp/article/rat/linuxliteracy/2005/commands.html


基本的なコマンド集
http://rat.cis.k.hosei.ac.jp/article/linux/command.html


もちろん、iPhoneのTerminalでもbashが使える。(入力補完に使うTabキーは、左下移動のジェスチャー。これを覚えておくと入力がずいぶん楽。)


bash 入門
http://rat.cis.k.hosei.ac.jp/article/linux/bash_intro.html


■ シンボリックリンク


Terminalが使えるとシンボリックリンクを作れるようになるので、rootへのシンボリックリンクを、フォルダ閲覧系のアプリのデータフォルダなどに配置しておくと便利だろう。

ln -s / /private/var/mobile/Applications/XXXXXXXX-XXXX-XXXXX-XXXX-XXXXXXXXXXXX/Documents/\ Root
ln -s /private/var/mobile/Library/Downloads /private/var/mobile/Applications/XXXXXXXX-XXXX-XXXXX-XXXX-XXXXXXXXXXXX/Documents/Downloads

例えば、Safari Download Plug-inでSafariでファイルをダウンロード出来るようにしておいて(→http://www.oshiete-kun.net/archives/2008/09/iphonetouchsafari.html)、そこをiComic(Cydiaからインストール出来るコミックビュアー)とか何らかのビュアーとかで開けば結構便利なのだが、そのときにiComicなどは自分の管理下のフォルダしか参照しないので、そこにSafariのダウンロードフォルダへのシンボリックリンクを作っておくと良いかも。

cd /var/mobile/Media/Comic
ln -s /var/mobile/Library/Downloads ./Downloads


プログラミング言語


bashスクリプトを書くのが嫌なら、Ruby,Python,gccがCydiaからインストール出来る模様。


■ Erica Utilities


とりわけ面白いのは、Erica Utilitiesではないかと思う。これはGPS情報を取得したり、マイクからの音声情報を取得できる。Cydiaからインストール可能。


Revised Erica Utilities
http://ericasadun.com/ftp/EricaUtilities/


面白そうなものを抜き出すと…


appSearch : アップルストアのアプリから検索する。(Safariが起動する)
ip-print : 現在のIPアドレスを表示
findme : GPS情報をxml形式で返す
play : オーディオファイル再生
recAudio : マイクから録音
tweet : twitterのupdate


■ GPS情報を定期的にログファイルに記録してみる


Erica Utilitiesを使って、GPS情報を定期的にログファイルに記録するスクリプトを書いてみる。


Terminalから実行したスクリプトは他のアプリが動作中でもスリープ中でも動き続けるので便利だ。(奥さん、ご主人の浮気調査にどうですか?)


まず、nanoを立ち上げて、

#!/bin/bash
while [ 1 ]
do
findme >> gps.log
sleep 5
done

と書いて、Ctrl+Xで保存。ファイル名は gps.sh とかにしておく。(「sleep 5」は「五秒待つ」の意味。これを調整するとログに書き出す間隔が変わる)

./gps.sh

として、このスクリプトを実行しておくと5秒ごとにgps.logにGPS情報が定期的に書き出される。


適当なところでCtrl+Zで停止させて、

cat gps.log

として表示させるとか、DiskAidでパソコンに転送させてニヤニヤするとか。(?)


あとは、このlogを定期的に自分のメアドにメールするようにスクリプトを書いてサービス化しておけば、iPhoneをどこかに忘れてきても大丈夫。


(たぶん続く)