フリーSolarisでここまでやれる! |
山森丈範 YAMAMORI Takenori ●yamamori |
$ xmkmf -a; make # make install
■Wnn4.2
$ cd Xsi/config $ cp /usr/X11R6.4/lib/X11/config/X11.tmpl . $ chmod +w X11.tmpl $ tail +1084 Project.tmpl | sed -e 's/\$\$imakeprefix/\$(IMAKEPREFIX)/g' >> X11.tmpl
さらに,X11.tmpl を,
#define BuildCWnn NO #define BuildKWnn NO #define BuildXwnmo NO
と修正します.
TOP = /usr/X11R6 ↓ TOP = /usr/X11R6.4 |
#define TTY_KCODE J_JIS #define PTY_KCODE J_JIS ↓ #define TTY_KCODE J_EUJIS #define PTY_KCODE J_EUJIS |
#include "jslib.h" #include "ddefine.h" #include "wnn_os.h" ↓ #include "jslib.h" #include "wnn_os.h" #include "ddefine.h" |
ちなみに,Solaris 2.5.1 や SunOS 4.1.4では修正無しで問題ありませんでしたが,Solaris 2.6 以降ではこの修正が要るようです.
$ make -f Makefile.inst World # make install
jserver, uum などが /usr/local/bin/Wnn4 以下に,辞書などが /usr/local/lib/wnn 以下に,libwnn.a が /usr/X11R6.4/lib にインストールされます.
make install に一部不具合があるようで,インストール後,手動で以下のことを行ないました.
# cd /usr/local/lib/wnn/ja_JP/dic/pubdic # wnntouch full.fzk # mkdir /usr/local/lib/wnn/ja_JP/dic/usr # chown wnn /usr/local/lib/wnn/ja_JP/dic/usr
libwnn.a 等が出来たので kinput2 が作れます.FilterEvents に対応するため,v2-fix5 以降を使います. 本記事執筆時点ではまだα版ですが,特に問題はありませんでした.
/* #define UseWnn */ #define UseCanna #define UseSj3 ↓ #define UseWnn XCOMM #define UseCanna XCOMM #define UseSj3 |
XCOMM WNNINCDIR = /usr/X11R6/include/wnn ↓ WNNINCDIR = /usr/X11R6.4/include/wnn |
XCOMM WNNLIB = -lwnn ↓ WNNLIB = -lwnn |
WNNSRC = $(CONTRIBSRC)/programs/Xsi/Wnn WNNINCDIR = $(WNNSRC)/include WNNLIB = $(WNNSRC)/jlib/libwnn.a ↓ XCOMM WNNSRC = $(CONTRIBSRC)/programs/Xsi/Wnn XCOMM WNNINCDIR = $(WNNSRC)/include XCOMM WNNLIB = $(WNNSRC)/jlib/libwnn.a |
kinput2-v2-x11r6.4-xim.patch を lib/ctext.cに当てて下さい.これは,X11R6.4 で XIM プロトコルを使って日本語入力する時に,EUC と ASCII が混ざった文字列を同時に確定しようとするとハングする, という不具合を修正するものです.(ちなみに X11R6.3 では問題が発生していませんでした)
$ xmkmf -a $ make # make install
fvwm2 等の make のため,先に libXpm を作っておきます.
$ xmkmf -a; make # make install
fvwm-2.0.46 に,fvwm-users-jp-kits.97Oct04 の中の patch のうち,fix-2.0.46 と PATCH.I18N を当てます.
$ patch -p0 < kits/patch/fix-2.0.46 $ patch -p0 < kits/patch/PATCH.I18N $ xmkmf -a $ LD_RUN_PATH=/usr/X11R6.4/lib make # make install
make 時に,なぜか LD_RUN_PATH が落ちてしまうようなので,コマンドラインで指定しました.(B-sh 系であることに注意)
nvi-1.79.tar.gz を展開し,nvi-1.79 のディレクトリに移動してパッチを当てます.
$ zcat nvi-1.79.m17n-981105.diff.gz | patch -p1
ソース全体をリードオンリーにし,隣に作業ディレクトリを作ってそこに移動して configure しますが,nvi では configure が build の下にあるので注意します.
$ ../nvi-1.79/build/configure --enable-multibyte $ make # make install
日本語をエディットするために,環境変数 NEXINIT をセットします.(1行で書くこと)
NEXINIT='set noskipdisplay displayencoding=euc-jp inputencoding=euc-jp fileencoding=euc-jp autodetect=jp'
●Solaris 7上で日本語をエディットしている様子
これでひと息 |
これで少なくとも,Solaris 7 上で日本語がエディットできるようになりました. まずはひと安心といったところです. さて,ずっとディスクレスで,シリアルコンソールと rlogin で操作してきた Solaris 7 ですが,ここでローカルの Xsun を試すため,キーボードとモニターを繋いで立ち上げ直しました.xinit で無事,X Window Systemが立ち上がります.(上図)