「日本語環境」の編集履歴(バックアップ)一覧に戻る

日本語環境 - (2007/06/06 (水) 16:18:24) のソース

*日本語環境

多分ほとんどの人が玄箱PROに対してはTeraTermなどのTerminalソフトを利用して接続するだろう。ここではリモートからTerminalソフトを使用して玄箱PROで色々な日本語が関係してきてしまう操作について私が困ったこと、解決したことについてまとめることにする。

**日本語コンソール
私が使用するのはTeraTermPro
玄箱PRO/DebianのデフォルトEncodingがUTF-8、正確に言うとデフォルトでロケールがen_US.UTF-8。
なので必然とTeraTermProの設定もSetup>Terminal>Kanjiがreceive,transmitともにUTF-8となるはずだ。
ただしこのままだとすべてのメッセージが英語のままであるため、どうしても日本語にしたい場合にはロケールをja_JP.UTF-8にすればよい。私はメッセージが日本語になると不快なので必要な時にだけ設定するようにしている。

> KUROBOX-PRO:~# apt-get install locales
> KUROBOX-PRO:~# vi /etc/locale.gen
> en_US.UTF-8 UTF-8
> ja_JP.UTF-8 UTF-8
> KUROBOX-PRO:~# locale-gen
> KUROBOX-PRO:~# export LANG=ja_JP.UTF-8
以上の操作でja_JP.UTF-8のロケールを作成して設定するのが完了するls -lなどで確かめてみると「total」だったのが「合計」などと日本語表記になるのが確認できる。

**SJIS(Shift_JIS)環境との調和
私が無知なだけかもしれないが、コマンドライン系のFTPクライアントで接続した先の日本語ファイル(Shift_JIS)の表示が文字化けてしまう。なんてファイル名かも分からなければ、それがディレクトリだった場合にcdもできない。
試してみたのはncftp, gftp, lftp, cftp, どれもリモートサーバーのファイル名のEncodingを指定する機能がない。GUI系だと色々あるらしいのだがTerminalソフトで玄箱PROに接続する私にとっては選択の余地もない。
で、色々試して唯一Shift_JISのファイル名を返すFTPサーバ接続が問題なくうまく行った方法は、lynxを使うことと、ロケールをja_JP.SJISにすることだった。

> KUROBOX-PRO:~# vi /etc/locale.gen
> en_US.UTF-8 UTF-8
> ja_JP.UTF-8 UTF-8
> ja_JP.SJIS WINDOWS-31J
> KUROBOX-PRO:~# locale-gen
> KUROBOX-PRO:~# export LANG=ja_JP.SJIS

TeraTermProの設定もSetup>Terminal>Kanjiがreceive,transmitともにSJISに変更

これでlynxを起動してoで設定画面を表示するがレイアウトがガタガタ。
Western (ISO-8859-1)の上のOFFでEnterしてONに変更
Western (ISO-8859-1)でEnterしてJapanese(Shift_JIS)に変更
Western (ISO-8859-1)の下のiso-8859-1でEnterしてshift_jisに変更
↓でずっと下に移動してlynx.orgの次でEnterを押下

gでftp://userid:passwd@hostname:port形式のURLでFTP接続
これで日本語(Shift_JIS)が問題なく表示できる、ためしにファイルをダウンロードしてもうまくいく。
ただし、ファイル名はShift_JISで保存された。

私の場合は用事が済んだら元のPOSIXに戻すため
> KUROBOX-PRO:~# export LANG=
を実行する。するともちろんさっきダウンロードした日本語はすでにコンソールからは読めない状態になる。
ま、あたりまえなんですけど。

**Samba(UTF-8->CP932)環境との調和
実は既にUTF-8ベースでSambaが稼動している。
WindowsマシンとのファイルのやりとりはCP932つまりMS932,Windows-31J (共にShift_JIS系)に変換する設定をしているのだが、先ほどのFTPの問題等も含めるとなんだかja_JP.SJIS(WINDOWS-31J)でシステムを統一したほうがやりやすいような気がしてきます。(間違っていますでしょうか)

そういえば、ProFTPdでFTPサーバ作るときもわざわざiconvコンバータ入れてUTF-8からMS932にファイル名を変換するように構成していました。

問題があるとすればこの玄箱PROで稼動しているDebian 4.0(etch)がUTF-8でないとダメなのか、というよりも推奨していないSJIS(WINDOWS-31J)で動かしても問題ないのか、である。(日本語ロケールで選択可能なのはja_JP.UTF-8とja_JP.EUC-JPのふたつだった。)

我が家のようにWindowsマシンが中心で玄箱PROをちょっとリッチなNAS兼WEBサーバとして使う場合にはすべてMS932(Windows-31J)で統一するのが、正しいかは別にして、分かりやすいはずです。