第5回 Windows8.1上で動くVirtualBoxでFreeBSD 10.1をGuestで動かす : [リモートログインした非X環境での日本語環境を快適に]

公開日: : COMPUTER, FreeBSD, unix, VirtualBox

UTF-8化して、vimを入れて、jman(日本語マニュアルページ)を入れます。
非X環境の日本語整備です。

ぶっちゃけDesktop環境で使うならX-windowを使えば良いし、FreeBSDをserver用途で使う人は英語だけで良いということも多いので需要の無いコンテンツです。

前回までの記事は下記を参照して下さい。

user個別の設定ではなくてシステム全体でutf-8化

文字集合としてutf-8を扱うようになってもASCIIとかぶる部分はそのまま1バイトして扱われる。

/etc/inputrc の編集

/etc/inputrc を編集する。

設定できるlocaleの確認

でばばっと設定できるものが出てくる。日本語と英語だけわかればよいので

などして確認する。

/etc/login.conf の編集

/etc/login.conf のdefault項目は以下のような感じなので、
etc_login_conf
/etc/login.conf のdefault項目にcharsetとlangを追加。
etc_login_conf_01

ja_JP.UTF-8でなくen_US.UTF-8にすることに注意

システムの細部まで変に日本語になったら問題が起こるので、en_US.UTF-8にする。ja_JP.UTF-8などは個々人の設定ファイルでのみ設定する。

cap_mkdbコマンドの実行

cap_mkdbコマンドを実行してFreeBSD内のデータベースの再構築をする。

ここで一旦logoutしてloginする。

en_US.UTF-8と出ればOK。
echo_lang

vimのinstall

システム全体をen_US.UTF-8化してしまったので、viだと色々アレなのでvimを入れる。

X-window環境でGUIのvimを使わない人やデスクトップ環境が要らない人はフルパッケージのvimだとrubyだのluaだの入れることになって結構容量を食うので、vim-liteで良いかもしれない。

default設定で読み込まれるvimrcのpathは何処だ ?

user個別の設定だったらhome directoryに”.vimrc”を設置すればよい。それは良いんだけど、ユーザー全員のdefault設定を変えるにはどうすればよいか。
linuxだと”/etc/vim/vimrc”だったり”/etc/vimrc”だったりdistributionによってまちまちである。
とりあえずvimを起動する。
vim_opening
ノーマルモードにて:versionと打鍵してenterを押す。
(ノーマルモードかどうか不明なら[ESCAPE]を打鍵しまくればノーマルモードになる)
すると…
vim_version_output
私の環境では”/usr/local/etc/vim/vimrc“であることが判明した。
とりあえずbackupをとっておいて

“/usr/local/etc/vim/vimrc”を編集、適当なところに追記する。
set numberは個人的な趣味の問題なので行番号表示が要らない人は必要ない。

日本語Manual Pageと日本語対応PAGERの導入

日本語manual pageのja-man, ja-man-docを導入する。
日本語のものはjmanコマンドで呼び出すようになる。
日本語のmanual pageは内容が古かったりそもそも存在しなかったりするので、
英語のmanual pageは普通の従来のmanコマンドで残す方針。
ja-manをpkgコマンドで入れるとja-less+iso, ja-groffも入る。

ja-man-docも入れる。

PAGERとしてはlvを使いたいのでlvを入れる。

user個別の環境変数の設定

system標準のEDITORは最初っから入っている素のviを使いたい派なので環境変数EDITORはいじらない。
素のviが嫌いでvisudoなどの時もvimを使いたいなら#をコメントアウトすべし。勿論eeとかにしても良い。

sh,bashの場合

~/.profileを編集する。以下を追記。
user個別の設定では”LANG=ja_JP.UTF-8“とする。

cshの場合

~/.cshrcを編集する。以下を追記。

/etc/manpath.config の設定

/etc/manpath.config を作成し、以下を記述する。

jmanの出力の確認

jman lsを実行してみる。

jman_from_cygwin_01
jmanの実行(というか日本語フォントをつかうファイルを読む行為全般)
TeraTerm, Putty, Cygwinのterminal などでsshでリモートログインして実行するとちゃんと日本語が表示される。
仮想コンソールからやると、まだ日本語に対応させていないし、kon2なども入れていないし起動もさせていないので文字化けする。
jman_from_sc_01
Newconsというコンソールドライバを入れれば何とかなるようだが、server用途ならsshで入るterminal次第で日本語の表示はどうにかなるし、Desktop環境ならばXを立ち上げでしまえば日本語の表示は大丈夫なので…仮想環境で使っている分にはこのままでは何も問題ないかな。うん。

問題大ありでした。

端末の種類で環境変数を場合分けする

LANG=ja_JP.UTF-8で仮想コンソールだと
jmanの問題だけではなく、普通のコマンドの出力結果で日本語になる部分が盛大に化けてしまいます。

仮想コンソールだと

vconsole_01

Cygwinのterminalからsshでリモートログインしている端末だと

cygwinterm_01
そこで端末の種類でlocale絡みの環境変数を場合分けします。

sh,bashの場合

ユーザー毎に~/.profileを編集する。以下を追記。

cshの場合

ユーザ毎に~/.cshrcを編集する。以下を追記。

場合分けの結果

仮想コンソールだと
vconsole_02
cygwin terminal からのsshによるリモートログインだと
cygwinterm_02
まあ日本語環境にしたところでそれ程…前半のUTF-8の8bitスルー化だけでよかったのではないかという声も…。
シェルスクリプトのお勉強になりましたね…(震え声)

参考文献・URL

PC用四角形1

PC用四角形1

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

PC用四角形1

PAGE TOP ↑