
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
のような流れでしょうか?誰が日本語対応していればいいんでしょうか?設定で気にする項目は?
っていうのがなかなか見えてこなくてヒントいただけたら幸いです。
No.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です
No.1
- 回答日時:
>bashの環境変数はLANG=jp_JP.UTF-8です。
utf-8が使いたい文字コードです。お調べになったとおり、PuTTY を使うなら puttyjp がお薦めです。
せっかく先人が、「苦労せずに日本語が扱える」バイナリを作ってくれたんですから素直に、それを使いましょう。
ログインしたら、設定>ウィンドウ>変換 で「受信されるデータの文字セット変換」を UTF-8 に変えるだけ。これだけです。
設定したらセッションを保存しておきましょう。
ご回答ありがとうございます。今ちょっと確認できないのですが、それで問題自体は解決しそうです。。。そんな設定があったんですね。
ただ、私の日本語で意図がちゃんと伝わってなかったかもしれません。
今できないのを解決したいのもありますが、linuxで日本語を扱うときに気にすべき項目について、知識として教えていただきたいという質問です。項目の列挙レベルで十分なので、ご存知だったら教えてください。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- UNIX・Linux Kali Linuxで起動できない - Minimal BASH Like Line Editing 1 2022/06/03 13:14
- UNIX・Linux Linuxのbash環境下です。 1 2022/11/27 12:31
- UNIX・Linux Linux Mint 日本語入力できなくなった 4 2022/05/13 16:15
- Windows 8 win8 "ベータ ワールドワイド言語サポートで Unicode UTF-8 を使用"を出したい 2 2023/05/23 19:57
- Windows 10 (続質問です No.3)Windows 10 ノートで電源OFF してもWinfi ランプが消えない 14 2023/07/22 19:48
- その他(IT・Webサービス) Google日本語入力の操作方法 一度確定した後の訂正方法 1 2023/06/17 16:03
- UNIX・Linux Linux(fedora)でホスト名について 2 2022/06/21 14:24
- テレビ プレステ5が映らなくりました 1 2023/07/13 11:09
- PHP Content-Typeが機能していない? 2 2022/07/17 11:10
- HTML・CSS HTMLソースの質問 3 2022/07/28 13:29
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
echoの出力の最後のスペースを...
-
【VBA】テキストファイルから特...
-
xcopyで特定のファイルのみをコ...
-
コマンドにてテキストファイル...
-
コマンドプロンプトで相対パス...
-
リダイレクト >> を複数のファ...
-
NULLの置き換えについて
-
【DOSコマンド】for の デリミ...
-
.txtって、縦書きにはならない...
-
bat処理の実行結果ログ出力方法...
-
バッチファイルで改行の出力
-
sedの置換文字に変数を使用した...
-
バッチファイル 指定行の切り出し
-
バッチファイルのfor文を使って...
-
echo "abc" >> test.txt で、先...
-
DOSコマンドで結果として出力さ...
-
複数のテキストファイルをひと...
-
Linux(raspberry pi)でのcpコマ...
-
ファイル名ソートにハイフン
-
バッチコマンドの「set」で入力...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
xcopyで特定のファイルのみをコ...
-
echoの出力の最後のスペースを...
-
echo "abc" >> test.txt で、先...
-
【VBA】テキストファイルから特...
-
コマンドプロンプトで相対パス...
-
リダイレクト >> を複数のファ...
-
コマンドプロンプトで標準エラ...
-
バッチファイル 指定行の切り出し
-
コマンド実行結果を環境変数に...
-
コマンドにてテキストファイル...
-
バッチファイルのfor文を使って...
-
バッチファイル 現在のフォルダ...
-
NULLの置き換えについて
-
FTPのバッチファイルで日付を引...
-
バッチファイルで改行の出力
-
.txtって、縦書きにはならない...
-
複数のテキストファイルをひと...
-
ワードのテキストボックスの中...
-
複数テキストファイル連結につ...
-
【DOSコマンド】for の デリミ...
おすすめ情報