NetBSD での日本語環境の構築

NetBSD での日本語環境の構築

NetBSD 1.6 以降、 Citrus Project のマルチバイト LC_CTYPE ロケールがサポートされてます。環境変数を LANG=ja_JP.eucJP 等に設定することで日本語での表示が可能になります。

準備

pkgsrc から必要なアプリケーションをインストールすることにより日本語環境を構築できます。

CVS で pkgsrc のソースを取得し、/usr/pkgsrc 以下にコピーします。

# cvs login
# cd /usr
# cvs checkout -P pkgsrc

必要なパッケージのディレクトリに移動して、make install でインストールできます。
また、/usr/pkgsrc/mk/defaults/mk.conf を /etc/mk.conf にコピーして必要な変数を環境に合うように修正しておきます。

環境設定

環境変数LANGを設定することで日本語の表示が可能になります。
sh系のシェルを利用している場合は、以下のようにします。(EUCの場合)

$ export LANG=ja_JP.eucJP

パッケージ

日本語を扱うために使っているパッケージです。

日本語表示

kterm

コンソールのままでは日本語表示ができないため、X上でターミナルソフトを利用することになります。

標準でインストールされているxtermでもUTF-8の日本語表示が可能ですが、微妙に表示がうまくいかないことがあったため、オーソドックスな kterm (x11/kterm) を利用してます。

jless

NetBSD標準のlessでもUTF-8は表示可能ですが、JISやEUCで書かれたファイルも表示させるために、jless (misc/ja-less) を使ってます。環境変数 JLESSCHARSET を japanese に設定しておきます。

他のテキストビューアとしては、lv (misc/lv) も日本語に対応しています。lv のほうが高機能で、UTF-8対応もしています。

w3m

テキストベースのWWWブラウザとして、w3m (www/w3m) を使ってます。unicodeのページも表示可能です。

日本語入力

skk

emacs 上で日本語を入力するための入力メソッドはいくつかありますが、私はずっと skk (inputmethod/skk) を使ってます。慣れてしまっているためというのが一番の理由ですが、その名の通り入力のシンプルさが魅力です。

skk を使うには、直接辞書ファイルを読み込むか、辞書サーバを使います。メモリの少ないマシンで利用する場合は、辞書サーバを使うほうがおすすめです。skk 辞書サーバを使うには dbskkd-cdb (inputmethod/dbskkd-cdb) とサーバ用辞書の skk-jisyo-cdb (inputmethod/skk-jisyo-cdb) をインストールします。

オリジナルの skk-server (inputmethod/skkserv) もありますが、dbskkd-cdb のほうが cdb を使ってデータベース化した skk 辞書を検索するため高速です。また、inetd 経由で起動するためメモリ的にも効率的です。

dbskkd-cdb を使うには、/etc/services に skkserv で使う TCPポート番号 1178 を追加し

skkserv		1178/tcp   # SKK server

/etc/services を編集した後に、以下のコマンドにより /var/db/services.cdb を更新します。

# services_mkdb

/etc/inetd.conf に以下を追加します。

skkserv  stream	tcp	nowait	nobody	/usr/pkg/libexec/dbskkd-cdb	dbskkd-cdb
skkserv	 stream	tcp6	nowait	nobody	/usr/pkg/libexec/dbskkd-cdb	dbskkd-cdb

uim

X やコンソールで日本語を入力するための入力メソッドとして、uim (inputmethod/uim) が便利です。uim は様々な変換エンジンに対応しており、skk も利用可能なため使ってます。skk 方式の入力メソッドとして skkinput2 などもありますが、今のところ uim が最も安定して動作しているようです。

その他

Wanderlust

emacs 上で動作するメーラの wanderlust (mail/wl) が多機能で便利です。SSLを利用するには、ソースパッケージ内の “utils” ディレクトリにある ssl.el をインストールする必要がありますが、pkgsrcでは “utils” ディレクトリ内のファイルもデフォルトでインストールされます。SMTP で STARTTLS を利用するには、starttls (security/starttls) をインストールします。

Gmail で利用する場合の .wl の設定例です。(username は Gmail に登録しているアカウントになります。)

;;; Gmail

;; IMAP4 over SSL
(setq elmo-imap4-default-server "imap.gmail.com")
(setq elmo-imap4-default-user "username")
(setq elmo-imap4-default-authenticate-type 'clear)
(setq elmo-imap4-default-port 993)
(setq elmo-imap4-default-stream-type 'ssl)
(setq ssl-certificate-verification-policy 1)

;; 日本語フォルダ対応
(setq elmo-imap4-use-modified-utf7 t)

; Emacs 23以降だと 関数 utf-16-be が utf-16be となっているため
; utf-16beを使うように設定
(cond ((>= emacs-major-version 23)
       (setq utf7-utf-16-coding-system 'utf-16be)))

;; SMTP over SSL
(setq wl-smtp-posting-server "smtp.gmail.com")
(setq wl-smtp-connection-type 'starttls)
(setq wl-smtp-posting-port 587)
(setq wl-smtp-authenticate-type "plain")
(setq wl-smtp-posting-user "username")