ネットワークエンジニア系ブログ。エンターテイメント、おすすめ映画、本、キッズ系などお役立ち情報を紹介!

GOISBLOG

サーバー技術

FreeBSD 日本語表示に対応させる設定手順。必読です!

投稿日:2014年3月2日 更新日:

FreeBSDって初心者でインストールして設定するのってすんごくめんどくさいです。
日本語表示させることだけでもヒーヒーいいながらやってた記憶があります。

今まで、ネットワークというか土管屋をやっていたので、流石にいきなりこのOSは強敵です。

そんな感じで、今ではFreeBSDを使っていないのですが、日本語表示に対応させる設定手順をメモしておきます。

日本語対応にさせる為、エディタのインストールを実施

FreeBSD標準のviは、漢字変換機能を持たない為、EUCでの読み書きのみ可能。
しかし、他のエンコードで書かれたファイルを読み書きするには、vi互換のvimをインストールする。

他にも日本語対応のlessであるja-less+iso,lvやja-manをインストールする。
また、日本語マニュアルドキュメントのja-man-docも同時にインストールする。

$ pkg_add -r vim ja-less+iso lv ja-man ja-man-doc
スポンサーリンク


バグ情報

ja-manをインストールすると次の様なメッセージが出力される事がある。

rm: /var/tmp/instmp.k4lMoL/bin/jman: Operation not permitted
rm: /var/tmp/instmp.k4lMoL/bin: Directory not empty
rm: /var/tmp/instmp.k4lMoL: Directory not empty
pkg_add: couldn't remove temporary dir '/var/tmp/instmp.k4lMoL'

これは、/var/tmp/instmp.k4lMoL/bin/jman というファイルが削除できなかったので、/var/tmp/instmp.k4lMoL というディレクトリが削除できないで残っている。

という意味。この対処は、次の様に行なう。

$ chflags -R 0 /var/tmp/instmp.*
$ rm -rf /var/tmp/instmp.*

pkg_addで残ってしまったファイルを一括で削除できる。

日本語が使用できるようにする

/etc/inputrc を作成する。

$ touch /etc/inputrc /etc/inputrc.original
$ echo "set convert-meta off" >> /etc/inputrc
$ echo "set meta-flag on"     >> /etc/inputrc
$ echo "set output-meta on"   >> /etc/inputrc

/etc/login.conf を修正する。
事前にコピー

$ cp -p /etc/login.conf /etc/login.conf.original

defaultの最後にharsetlangを追加する。

$ vi /etc/login.conf
====================
default:\
...
:charset=UTF-8:\
:lang=en_US.UTF-8:
====================
$ cap_mkdb /etc/login.conf

再度ログインする事により、英語環境でUTF-8が使用できる為、8bitスルーとなり、viやvimでの日本語編集も問題ない

vimの設定

vimの設定は、ユーザ単位でも~/.vimrcを作成する事で可能であるが、システム全体で共通の設定を行なう場合は、/usr/local/share/vim/vimrcを作成し設定する。

$ touch /usr/local/share/vim/vimrc /usr/local/share/vim/vimrc.original
$ echo "set fileencodings=iso-2022-jp,euc-jp,cp932,utf-8,ucs-bom" \ >> /usr/local/share/vim/vimrc

この設定により、漢字コードがJISでもMS-KanjiでもEUCでもUTF-8でも編集が可能となる

日本語環境を整える

medium_4344499037
photo credit: rikulu via photopin cc

FreeBSDは、日本語マニュアルがEUCで記載されている為、通常はEUCで設定する場合が多いが、Linux他のシステムにLinuxがあると漢字コードが異なり不便になる。
その為、最近では、FreeBSDでもUTF-8を使うように設定する場合がある。

エラーメッセージを含め、日本語化するには、ロケール指定を日本語にする
設定可能なロケールは次のコマンドで確認できる。

locale -a

この中で、日本語環境を表すものは次の3つ。

ja_JP.SJIS
ja_JP.UTF-8
ja_JP.eucJP

この内、UTF-8での設定を行なうので、ロケールには、ja_JP.UTF-8を指定する。
また、日本語表示だけではなく、各漢字コードでの編集を行なう為、vimを使用。ページャーとしてmoreの代わりにlvを使うようにする。
しかし、vimを起動する際に、viを起動してしまう事が多い。

そして、他のコマンドからもviが呼び出される。その為、viを起動するとvimが起動されるように設定する。
また、PAGERもmoreからlvに変更する。(EUC環境ではjlessでも可)特にUTF-8環境下で、日本語マニュアルを見る場合は、lvが必須となる

設定内容は、次の3点

  • ロケールを指定する。
  • コマンドのaliasを定義する。
  • 環境変数の定義を行なう。

日本語入力ができない場合

他のマシンからtelnetで接続している場合によく発生する。
これは、telnetコマンドの規定値として、7bit文字列の通信しかできない事による

telnetの引数として -8 を使う事で、8bit文字列での通信が可能となる。

日本語をUTF-8で使用できるようにする

FreeBSDは、日本語マニュアルがEUCで記載されている為、通常はEUCで設定する場合が多いが、Linux他のシステムにLinuxがあると漢字コードが異なり不便になる。
その為、最近では、FreeBSDでもUTF-8を使うように設定する場合がある。

UTF-8に変更する場合は、次の手順で行なう。

  1. 使用する言語の変更
  2. PAGERを変更
  3. 日本語マニュアルを見る為の工夫(EUCをUTF-8に変換)

profileやcsh.cshrcに記載した環境変数やエイリアスの変更を行ないます。
/etc/profileおよび~/.profileの追加部分

alias vi='vim'
alias less='lv'
alias man='env LANG=ja_JP.eucJP jman'
alias jman='env LANG=ja_JP.eucJP jman'
LANG=ja_JP.UTF-8;     export LANG
EDITOR=vim;           export EDITOR
PAGER=lv;             export PAGER
LV='-Ou8'             export LV

/etc/csh.cshrcおよび~/.cshrcの追加部分

alias  vi       'vim'
alias  less     'lv'
alias  man      'env LANG=ja_JP.eucJP jman'
alias  jman     'env LANG=ja_JP.eucJP jman'
setenv LANG     'ja_JP.UTF-8'
setenv EDITOR   'vim'
setenv PAGER    'lv'
setenv LV       '-Ou8' 

確認するには、一度ログアウトしてログインする必要がある。
また、その際に、TeraTermの漢字コードをUTF-8に変更する必要がある。

まとめ

FreeBSDでの日本語対応させるだけでも、本当に大変でした。
これが、なかなかうまく設定できなくて。。。

とまぁ、すぐに忘れてしまうので、メモっておきます。

この記事が気に入ったら
いいね!しよう

Twitter で
スポンサーリンク

-サーバー技術
-, ,

Copyright© GOISBLOG , 2016 AllRights Reserved.