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の最後にharsetとlangを追加する。
$ $ 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でも編集が可能となる。
日本語環境を整える
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に変更する場合は、次の手順で行なう。
- 使用する言語の変更
- PAGERを変更
- 日本語マニュアルを見る為の工夫(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での日本語対応させるだけでも、本当に大変でした。
これが、なかなかうまく設定できなくて。。。
とまぁ、すぐに忘れてしまうので、メモっておきます。
以上です。
サーバーを構築するならVPSがおすすめです。
エンジニアのオンライン学習
ITエンジニアにおすすめの教材、オンラインスクールです。
無料からエンジニアの学習ができる教材などまとめているので参考にしてください。
おすすめオンライン教材 | |
自宅で学習ができるオンラインスクール | |
ITエンジニアの開発・検証・学習としてインターネット上で専用のサーバ(VPS)を利用しましょう!
実務経験はVPSで学べます。
コメントを残す