レンタルサーバー・自宅サーバー設定・構築のヒント
レンタルサーバー・自宅サーバー設定・構築のヒント - レンタルサーバー・自宅サーバーの設定・構築情報を公開しています。

F8

FreeBSDで日本語環境(UTF-8対応)を整える

2010年7月17日 2014年1月17日
how to freebsd

FreeBSDでSSHを使えるようにする でSSHでログインまでできるようになりました。

さて、現状では、FreeBSDは、すべてが英語です。

すべて英語となると・・・・くじけそうです。

そこで、今回は、日本語の環境(UTF-8対応)をセッティングしてみます。

ユーザの言語設定を行う

基本的に以下の2点を設定すれば日本語化(UTF-8)できます。
・文字コードの設定
・言語の設定

この設定方法は、大きく2つのやり方があると思います。細かく言えば、さらにいっぱいありますが・・ここでは2つだけ簡単ながら解説します。

ログイン設定ファイルを編集するやり方

ログイン設定ファイルの設定は、大きく2つのやり方はあります。以下に、それぞれのやり方を解説します。

  • 各ユーザ毎の .login_conf を編集するやり方

    各ユーザ毎のホームディレクトリにある .login_conf を以下のように編集することで日本語化(UTF-8)の設定を行うことができます。

    $ vi .login_conf
    ...
    me:\
       :charset=UTF-8:\
       :lang=ja_JP.UTF-8:

  • ログイン設定ファイル/etc/login.conf を編集するやり方

    ログイン設定ファイル/etc/login.conf を編集するやり方は、ログインクラスを編集するやり方です。
    そのため、各ユーザの日本語化(UTF-8)を行うには、各ユーザのログインクラスを変更してあげる必要があります。

    1. ログイン設定ファイル/etc/login.conf を編集し、ログインクラスを追加する。
      $ vi /etc/login.conf
      ...
      japanese|Japanese Users Accounts:\
              :charset=UTF-8:\
              :lang=ja_JP.UTF-8:\
              :tc=default

      最終行に追記すればOKです。


    2. 日本語化(UTF-8)したいユーザのログインクラスを変更する。
      $ chsh hoge
      
      #Changing user information for hoge.
      Login: hoge
      Password: *****************************
      Uid [#]: 1002
      Gid [# or name]: 1002
      Change [month day year]:
      Expire [month day year]:
      Class: japanese
      Home directory: /home/hoge
      Shell: /bin/tcsh
      Full Name: hoge
      Office Location:
      Office Phone:
      Home Phone:
      Other information:

      上記のように Class: の欄に 先に追加したログインクラス名であるjapaneseを設定して保存します。
      chshコマンドは、通常viエディタが起動します。


各シェルの設定ファイルを編集するやり方

各シェルによって設定の仕方が異なりますので、以下に、それぞれのシェルに関して解説します。

  • csh ,tcsh を利用している場合

    各ユーザ毎のホームディレクトリにある .cshrc を以下のように編集することで設定することができます。

    $ vi .cshrc
    ...
    setenv  LC_CTYPE ja_JP.UTF-8
    setenv  LANG     ja_JP.UTF-8

    最終行に追記すればOKです。


  • bash を利用している場合

    各ユーザ毎のホームディレクトリにある .bashrc を編集することで設定することができます。

    $ vi .bashrc
    ...
    LC_CTYPE=ja_JP.UTF-8
    LANG=ja_JP.UTF-8
    esac
    export LC_CTYPE
    export LANG

    最終行に追記すればOKです。

    bash は、FreeBSDではデフォルトでインストールされません。そのため、.bashrc を読み込まないことも考えられます。
    もし、読み込まない場合は、.profileに以下のように追記することで、読み込まれるようになります。
    $ vi .profile
    ...
    if [ -n "$BASH_VERSION" ]; then
        if [ -f "$HOME/.bashrc" ]; then
            . "$HOME/.bashrc"
        fi
    fi

  • sh を利用している場合

    各ユーザ毎のホームディレクトリにある .shrc を編集することで設定することができます。
    ( 上記の.bashrcと全く同じです。 )

    $ vi .shrc
    ...
    LC_CTYPE=ja_JP.UTF-8
    LANG=ja_JP.UTF-8
    export LC_CTYPE
    export LANG

    最終行に追記すればOKです。

    FreeBSDでは、sh ( シェル ) という場合、/bin/sh を指し、Bourne Shell になります。
    いわゆるBシェルのことで、bashは、このBourne Shellをさらに拡張したものです。



各方法の長所・短所を考えてみる

設定する内容が固定でOKの場合は、ログイン情報を編集する方が、手っ取り早いでしょうね。

ただ、FreeBSDは、コンソールでは日本語の出力ができない・・・ということがあります。
このような場合では、コンソールの判断を行って、
コンソールからのログインはデフォルトの言語(英語)で、
SSHなどのリモートからのログインでは日本語(UTF-8)
・・・と使いわけたいところです。

そのような判断を伴う場合は、各シェルの設定ファイルを利用する方が良いでしょう。
以下は、Cシェル、Bシェルでの設定例です。

Cシェル ( csh ,tcsh ) の設定例

switch ( `tty` )
case /dev/console:
case /dev/ttyv[0-9]:
    setenv  LC_CTYPE C
    setenv  LANG     C
    breaksw
default:
    setenv  LC_CTYPE ja_JP.UTF-8
    setenv  LANG     ja_JP.UTF-8
    breaksw
endsw

Bシェル ( sh ,bash ) の設定例

case `tty` in
    /dev/console|/dev/ttyv[0-9])
    LC_CTYPE=C
    LANG=C
    ;;
*)
    LC_CTYPE=ja_JP.UTF-8
    LANG=ja_JP.UTF-8
    ;;
