【コラム】
相変わらずLinux Zaurusを愛でる日々だが、カーネルの設定ファイルを眺めていたところ、NFSクライアント機能が有効なことに気付いた。早速Mac OS X側でNFSサービスを開始(当コラム第13~14回をご参照)、Linux Zaurus側で「mount -t nfs IPアドレス:/Users/Shared /mnt/net」としたところ…あっさりとMac OS Xの領域をマウントできた。かなり便利なので、Linux Zaurusユーザは試してみよう。
さて、今回はTerminalで日本語文書を読むことに挑戦したい。開発環境が必要となるので、10.2に付属するパッケージをあらかじめインストールしておいてほしい。
以前も当コラム(第28回)で触れたが、今度のTerminalはマルチバイト文字の表示に対応している。動作が不安定などの問題は抱えているが、最大の懸案事項はクリアされた格好だ。
しかし、収録されているコマンドの多くは相変わらず日本語を通さない。デフォルトのシェル(tcsh)も8bitクリーンではないため、日本語ファイル名を使おうとすると再コンパイルせざるを得ない。Javaソースコードをコンパイルするときに利用する「javac」に至っては、メッセージをMS漢字コード(SJIS)で出力するため、「◆」に「?」を重ねた記号が画面中に表示されてしまう。
Mac OS Xが採用するファイル/ディレクトリ名のエンコーディング形式が「UTF-8」である、ということも事態を少し複雑にしている。歴史的な経緯からUNIX系OSでは日本語EUCを使用することが多く、マルチバイト文字に対応するコマンドのほとんどが日本語EUCに対応、同時にISO-2022-JP(JIS)やSJISもサポートされることが多いが、UTF-8となると話は別だ。
その結果、コマンドのソースコードを入手して再コンパイルしても、扱えるのは日本語EUCかJIS、SJISであり、ファイル/ディレクトリ名のエンコーディング形式とは異なってしまう。テキストファイルを例にすると、ファイル名はUTF-8だが中身は日本語EUC/JIS/SJISというチグハグな状態になり、しかもMac OS Xに付属のページャ(more、less)はマルチバイト文字を通さないため中身を閲覧できない。つまり、Terminalで日本語のテキストを読むためには、UTF-8に対応する文字コード変換ツールまたはページャが必要となるのだ。
文字コードの変換には、バージョン2.0以降の「nkf」を利用するといいだろう。オプション「-w」を指定しUTF-8で出力すれば、Terminalの画面に日本語文書を表示できる。読み込むファイルの文字コードは自動判定されるので、日本語で記述されたテキストファイルは「cat hoge.txt | nkf -w」とすればOK。nkfのソースコードの入手とインストールの手順は次のとおりだ。
○nkfのインストール(管理者権限要)
% curl -O
% zcat nkf201.shar.gz | sh
% cd nkf201; make CFLAGS=-O2
% make test
% sudo cp nkf /usr/local/bin
% sudo cp nkf.1 /usr/local/man/man1
% rehash
ページャには「lv」を利用するといいだろう。nkf同様、読み込むファイルの文字コードは自動判定できるので、出力用の文字コードにUTF-8を指定しておけばいい。いちいちオプションを指定するのが面倒な場合は、~/.tcshrcなどのログインスクリプトへ「setenv LV '-z -Ia -Ou8'」などと記述しておけば、「lv hoge.txt」とするだけで日本語テキストを閲覧できる。lvのソースコードの入手とインストールの手順は次のとおり。
○lvのインストール(管理者権限要)
% curl -O
% tar xzf lv4494.tar.gz
% cd lv4494/build
% ../src/configure; make
% mv Makefile Makefile.bak
% sed 's/-o bin -g bin/-o root -g wheel/' < Makefile.bak > Makefile
% sudo make install
% rehash
これで、「javac」のメッセージも正常に表示されるようになる。引数を何も与えないときのメッセージは標準エラー出力としてTerminalにアウトプットされるので、「javac |& nkf -w」または「javac |& lv」とすれば、日本語のメッセージを読めるはずだ。
| レノボ・ジャパン、ウェブ広告モデルを一般公募 - 新生活キャンペーンの一環で [21:21 2/10] |
| 【レポート】スマートフォンを狙ったワンクリック詐欺やオンラインバンキングを狙うゼットボット - トレンドマイクロマンスリーレポート [20:43 2/10] |
| 【レポート】レノボ、大和研究所の開発陣らによる「ThinkPad X1 Hybrid」の技術解説 [20:41 2/10] |
| デル、「冬モデルファイナルセール」最終週 - 各種アップグレードが無料 [20:13 2/10] |
| Appleが3月初旬にスペシャルイベント開催の噂 - iPad 3の発表か [18:34 2/10] |
|
【レポート】「appliko」がオススメAndroidアプリを紹介!! - 1月31日~2月8日のAndroidアプリランキング [01:30 2/11] 携帯 |
|
【レポート】人気の無料/有料アプリを毎週紹介 - 1月31日~2月8日のAndroidアプリランキング [01:00 2/11] 携帯 |
|
渡部篤郎主演でドラマ化!地元新聞社が伝え続けた東日本大震災の物語 [00:08 2/11] キャリア |
|
沖縄発ヒーロー革命!「琉神マブヤー」が海を越えハワイを目指す! [00:08 2/11] キャリア |
|
中国四川省、パンダの保護と生態研究の最新情報とは? [00:08 2/11] キャリア |