注意:このページの内容については、何ら動作を保証するものではありません。使用するときは個人の責任でお願いします。Xにはコマンドを打ち込んで様々な操作を行うための"Terminal"というアプリケーションが入っています。できるようになっています。バックスペースの動作がちょっとおかしかったり(漢字半分だけカーソルが戻るとか)、文字化けしたりする(特に日本語文字コードをEUCにしていると)ことがまだあります。いうことで、「CUIで快適に日本語を使える環境をでっちあげよう!」というのが今回のテーマです。JTerminalまず、Terminalの代りにKusamaさんのJTerminal(*1)を使うことによって日本語(EUC)表示・入力ができるようになります。(*1):iTermというソフトでも日本語表示・入力できますが、ちょっとした理由(ssh-agent配下で動かせる)で私はJTerminalを使っています。このあたりの対処法などはbashとtcshのページで書くことにします。Toolsをインストールしておく必要があります。Builder)が立ち上がると思います。あとは、左上のbuildボタンをクリックして暫く待てば、buildフォルダの中にJTerminalが出来あがっていますので、適当な場所にコピー(その場で使っても良いですが)すればおしまいです。X付属のTerminalとほぼ同じですから、説明する必要もないでしょう。hegehoge.txtというファイルに日本語(EUC)で書かれたファイルが入っているとすると、次のようにすれば、日本語表示されるのが分かると思います。:%"%"はプロンプトです。Xが標準で持っているページャのlessは日本語を通しません。このあたりの対処法は日本語lessのページで書くことにします。ところで、JTerminalが扱えるのは日本語EUCだけです。Xが扱うファイル名はUTF-8で表現されていますから、lsコマンドなどを使って、日本語ファイル名を表示させようとしてもそのままではうまく行きません。こんなときは、日本語文字コード変換ソフトを使ってUTF-8からEUCへの変換が必要になってきます。コマンドラインから使用できる文字コード変換ソフトとしては、有名なnkfというのがあります。nkfを用いれば例えば以下のように日本語ファイル名を表示することができます。゙]のように)されて表示されてしまいます。X専用の日本語文字コード変換ソフトを作ってしまいました。これについては後ほど書くことにして、その前に...nkfnkfはかなり有名な漢字コードコンバータですから知っている人も多いと思います。nkfは比較的簡単に使えるようにできますが、ちょっとした注意点もあります。そのおおよその手順は以下の通りです。http://www.ie.u-ryukyu.ac.jp/~kono/nkf/あたりからnkf203.sharを拾ってくる。nkf203.sharに実行パーミッションを付ける。nkf203.sharがエラーを起こさないように"NKF"という名前のディレクトリをその場に作成しておく。nkf203.sharを実行する。"NKF"というディレクトリ名を適当に(NKFPLとでも)変更(*2)しておく。できたnkfを適当な場所(pathが通っている場所がベター。その後rehashをするのが吉)に移動する。nkf.1をmanで利用できる場所にコピーする。nkf.1jの文字コードをEUCに変更し日本語manで利用できる場所にnkf.1という名前にかえて移動する。(*2):ファイルシステムがHFS+の場合、ファイル(フォルダ)名の大文字と小文字を区別しないので、"NKF"というフォルダが存在すると"nkf"というファイル(プログラム)がうまく作成できないため、名称変更する。ちなみに"NKF"フォルダの中にはperlで利用できるnkfが入っているが、今回は利用しないのでパス。ファイルシステムとしてUFSを使っているときは名称変更の必要は無い。上記シーケンスの2.以降は以下のようになります。Xがアップデートされても消えてしまわないように、/usr/local/manにmanページを入れておくことにします。この場合(shellとしてtcshを使っているなら).tcshrcファイルか.loginファイルで環境変数MANPATHに設定しておくのが便利でしょう。Xに標準でインストールされているmanでは日本語のmanページを表示できません。このあたりの対処方法は日本語manのページで説明します。nkfを使えば、例えば次のようにしてEUC以外の日本語コードで書かれたファイルも表示することができます。-e%mcccところが、nkfを使っても濁点や半濁点は分割して表示されてしまいます。Formというものを使っているそうで、こんなことになってしまうようです。(詳しくないのであまり突っ込まないように^_^;)それだけではなく、例えばファイル名のような短いUTF-8の文字列は自動認識に失敗しやすいことなどもあるようです。Frameworkを使ってコード変換すれば間違いはなかろうということで作ったのがmcccです。インストールはいたって簡単で、ダウンロードしたら適当な場所で展開(解凍)し、中に入っている"mccc"という名前のファイルをパスの通っている場所に移動/コピーするだけです。JIS(ISO-20222JP)を、指定した文字コードに変換し、標準出力またはファイルに吐き出すことです。日本語ファイル/フォルダ名を表示したいなら、以下のようになります。mccc"などと、入力するのも面倒だ、という人は、.tcshrcなどに次のようなAliasを登録しておけば良いでしょう。~/.tcshrc%これでlsの代りにlsuを使えば、日本語ファイル名を含めて正しく表示されると思います。各種の改行コード変換を行うこともできます。mcccのソースコードも同梱しておきましたから、物足りない人は適当にいじってもらって構いません。