esac
export LC_CTYPE
export LANG

とすれば、うまくいくと思います。

コンソールの判断を /dev/console と仮想コンソール /dev/ttyv 0-9 で判断しています。

`tty` 以外でも$TERM (端末種別) などを用いて判断する場合もあります。
その場合は、SSHのクライアント側での端末種別の設定を正しく行っておく必要があるでしょう。

たとえば、Tera Term では、TERATERM.INI を編集することで kterm , xterm などのコンソールで用いる端末種別を設定しないように 対応できます。
TermType=vt100
などと設定しておけば、以下のような判定でも利用できると思います。
case $TERM in
kterm*|xterm)
    LC_CTYPE=C
    LANG=C
    ;;
*)
    LC_CTYPE=ja_JP.UTF-8
    LANG=ja_JP.UTF-8
    ;;
esac
export LC_CTYPE
export LANG
各ユーザ毎のファイルは、編集して動作確認を終えたらデフォルトの各ユーザファイルも同じように編集しておくと、次にユーザを追加した際、同じ編集をせずにすみます。
各ユーザファイルのデフォルトファイルは以下のディレクトリにあります。

/usr/share/skel/
                 dot.cshrc
                 dot.bashrc
                 dot.shrc
                 dot.login_conf
                 dot.profile
ファイル名の前にdotを必ずつけます。 また、デフォルトで他に設定したいファイルなどがあれば、このディレクトリへファイル名の先頭にdotを付加して設置すれば、ユーザ追加時に自動的にコピーされます。

vimをインストールする

以下は、portsを使って vim をインストールしています。
ディスク容量が少ない方、GUIが必要ない方(基本的にCUI(シェル)しか使わない方)には、vim-lite がおすすめです。 個人的には、サーバーとして使うことしかないので、vim-lite をインストールしています。

$ cd /usr/ports/editors/vim
$ make install clean
...

vim-liteの場合

$ cd /usr/ports/editors/vim-lite
$ make install clean
...
Cシェル ( csh, tcsh ) を利用している方は、最後にrehash ( ハッシュテーブルの再構築 )することを忘れないようにしましょう。
ハッシュテーブルを再構築すると、カレントディレクトリにかかわらず、vimが起動できるようになります。
DOS窓のpathを再設定してくれるようなものですね。

vimの環境設定ファイルを編集します。
( vim-lite でも、全く同じです。 )

$ vi .vimrc

set encoding=utf-8
set termencoding=utf-8
set fileencoding=utf-8
set fileencodings=ucs-bom,euc-jp,cp932,iso-2022-jp
set fileencodings+=,ucs-2le,ucs-2,utf-8

管理者も変更したい場合は、~root/.vimrcを同じように編集します。

pkg_add を使ってもOKです。
ただ、vim-litepkg_add でインストールしても日本語化できなかったです・・・。原因わからず、結局 ports でvim-liteをインストールしたら、何事もなく日本語表示されました。

