- ベストアンサー
CentOSのテキストベース文字化けについて
Linux初心者です。 CentOS4.3のテキストベースの文字化けについて。GUI環境からCUI環境に切り替えたところ、日本語が文字化けする(四角につぶれる)ようになってしまいました。 ネットで調べたところ、CentOSはデフォルトが「UTF-8」なため、「EUC」に切り替えれば直るとのことなので、ファイルの「/etc/sysconfig/i18n」の「UTF-8 ⇒ eucJP」の部分を変更しましたが、文字化けがひどくなっただけでした。 (「/etc/man.config」の変更もしましたが、こちらは本当は変更しなくても良いとのことでした。←ネットによっては書かれていることも若干違いましたし……) 文字化けの修正方法をご存知の方、どうぞお力添えをお願いいたします!!
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
>日本語が文字化けする(四角につぶれる)ようになってしまいました。 コンソール画面で…ですか? それとも、sshやtelnetで外部から接続したときですか? おそらく前者だと思いますが…。 フレームバッファを使用して日本語表示できるコンソールを起動する必要があります。 http://www.atmarkit.co.jp/flinux/rensai/linuxtips/729usejfbterm.html でjfbtermというものが紹介されています。 http://www.google.co.jp/search?hl=ja&q=jfbterm+CentOS&btnG=Google+%E6%A4%9C%E7%B4%A2&meta=lr%3Dlang_ja&aq=f でSRPMやRPMを公開している方も見つかるでしょう。 私(CentOS 5.2)の場合、コンソールから入ることはあまりないので起動することはまずありませんが…。 .bashrcなどで起動するように設定していたこともありますが、ログイン時に表示されるメッセージを読み損ねたりするので使用していません。 # 日本語コンソール使用したいならば…というようなメッセージを表示するようにしただけです。
その他の回答 (3)
- vaidurya
- ベストアンサー率45% (2714/5983)
まぁ、最小構成のCUI環境において、DBCS対応は大きな負担とも言えるので 1bytes文字しか対応していないのが基本。 というのが、パソコンの常識なのか Linux等の常識なのかは微妙だとは思います。 大きな負担というのは、ようするに… IBM PC互換機のハードウェアとしては、DBCSに対応しません。 IBMがMS-DOS4.0に日本語対応を加えた時から それはOSの機能として世界に広まりました。 Windowsの場合は、GUIが起動しない時でも IBM PCのテキストハードウェアではなく、グラフィック機能で 文字を表示するようになっています。(日本語版,現在の英語版の場合は知らない) ですから、漢字なども普通に表示されます。 対してLinux等では、基本はIBM PCのテキストハードウェアを使った 日本語の表示ができないCUI画面となっています。 このほうが、少ない資源で高速に動きます。 CUIを使うサーバー用途などでは、たとえDBCS圏の人でも 英語メッセージで充分だということでもありますし 必要であれば、自分でその機能を組み込めるため 省資源を美徳とすれば、外されてしかるべきものだったのだと思います。 対してWindowsの場合のCUIは、GUIが動かなかった時のための機能ですから 省資源よりも、初心者にもわかりやすいことが優先されていると考えられます。 実は、ほんの数年前には、グラフィック機能を使ったCUI表示が Linuxでも一般化した時期はありました。 Fedoraの初期のものやVine3系とかがそうだったと記憶しています。 (どうでもいいことだから調べません) ですが、その需要はGUIデスクトップ利用が増えることによって低下し 標準環境からは外されるようになりました。 そういったトレンドの推移を考慮しないと、古い情報は そのままでは応用できないこともありますので、要注意。 なお、Linuxでは、大昔(Vine2系とか)だと konによって日本語表示機能を起動するのが普通でした。 その後は、Kernel機能としてのフレームバッファーが組み込まれ UNICONパッチの当たったKernelを備えるVine3系などでは Grubやliloの起動オプションにvga=0x719といったオプションを付けて 起動時メッセージから日本語表示が可能になりました。 HTも普及する前の時代に、レアなSMP構成で、複数のVineロゴや 複数のペンギンマークを表示した起動画面を映したのもフレームバッファの機能でした。 (Quadコア+HTで正常に8つも表示されるのかちょっと興味があります) 現在では、起動時の画面はスプラッシュ画面でメッセージを隠蔽するのが普通で kernelフレームバッファーは標準Kernelから外される傾向にあります。 ですから、自分でフレームバッファー対応Kernelを作成し組み込み 既出のjfbtermを使うことになります。 現在もフレームバッファー対応Kernelを標準としているディストリビューションは あると思いますが、調べません。Vine4系はそうだと思っていますが… #たまにまとめないと歴史って忘れるなぁ。 #既に記憶違い記述ありそうなので、ごめんなさい。
お礼
ご丁寧なご回答ありがとうございました! なるほど!Linuxの知識はその歴史の知識でもあるのですね!とても目から鱗状態でした。 GUI環境の端末では日本語表記が出来たのに、CUI環境で日本語表記がされないのは、CUIが1bytes文字対応しかしていないからだったのですね。ものすごく勉強になりました。ありがとうございます。 確か、以前勉強したVineLinuxではコンソールのCUI画面でも日本語表記されたような記憶があったので、なるほどと思いました。Linuxは奥が深いですね。 これからもいろいろ勉強して知識を増やして行きたいと思います。 ありがとうございました!!
- notnot
- ベストアンサー率47% (4900/10358)
他の方も書かれてますが、コンソールではそのままでは日本語は使えないので、Teraterm等のWindows上で動くUTF8対応の端末エミュレータを使うのが楽です。LinuxPCとLAN接続された使えるWindowsPCが無ければ駄目ですが。 無ければ#1の方の回答の通り。
お礼
すばやいご回答ありがとうございました。 当方、Linuxの勉強を始めたばかりで、自宅でコマンド等に慣れようとインストールしただけでしたので、リモート接続のことが本当に頭から抜けていました……。 コンソールではそのままでは日本語表記はできないのですね……!以前訓練校で勉強したVineLinuxでは出来たような記憶があったので、簡単に出来るものだと思っていました。 いずれ、こちらのPCもLAN接続できるようになったらリモートも是非挑戦してみたいです。 ありがとうございました!
- umota
- ベストアンサー率46% (150/324)
> Linux初心者です。 [技術者向]カテです。 フレームバッファ を使ってください。
お礼
申し訳ありません。 当方、こちらを使用するのもほとんど初めてで勝手がわからず、大変失礼いたしました。 ただ、「デジタルライフ」カテゴリにはLinuxカテゴリが無かったのでこちらかと思ってしまいました。 今後注意したと思います。 フレームバッファ是非挑戦してみたいと思います。 ありがとうございました。
お礼
すばやいご回答ありがとうございました! 当方、この業界に入ったばかりで、Linuxのコマンドなどを自宅で勉強するために家のPCにCentOSをインストールしたのですが、初歩的なことで躓いていて、本当に困っていました。 ご回答を頂いて初めて気づいたのですが、そうですよね、普通サーバーはリモートで操作するものですよね……。今回私の場合、ただ単に練習のためにCUI画面に慣れようとGUIの端末から切り替えただけだったので、その前提条件をすっかり忘れていました。 でも、フレームバッファという方法があるのですね!今CentOSを入れてるPCはネットに接続していないのですぐには試せないのですが、機会がある時に是非挑戦してみたいと思います。 ありがとうございました!