dポイントプレゼントキャンペーン実施中!

linuxで外部からssh接続してbashでlsとかmanとかを日本語で見る場合、
また、
linuxで外部からssh接続してbashに日本語を入力する場合、
どのプログラム・モジュールの設定を確認する必要がありますか?
どうやって確認すればいいですか?

実際の問題は、Debian lennyでputtyでsshログイン中に日本語入出力がうまくできないことです。

bashの環境変数はLANG=jp_JP.UTF-8です。utf-8が使いたい文字コードです。

googleなどで検索すると、
puttyjp(ISO2022対応?)を使え
bash起動時に
set kanji-code sjis
set convert-meta off
set meta-flag on
set output-meta on
を設定せよ
と出てきますが、うまくいきませんでした。

putty - sshd - /dev/pts/0 - /dev/pty - bash - ls/man
のような流れでしょうか?誰が日本語対応していればいいんでしょうか?設定で気にする項目は?
っていうのがなかなか見えてこなくてヒントいただけたら幸いです。

A 回答 (2件)

よく言われることなのですが


「うまくできない」だけでは、原因も対処法もわかりません。

○入力
・そもそも日本語入力そのものが出来ない場合は、ローカルマシン側の設定の問題かもしれません。
・どのIMを使っているか、わかりません。それぞれに設定があるはず。
・PuTTYが、IMからどのコードで受けてどのコードでbashまで渡すのか(あるいは、単に8bitスルーするか)
・bashがどのコードで受けることを期待しているのか
・編集でおかしい(BSで文字が消えない、とか文字化けするとか)ならinputrc関連かもしれない

○出力
・bashやls,manがどのコードで出力しているか
・その出力を受け取ったPuTTYがどう解釈するのか

○その他の環境
・LANGは確実に設定できているのか。他のLC_*関係で上書きされていないか


・現状でログインして
cat > inputcheck.txt
として、適当に日本語を入力。文字化けとかしても気にせずに+Ctrl-Dで終了
・(以下ログインしたままで) 日本語ファイル名があるなら
LC_ALL=C /bin/ls -b > filecheck.txt
としてファイル名のコードを確認する(/bin/ls はalias等を無効にするため。パスが違う場合はあわせる)
・以下のような感じでいくつかの出力を保存する
ls --help > outcheck_0.txt
ls -l > outcheck_1.txt
man --help > outcheck_2.txt
man man > outcheck_3.txt
...


これらの結果をftp等でバイナリー無変換で手許に転送する

エディタで開いたり、nkf --guess等を使ったりして文字コードを確認する。
・inputcheck.txt の文字コードがutf-8で正常に読めるなら、bashまではutf-8で送られている
・filecheck.txt でエスケープされたファイル名を解読して、使われている文字コードを調べる。これがutf-8でなかったら(EUC等のケースもある)utf-8に設定することが間違い
・outcheck*.txtの文字コードがutf-8なら、各コマンドの出力は期待通り。文字化けするなら、PuTTY側の問題

> set kanji-code sjis
これは /etc/inputrcや ~/.inputrcに記述する内容で、bashで実行するものではありません。
また、kanji-codeはreadlineが日本語対応していない場合は意味が無いそうです。
日本語対応版だとしても、utf-8で使うならsjis→utf-8です
    • good
    • 0

>bashの環境変数はLANG=jp_JP.UTF-8です。

utf-8が使いたい文字コードです。

お調べになったとおり、PuTTY を使うなら puttyjp がお薦めです。
せっかく先人が、「苦労せずに日本語が扱える」バイナリを作ってくれたんですから素直に、それを使いましょう。

ログインしたら、設定>ウィンドウ>変換 で「受信されるデータの文字セット変換」を UTF-8 に変えるだけ。これだけです。
設定したらセッションを保存しておきましょう。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。今ちょっと確認できないのですが、それで問題自体は解決しそうです。。。そんな設定があったんですね。

ただ、私の日本語で意図がちゃんと伝わってなかったかもしれません。
今できないのを解決したいのもありますが、linuxで日本語を扱うときに気にすべき項目について、知識として教えていただきたいという質問です。項目の列挙レベルで十分なので、ご存知だったら教えてください。

お礼日時:2011/02/06 04:13

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!