なんだかんだで最後に頼りになるのは、今も昔もportsなんですね。

日本語マニュアルをインストールする

  1. 日本語マニュアルのインストールを行う

    以下は ports を使って日本語マニュアルのインストールを行っています。
    さすがにこれは、pkg_add でも良いのでは、思いますので、その方法も以降に記載しておきます。

    • ports を使ってのインストール
      $ cd /usr/ports/japanese/man
      $ make install clean
      ...
      $ cd /usr/ports/japanese/man-doc
      $ make install clean
      ...

    • pkg_add を使ってのインストール
      $ pkg_add -r ja-man-doc
      ...
      pkg_add でインストールすると以下のようなメッセージが出力されることがあります。
      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 というディレクトリが削除できないで残っている・・・というものです。
      この対処は、以下のようにやればOKです。
      $ chflags 0 /var/tmp/instmp.k4lMoL/bin/jman
      $ rm -fR /var/tmp/instmp.k4lMoL
      $ ls /var/tmp
      $
      ちゃんと消せましたか?この詳しい解説は、FreeBSDでは、パーミッションで許可されていても消せないファイルがある を参照してください。


  2. 日本語マニュアルの動作確認を行う

    日本語マニュアルのインストールで jman という日本語マニュアルを出力するためのツールも同時にインストールされています。
    その jman が正しく動作するか確認しておきます。

    $ jman man
    
    MAN(1)                  FreeBSD <B0><EC><C8>?<B3><A5>?<F3><A5>???奢<A5><EB>                  MAN(1)
    
    ?^H?<BE><CE>^H<BE><CE>
    
    ...

    jmanの出力文字コードがEUCのため、上記のようにUTF-8での送受信の場合は、文字化けします。これが正しいです。

    以下のようなエラーが出力されたら、manと名の付くディレクトリをmanpath.configに設定する必要があります。
    $ jman jman
    jman: unable to find the file /etc/manpath.config
    上記の対処として基本的な設定例として以下のような設定を行えば、少なくとも基本的なコマンド系のマニュアルは、表示できるでしょう。
    $ vi /etc/manpath.config
    ...
    MANPATH_MAP /bin /usr/share/man
    MANPATH_MAP /usr/bin /usr/share/man
    MANPATH_MAP /usr/bin /usr/share/openssl/man
    MANPATH_MAP /usr/local/bin /usr/local/man
    以下は、Xをインストールしていれば必要かもしれません。
    MANPATH_MAP /usr/X11R6/bin /usr/X11R6/man

  3. PAGERを more から lv へ変更し、出力文字コードをUTF8へ変換する。

    先にも記述したように jman の出力文字コードがEUCのため、UTF8への変換が必要です。
    そのためには、manコマンドで出力制御を行うためのデフォルトのコマンド(PAGER) more の代わりに、lv コマンドを使うことで対応します。

    1. lv をインストールする
      • ports を使ってのインストール
        $ cd /usr/ports/misc/lv
        $ make install clean
        ...

      • pkg_add を使ってのインストール
        $ pkg_add -r lv
        ...

    2. シェルの環境を設定する
      • Cシェルの場合
        $ vi .cshrc
        ...
        alias   vi      'vim'
        alias   view    'vim -R'
        alias   man     'env LC_CTYPE=ja_JP.eucJP jman'
        
        setenv  EDITOR  'vim'
        setenv  PAGER   'lv'
        setenv  LV      '-Ou8'

      • Bシェルの場合
        $ vi .bashrc
        ...
        alias  vi='vim'
        alias  view='vim -R'
        alias  jman='env LC_CTYPE=ja_JP.eucJP jman'
        
        EDITOR='vim'
        PAGER='lv'
        LV='-Ou8'
        export EDITOR
        export PAGER
        export LV
        sh の場合は、編集するファイルが.shrcとなります。


      書き方(文法)が異なるだけで、設定していることは全く同じです。
      Cシェルの場合の例を簡単に解説しておきます。

      • alias vi vim

        :vi入力時は、常にvim を起動します。

      • alias view vim -R

        :view入力時は、常にvim の読み込み専用で表示します。

      • alias man ‘env LC_CTYPE=ja_JP.eucJP jman’

        :man入力時は、一時的に使用する文字コードをEUC-JPとし、日本語マニュアルを jman で表示します。

      • setenv EDITOR ‘vim’

        :デフォルトのエディタ(EDITOR)をvim とします。

      • setenv PAGER ‘lv’

        :デフォルトの出力(PAGER)をlvとします。

      • setenv LV ‘-Ou8’

        :lvのデフォルトパラメータを’-Ou8’とします。つまり、UTF-8での出力を行うという意味です。


    3. 最後に動作確認する

      最後に、ログインしなおすか、以下のコマンドで.cshrc ( あるいは、.bashrc , ,shrc )を再読み込みします。

      $ source .cshrc

      以下のように日本語表示できるはずです。これでOK!!

      $ man man
      
      MAN(1)                  FreeBSD 一般コマンドマニュアル                  MAN(1)
      
      名称
           man - オンラインマニュアルのフォーマット、表示を行なう
      
      ...
