【コラム】
ついに300回到達!! 早いもので連載開始から7年、締め切りに遅れることはあっても休載は一度もなし、と気合いを入れて頑張って参りました。引き続きご支援のほどよろしくお願いします。
さて、記念すべき第300回は「Terminal」について。ここ数年は出番が減っていたが、Terminalが当コラムに欠かせない存在であることは確か。その機能の変遷を振り返りつつ、懸案だったbashの入れ替えを行おうという趣旨で進めてみよう。
最初にハッキリしておきたいのは、「Terminalは進化した」ということ。まずは300回記念企画 (?) として作成した表をご覧いただきたい。NEXTSTEP / OPENSTEP時代に誇った完成度の高さがキレイサッパリなくなっていたv1.0当時は、さすがに落胆したが、やがてユーザ有志による「JTerminal」や「iTerminal」という代替品が登場。しばらくは、Terminalと併用する時代が続いたと記憶している。
| 表: Terminal.appの変遷 | ||
| OSバージョン | Terminalのバージョン | 説明 |
|---|---|---|
| 10.0 (Cheetah) | v1.0 | マルチバイト文字非対応。端末ソフトというよりはコマンド実行用アプリに近い? |
| 10.1 (Puma) | v1.1 | マルチバイト文字非対応。文字列のエンコーディング形式を選択可能になった |
| 10.2 (Jaguar) | v1.3 | 文字が重なるなどの問題が多いものの、マルチバイト文字のサポートを実現した。ただし標準装備のtcshがマルチバイト非対応のため、自力でリコンパイルする必要があった |
| 10.3 (Panther) | v1.4 | デフォルトのシェルがtcshからbashに変更。マルチバイト文字サポートが改善され、日本語の表示も支障なく行えるようになった |
| 10.4 (Tiger) | v1.5 | マルチバイト文字のサポート改善。設定ファイルを追加すれば日本語入力にも対応できた |
| 10.5 (Leopard) | v2.0 | 描画速度が改善。タブのサポートや背景イメージの変更が可能になった |
日本語を母語とするユーザにとって、それなりに使えるレベルに達したのは、Tigerのときだろう。マルチバイト文字のサポートはJaguarのときに実現されたが、文字が重なって表示されるなど不具合があり、自力でページャ (lvやjless) を導入し日本語テキストを閲覧することさえままならなかった。
Leopardの現在、ターミナルエミュレータとしての機能にかぎっていえば、問題はほぼ解決されたといえる。文字が重なるなど表示に関するトラブルは減り、vimなどのエディタで日本語の文章を編集する用途にも十分使える。CoreText APIの利用により、表示速度も改善された。タブ機能が追加され、背景や文字色の設定も容易になっている。ようやく熟成の域に到達した、といえるのではないだろうか。
Leopardに収録されているコマンド群は、正式なUNIXとして認定されるために必要だったのか、TigerまでのBSDテイストが抑えられ、AT&T風に変化している。cpやgrep、psなどのコマンドの用法が変化したことは、こちらに説明があるとおりだ。
しかし、マルチバイト文字対応には少々不満が。lessはUTF-8を理解するものの、jlessのような文字コードの自動変換機能は持たないため実用にならない。デフォルトのシェル「bash」に使用されるGNU readline互換のライブラリ「libedit」は、UTF-8およびマルチバイトキャラクタを通さないため、日本語ファイル名の扱いに支障がある。日本語を含むファイル / ディレクトリが入力補完の対象にならないのは、libeditが原因だ。
lessについてはlvで代替できるとして、bashで日本語を扱おうとすればGNU readlineが必要になり……ということで、久々にbashをビルドしてみた。その具体的な手順は以下のとおり。
$ curl -O http://ftp.iij.ad.jp/pub/gnu/gnu/bash/bash-3.2.tar.gz
$ curl -O http://ftp.iij.ad.jp/pub/gnu/gnu/readline/readline-5.2.tar.gz
$ tar xzf readline-5.2.tar.gz
$ cd readline-5.2
$ ./configure
$ perl -i -pe "s/darwin\[78\]/darwin\[789\]/g" support/shobj-conf
$ make ; sudo make install
$ cd .. ; tar xzf bash-3.2.tar.gz ; cd bash-3.2
$ ./configure --with-installed-readline --enable-multibyte --with-curses
$ make ; sudo make install
これで、GNU readlineを使用したbashが/usr/local/binにインストールされるので、あとはTerminalの環境パネルを開き、起動タブにフルパスを指定すればOK。試したところ、日本語を含むファイル / ディレクトリの入力補完もバッチリ。実際に利用する機会は少なそうだが、ヒストリ検索に日本語を使えるのもうれしい。面倒がらずにLeopard導入と同時にインストールしておけばよかった、と今さらながら感じた次第だ。
【コラム】今週の注目オンラインソフト for Mac OS X 第33回 さっそく試す、モバイル版Firefox「Fennec」テストバージョン
【コラム】iPhone / iPod touch通信 第16回 iPhone上で画像編集できる、定番グラフィックツール「Photogene」
| 【特別企画】標準で4GHz動作! メーカー公認のCPU+GPUダブルオーバークロックマシン登場 [08:30 2/10] |
| 新世代PCを開拓する「Windows on ARM」、MSが概要を説明 [08:07 2/10] |
| iPad 3の強化点はディスプレイ・バッテリ・GPUか - 海外報道 [23:04 2/9] |
| iTunes Matchが生み出す「Magic Money」とは? [22:47 2/9] |
| アスク、システムドライブを2.5インチSATA HDD/SSDに複製するUSBケーブル [18:50 2/9] |
|
OAD『君のいる町 ~黄昏交差点~1』よりキャストメッセージを紹介 [09:22 2/10] ホビー |
|
ファーストサーバ、サイボウズの最新版「Office 9」をASPで提供開始 [09:19 2/10] ビジネスPC |
|
【コラム】独占画像の壁紙付コラム 第2回 リアル流血描写が話題のRPGを映画化!禁断の血しぶき増量画像も入手 [09:06 2/10] エンタメ |
|
TVアニメ『ファイ・ブレイン ~神のパズル』、第2シリーズの新キャスト決定 [09:00 2/10] ホビー |
|
【レポート】新型「コンビニATM」入れ替え作業をミタ!! - 東京23区で4月末までに1700台! [09:00 2/10] ライフ |