フリーSolarisでここまでやれる!

山森丈範 YAMAMORI Takenori ●yamamori

kterm, Wnn4, kinput2, fvwm2, nvi,...


基本的なものをインストールしていきます.
■kterm-6.2.0

    $ xmkmf -a; make
    # make install

■Wnn4.2

config/X11.tmpl の作成

    $ 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

と修正します.

Makefile.inst の修正

Makefile.inst
TOP = /usr/X11R6
      ↓
TOP = /usr/X11R6.4
Wnn/include/config.h の修正

Wnn/include/config.h の171行目付近
#define TTY_KCODE J_JIS
#define PTY_KCODE J_JIS
	↓
#define TTY_KCODE J_EUJIS
#define PTY_KCODE J_EUJIS
Wnn/jserver/de_header.h の修正

Wnn/jserver/de_header.h の57行目付近
#include "jslib.h"
#include "ddefine.h"
#include "wnn_os.h"
	↓
#include "jslib.h"
#include "wnn_os.h"
#include "ddefine.h"
isspace() の再定義の不整合を直します.

ちなみに,Solaris 2.5.1 や SunOS 4.1.4では修正無しで問題ありませんでしたが,Solaris 2.6 以降ではこの修正が要るようです.

make World

    $ 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

kinput2-v2-fix5-alpha1

libwnn.a 等が出来たので kinput2 が作れます.FilterEvents に対応するため,v2-fix5 以降を使います. 本記事執筆時点ではまだα版ですが,特に問題はありませんでした.

○Kinput2.confの修正

/* #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
lib/ctext.c の修正

kinput2-v2-x11r6.4-xim.patchlib/ctext.cに当てて下さい.これは,X11R6.4 で XIM プロトコルを使って日本語入力する時に,EUC と ASCII が混ざった文字列を同時に確定しようとするとハングする, という不具合を修正するものです.(ちなみに X11R6.3 では問題が発生していませんでした)

○make

    $ xmkmf -a
    $ make
    # make install

■xpm-3.4k

fvwm2 等の make のため,先に libXpm を作っておきます.

    $ xmkmf -a; make
    # make install

■fvwm-2.0.46+fix-2.0.46+PATCH.I18N

fvwm-2.0.46 に,fvwm-users-jp-kits.97Oct04 の中の patch のうち,fix-2.0.46PATCH.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.m17n-981105

nvi-1.79.tar.gz を展開し,nvi-1.79 のディレクトリに移動してパッチを当てます.

    $ zcat nvi-1.79.m17n-981105.diff.gz | patch -p1

ソース全体をリードオンリーにし,隣に作業ディレクトリを作ってそこに移動して configure しますが,nvi では configurebuild の下にあるので注意します.

    $ ../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上で日本語をエディットしている様子
kterm

これでひと息

これで少なくとも,Solaris 7 上で日本語がエディットできるようになりました. まずはひと安心といったところです. さて,ずっとディスクレスで,シリアルコンソールと rlogin で操作してきた Solaris 7 ですが,ここでローカルの Xsun を試すため,キーボードとモニターを繋いで立ち上げ直しました.xinit で無事,X Window Systemが立ち上がります.(上図)


To 『フリー Solaris でここまでやれる!』index


このページは、技術評論社 SoftwareDesign 1999年2月号、『フリーSolarisでここまでやれる!』の原稿を元に、Web 用に再構成したものです。
To 謎の処理系 SunOS 4.1.4 Home
yamamori