Linuxの世界からすると、やぱり、ちょっと、めんどくさいかも ・・・あっ言っちゃった・・。

でも、好きな人は、やりだすとはまります。いろいろと躓くことも多いので知識が増えていくのも事実です。
学生さんには、間違いなくおすすめなOSの一つでしょう。ただ、ビジネスとして考えたとき、全く知識がない方は取り組むには、ちょっと手ごわいかも・・・。 初心者の方には、CentOSなどメジャーなLinuxOSをおすすめするでしょう。

それから、共有のレンタルサーバーには、このめんどくささはありません。当たり前ですけどね。
この労力の対価とすれば、共有のレンタルサーバーは、安いなぁと思いますよね。

まあ、でも、このやり遂げた感は、味わえませんけど。

さくらのVPSでは、FreeBSDをカスタムOSとして提供しています。(コントロールパネルからインストールして利用することができます)
さくらインターネットのVPS ( さくらのVPS )を試してみたい方は、http://vps.sakura.ad.jp/からどうぞ。無料お試し期間は14日です。
※お試し期間中は、OP25B設定、データ転送帯域に制約がありますから注意してください。

ご利用のブラウザは、広告ブロック(AdBlockなど) が適用となっていませんか?
このサイトでは、コンテンツの一部が非表示、あるいは、コメント、お問い合わせの投稿ができない検索ができないことがあります。


関連記事 :

FreeBSDでバイナリ package を作って配布する方法

FreeBSDのソフトウェアのパッケージ管理システムは、ビルド済み( バイナリ )パッケージをインストールするpackageとソースをビルドする ...

csh (tcsh) を日本語化(UTF8)してもエラー出力は英語のままなので日本語化してみた

FreeBSDのデフォルトのシェルはtcshです。その親とも言うべきシェルがCシェルと呼ばれる csh です。 そのcshのユーザーインタ ...

TeraTerm ( ssh接続 ) でカラー表示ができなかったので対応してみた

FreeBSDでは、デフォルトのコンソールからは、文字色がカラーで表示させることができます。 そのため、lsコマンドのオプション-Gを指定する ...

bash (Bシェル) でプロンプトを変更する

今回は、単純にbashでプロンプトの表示を変更する方法を簡単にまとめておきます。 いろんなサイトに記載があるので、ここでまとめても・・・と ...

FreeBSDでportsを更新する

さて、今回は、apacheのインストールの前に、portsのアップデート手順です。 FreeBSDでは、何かをインストールする場合、ports ...


4 件 コメントがあります。 コメントを投稿する
  1. […] […]

  2. […] 参考) FreeBSDで日本語環境(UTF-8対応)を整える カテゴリー: 未分類   パーマリンク ← [SQL]自己結合 […]

  3. t.m
    2013年3月28日, 10:57 PM

    はじめまして。

    FreeBSD9.1の日本語環境設定にこの記事が大変参考になりました。
    良い記事を公開して頂きありがとうございます。

    早速ですが、私の環境でエラーが出ましたので、念のためご報告させて頂きます。

    ———————————————-
    1.ログイン設定ファイル/etc/login.conf を編集し、ログインクラスを追加する。
    $ vi /etc/login.conf

    japanese:Japanese Users Accounts:\
    :charset=UTF-8:\

    ———————————————
    上記にて、誤記があり、正しくは以下のようになると思います。

    japanese|Japanese Users Accounts:\
    :charset=UTF-8:\

    お手数ですが、ご確認いただければと思います。

    以上です。

  4. 管理人
    2013年3月29日, 1:36 AM

    t.m さん
    コメントありがとうございます。管理人です。
    ご指摘のとおり誤記です。
    早速、修正させていただきました。
    ありがとうございました。
    また、何かあればご指摘くださいませ。


