Back

日本語化について

日本語化されているディストリビュージョンがいくつかありますがSlackware-4.0は、全く日本語化されていません。標準ライブラリもlibc5です。libc6(glibc2)のランタイムは、インストールされますが2.0.7であり日本語ロケールがないため、結局、日本語化されていません。

Slackware-7.0は、遂にlibc6(glibc2)が標準ライブラリになりました。一応日本語ロケールもあるようですが、いまいち動作が怪しいような気がします。また、7.0では、gccに変わりegcsが標準のCコンパイラとなりました。そのため、Canna35b2とkterm-6.2.0のコンパイルでエラーが出るようになりました。これを解決するためのパッチを作成しました。パッチの当て方は、個々のインストール方法を参照してください。

私の場合は、日本語環境として、キーボードの配列(というかControlキーの位置)が合っていることと以下の物があれば良く、これらのコンパイルとインストール方法について説明します。

以前は、上記のソフトウェアをPJEからインストールしていましたが、PJEのインストール形式がrpmになってしまったためftpサイトからソースを入手してコンパイル/インストールすることにしました。


非X-Windowモードでのキーボード配列設定

Slackwareインストール直後は、キーボード配列がASCIIキーボードになっています。このままでは、記号の位置が違うためSlackware起動時に106キーボード配列になるようにします。/etc/rc.d/rc.keymapファイルに以下を追加します。なお、以下の設定を行うためには、kbdパッケージをインストールする必要があります。

if [ -x /usr/bin/loadkeys ]; then
/usr/bin/loadkeys jp106.map
fi

私の場合は、CtrlキーがCapsLockキーの位置でないとダメなので/usr/lib/kbd/keytables/jp106.mapに以下の修正を加えてあります。CapsLockと左側のControlキーを入れ換えています。

#keycode 58 = Caps_Lock
keycode 58 = Control
#keycode 97 = Control
keycode 97 = Caps_Lock


かな漢字変換サーバ

かな漢字変換サーバは、漢字ターミナル、emacs、Netscapeでかな漢字変換を行うために必要です。かな漢字変換サーバには、Cannaを使用しています。コンパイルとインストールの方法を以下に示します。

(Slackware-4.0の場合)
# tar zxvf Canna35b2.tar.gz
# cd Canna35b2
# xmkmf
# make Makefile
# make canna
# make install

(Slackware-7.0の場合)
# tar zxvf Canna35b2.tar.gz
# cd Canna35b2
# cd Canna35b2/dic/ideo/public
# patch pod.c pod.c.patch
# cd ../../..
# xmkmf
# make Makefile
# make canna
# make install

起動時にかな漢字変換サーバを起動するため、/etc/rc.d/rc.localに以下を追加します。

if [ -x /usr/local/canna/bin/cannaserver ]; then
rm -rf /tmp/.iroha_unix/IROHA
/usr/local/canna/bin/cannaserver
fi


漢字ターミナル(kterm)

漢字ターミナル(kterm)は、日本語が表示できるターミナルです。コンパイル方法とインストール方法を以下に示します。

(Slackware-4.0の場合)
# tar zxvf kterm-6.2.0.tar.gz
# cd kterm-6.2.0
# xmkmf -a
# make
# make install
(必要なら)
# make install.man

(Slackware-7.0の場合)
注:本パッチは、ちょっと怪しい(変)ですが一応問題なく動作しております。
# tar zxvf kterm-6.2.0.tar.gz
# patch -p0 < kterm-6.2.0.patch
# cd kterm-6.2.0
# xmkmf -a
# make
# make install
(必要なら)
# make install.man

私は、背景に画像を張り付けることのできる、壁紙ktermのパッチを当てて使っています。これの作り方は、xxを参照して下さい。(あああ。まだ書いていなかった...2000/01/21)


エディタ(emacs)

emacsは、単なるエディタのみでなくメールの読み書き等、色々な機能を持っています。かな漢字変換サーバにcannaを使用する場合、cannaパッチが必要です。cannaパッチは、パッチを作ってらっしゃる中島さんのペイジか、Wnn、Canna、SJ3統合パッチをhttp://emacs-20.ki.nu/からダウンロードして下さい。統合パッチを当ててemacsをコンパイル、インストールする方法を以下に示します。以下の例では、emacs-20.5ですが、20.6でも同様です。

# tar zxvf emacs-20.5.tzr.gz
# patch -p0 < emcws-20.5-19991210
# cd emacs-20.5
# ./configure --with-canna --with-canna-includes=/usr/local/canna/include --with-canna-libraries=/usr/lib --with-x --with-x-toolkit=yes
# make
# make install


ページャ(less)

ページャ(less)は、manページを見るとき、テキストファイルを見るときに使用するツールです。Slackwareに標準で入っているlessを日本語が見れるようにしたlessに置き換えます。コンパイルとインストール方法を以下に示します。

# tar zxvf less-332.tar.gz
# gzip -d less-332-iso221.patch.gz
# cd less-332
# patch -p1 < ../less-332-iso221.patch
# ./configure --prefix=/usr
# make
# make install

日本語を表示できるようにするためには、~/.profileに以下の記述を追加します。

JLESSCHARSET=japanese-iso7
export JLESSCHARSET


日本語コード変換プログラム(nkf)

日本語コード変換プログラムのコンパイルとインストール方法を以下に示します。

# gzip -d nkf-1.6.shar.gz
(なんか行頭にめいるがついてたので"#!/bin/sh"の前行まで削除する)
# sh nkf-1.6.shar
# gcc -O2 -o nkf nkf.c
# cp nkf /usr/local/bin/.


日本語入力プログラム(kinput2)

日本語入力プログラム(kinput2)は、kterm、netscape、gimp等のX-Windowのアプリケーションで日本語を入力するためのプログラムです。kinput2のコンパイルとインストール方法を以下に示します。

# tar zxvf kinput2-v3-beta3
# cd kinput2-v3-beta3
(cannaのみ使用する設定にした。修正内容は以下のパッチ)
# patch -p0 < Kinput2.conf.diff
# xmkmf
# make Makefiles
# make depend
# make
# make install

使用するには、以下の環境変数を設定しておきます。~/.profileや~/.bachrc、~/.cshrc等で設定しておくと良いでしょう。

(shの場合)
XMODIFIERS="@im=kinput2"
export XMODIFIERS


ターミナル(rxvt)

ターミナル(rxvt)は、日本語が表示できるターミナルです。Slackwareでインストールされるrxvtは、漢字が使用できるように作られていないため置き換えます。 コンパイル方法とインストール方法を以下に示します。

# ./configure --prefix=/usr/X11R6 --enable-xpm-background --enable-menubar --enable-graphics --enable-xterm-scroll --enable-xim --enable-kanji --with-x --with-xpm
# vi src/feature.h
(以下を編集しました。)
/* #define PREFER_24BIT */
#define PREFER_16BIT

# make
# make install

ちなみにrxvtは、背景にpixmapを張り付けることが可能です。また、ktermより軽いです。~/.XDefaults等に以下のリソース設定をすることでkinput2も使用できるようです(私の環境ではできませんでしたが...。)。

Rxvt*inputMethod: kinput2
Rxvt*preeditType: OverTheSpot