コメントを投稿 :

お名前 *

メールアドレス *
( メールアドレスが公開されることはありません。)

サイトアドレス

コメント *

* 印の項目は、入力が必要な項目です。




最近投稿の記事

[ 画像提供元 : Amazon ] 先日、1TBのディスクの入れ替え時にバックアップをとろうとディスクコピーを行いました。 その際 ...

Windows で Linux ファイルシステム Ext4 のディスクをマウントするには? Ext3Fsd が、おそらく、最も簡単なツール ...

今回は、Windows で Compass を使ってみました。 Compass とは、 Sass(サス、Syntactica ...

今回は、Anti Adblock を使ってみました。 Anti Adblock とは、 そもそも Adblock という ウェブ ...

デスクトップ環境でない サーバーで、Webページのキャプチャー画像をコマンドで撮る には、wkhtmltoimage, CutyCapt ...


さくらのVPS 全プラン リニューアルです。(石狩(北海道)も選択可)


root権限ありで ¥685 / 月 ~ と非常にリーズナブルな CPU 1(core)の 512 プランから、 最高 CPU 10(core), メモリ 32(GB), SSD容量 800(GB) までとプランが充実。
ディスクは、SSDとHDDの選択が可能になった他、データセンターは人気の東京、石狩(北海道)となりました。

また、どのプランでも好きなOSが選べます
( CentOS, Fedora, Scientific Linux, FreeBSD, Ubutu, Debian )

管理人もおすすめのVPSです。
試用期間がありますから、一度、お試しを!!

詳しくは、http://vps.sakura.ad.jp/さくらのVPSのサイトへ へどうぞ!!

カテゴリ


Serverman@VPS 完全1ヶ月無料 キャンペーン実施中です。


Serverman@VPS 完全1ヶ月無料 キャンペーン実施中です。
最近、スワップにも対応した Serverman@VPS は、かなりリーズナブルかもです。

  • メモリ1GB~2GBのEntryプラン :月額:490円
  • メモリ2MB~4GBのStandardプラン :月額:980円
  • メモリ4GB~8GBのProプラン :月額:1,980円

新規申し込みで1ヶ月間完全無料となるキャンペーンを実施中です。
Serverman@VPSの特徴は、安さとIPv6対応です。また、初期設定費0円もポイントです。

IPv6でちょっと遊んでみたい方には、おすすめかもしれませんね。最低利用期間もありませんから、気に入らないときは即解約もできます。

Serverman@VPSの詳細については、 http://dream.jp/vps/ Serverman@VPSのサイトへへどうぞ。



KVM採用 ConoHa VPSは、時間単位で借りれる便利なVPSです。


ConoHa VPS は、初期設定費0円最低利用期間無し時間単位で清算可能、 さらに、Web APIを使って自動化を図ることもできる便利なVPSです。

海外サーバー設置も可能で、ローカル接続にも対応と、かなり、機能豊富なサーバーです。

新規ユーザ登録で、クーポンもらえますから、まずは、お試しですね。

ConoHa VPSの詳細については、
http://www.conoha.jp/ へどうぞ。

KVM採用 お名前.com VPS(KVM) 2G プラン 初期設定費無料 キャンペーン 実施です。


メモリ2GBプラン CPU:3core、Disk:200GB
月額:1,153円から (初期設定:1,680円0円)

さくらのVPSがリニューアルされてもなんのその。
1GBメモリ / 2Core を ¥834 – の格安価格で提供中です!
間違いなくスペックからすると割安感ありです。
年間割引時の途中解約で返金がないのは、 ちょっと残念ですが、それでもこの割安感は魅力です。

まずは、お試しですね。

お名前.com VPS(KVM)の詳細については、
http://www.onamae-server.com/vps/ へどうぞ。(お試し期間が15日あります。)



  • ソーシャルブックマーク

  • はてなブックマークへ追加するはてな登録数
ページトップへ
Time : 0.2263 [s]