SKKのススメ


jedがすっかりマイ・エディタとして定着して久しい。だもんで、使いもしないMuleもXEmacsもスッパリと捨てることにした。どうせlispの読み書きできないもんね、オレ。どうせ使いこなせもしないのに、重くて場所食って、いいことねぇもん。さようなら>mule & XEmacs

ついでにCannaも捨てて、もう一度心を入れかえて(笑)、SKKにしてみることにした。Cannaはなんとなく腐れ縁て感じで使い続けていて、X主体で使うようになってもkinput2からCannaを使えたし、とくに困ってはいなかったが、やはりバカな変換するしねぇ。最近のskkinputなら、しっかりモヂラでもGTK+でも日本語の入力ができるという話を聞いたしね。

で、使えば使うほど、いいよ、SKKは。もうすっかりSKKな体になってしまい、会社のWin95にもSKK95を入れちゃったよ。

だけど、実はオレのコンダラ1号でSKKが使えるようになるには、ちょっと工夫が必要だったのだ。なぜって、JRPMに置いてあるSKKのパッケージってのが、MuleとXEmacsのことしか考えてなくて、そのままじゃ使えなかったんでね。まぁjedでSKK使うなんてすっげ〜少数派なのかも知れないけどさぁ、リクツの上では、Xでskkinputだけ使いたい、という人でさえ、MuleかXEmacsのインストールが必要なパッケージ構成になってしまっているのはマズかろう。

などとPackage MLに書いたら、このパッケージを作ってJRPMに出してくださった方から、次回からは考慮します的な、丁寧な返事を頂いてしまって恐縮しているのだった。というワケで、オレ自身はそんなわけで使ってはいないものの、ひょっとしたらこのページを見ている人のなかにはMuleやXEmacsを使っていて、SKKに転ぼうかなぁなんて思っている人もいるかも知れないからチラッと説明だけしておくと、

skk-9.6-3glibc.i386.rpm SKK本体…のようだが違って、これには初期化ファイルなどが入っている。

skk-el-mule-9.6-3glibc.i386.rpm muleでSKKを使う人のためのelispパッケージ。これにもSKK本体は入っていない。

skk-mule-9.6-3glibc.i386.rpm muleでSKKを使う人むけのSKK本体。

skk-xemacs-9.6-3glibc.i386.rpm XEmacsでSKKを使う人のためのSKK本体。

と、こんな具合で、何をどういう順番で入れたらいいのか、ちょっと、というかかなりわかりにくいんじゃないかという気がする。わからない人は全部入れろってことかな(笑)

skk-9.6-3.src.rpm SKKのソース・パッケージ

なんだけど、このソース・パッケージを持ってきて、自分のところでmakeしてみようとしたんだが、パッケージを作るためにはMuleもXEmacsも両方入ってないとダメだ。そらまぁそれ用のパッケージを作ろうとするんだから、そうだろうなぁ。

skkinput-2.01-1glibc.i386.rpm skkinput ね。これ自体は、どうにかしてSKKが入っていれば、そのまま使えるだろう。オレも実際にそのまま使っている。

skkinput-2.01-1.src.rpm skkinput のソース・パッケージね、念のため。

で、どっちにしろオレ的にはこのままじゃダメなんで、自分でjed専用にパッケージしちゃったよ(笑) といっても、やったことと言えば、SPECファイルを書き換えただけなんだけどさ(笑)

赤帽でjedを使う人はだまってこれを入れよう。0から環境を整えるのであれば、もちろんslangとjedそのものも必要だ。パッケージ置き場からどうぞ。

さて、jedでSKKを使う上での設定だが、パッケージ置き場から持っていってそのまま入れたなら、/usr/lib/jed/lib/jed.rc というファイルがあるはずだ。これは jed の設定ファイルの一応は雛型ということになるのだが、実際にはそのまま使ってかまわない。

cp /usr/lib/jed/lib/jed.rc ~/.jedrc

などとして自分のホーム・ディレクトリにコピーしよう。jedは非常に深いので、そこら中に奥義が隠されているのだが、まずは ~/.jedrc の中の

%autoload("skk", "skk");

となっている行を見つけて、%を消そう。~/.jedrc をコピーしてきた時点で、jedは立ち上がるハズなので、jed ~/.jedrc としてjed自身で編集できると思う。

jedの設定ファイルでは、%はコメントの意なので、要するにコメントを外したわけだね。で、この行の下にでも、

setkey("skk", "^X^J");

などと書こう。これは Ctrl+X Ctrl+Jと連続して押すことで、SKKが立ち上がるようにする設定だ。Emacs風の表記だと、C-xC-j といった感じかな。慣れてきたら、他のキーに割りつけることももちろんできる。

jedそのものはEmacsとほとんど同じキーバインドなので、C-xC-sでセーブしてC-xC-cで終了する。これで、jedの方の設定は最低限できた。

次に、SKKをインストールしよう。パッケージ置き場からjed用SKKパッケージを持っていったなら、

rpm -ivh skk-9.6-4wcsmbs.rpm

で、おとなしく入るはずだ。エラーもなくSKKが入ったら、念のため /etc/services を開いて、

skkserv         1178/tcp

という行があるのを確認したら、

/etc/rc.d/init.d/skkserv start

として、skkservを立ち上げてみよう。無事に立ち上がったかな? 無事に立ち上がったなら、skkservは次のリブートからは勝手に立ち上がるから、もういぢるところはない。

でもまだ使えるわけじゃなくて、今度はSKKで使う辞書の設定が必要だ。といってもすげぇ簡単で、

skk_echo = 0;
skk_process_okuri_early = 0;
skk_auto_okuri_process = 0;
skk_aux_large_jisyo = "/usr/share/skk/SKK-JISYO.L";
skk_large_jisyo = "/usr/share/skk/SKK-JISYO.L";
skk_server_host = "127.0.0.1"; 

とでも ~/.skkrc というファイルに書いておけばいいだろう。オレのパッケージだと、/usr/share/skk の下に辞書ファイルが入るので、そのまま使おう。自分でmakeした人は適宜合わせてね。CannaやWnnと同じで、SKKもネットワーク越しに辞書を共有するかな漢字変換サーバとして振舞うが(/etc/servicesのとおり、tcpの1178番を使うの)、ローカルでしか使わないのでserverは127.0.0.1のループ・バックにしておく。

さて、ここまで設定が進んだら、jedをもう一度立ち上げて、いよいよSKKで入力してみよう。あ、jedを引数なしで起動すると、ファイル名を聞かれるかもしれない。いちいちうっとうしいぜ、という人は、~/.jedrc の中の Startup_With_File = 1; となっている箇所を Startup_With_File = 0; にしよう。

さて、jedは立ち上がっただろうか。モードラインに注目しつつ C-xC-j と押すと、

--------EEE--かな(Jed 0.98.7+J0.5.3)

などと表示されただろうか? された人、おめでとう。これでキミも今日からSKKな体だ(笑)

続けてskkinputも入れてしまおう。エラーなく入ったなら、~/.xsession(または~/.xinitrc)にでも

if [ -x /usr/X11R6/bin/skkinput ] ; then
    /usr/X11R6/bin/skkinput -h localhost &
    XMODIFIERS="@im=skkinput"
    export XMODIFIERS
fi

などと書いておこう。これでXを立ち上げなおせば、Shift+Space(つまりkinput2と同じね)でskkinput2がアクティブになる。日本語が使えるwidgetならまず問題なくskkinputで日本語入力ができるぞ。日本語化されたGTK+でも、Tcl/Tkでも、Netscape Communicator 4.07なんて、英語版のままでもちゃんと入力できちゃうぞ。

あ、Tcl/Tkだけちょっと特殊で、Ctrl+\でアクティブになる。だけどトグルじゃなくて、なぜかskkinputでの入力をやめるのはShift+Spaceだ(笑) TclかTkか、どっちかにハード・コードでもしてあるのかな、きっと。

肝心の入力のしかただけど、すまんが /usr/share/skk/SKK.tut を見てがんばってくれ。Muleなんかだと、このSKK.tutはチュートリアルとしてちゃんと入力しながら練習ができるんだけど、jedにはそういうのないんだ。一応、読み物として読むだけでも、入力モードの切り換え方や、変換のルール、辞書への登録方法なんかがわかるはずだ。jedを2枚開いて、片方でチュートリアルを読みながら、もう片方で入力の練習をすれば、すぐに慣れてしまうと思う。なにしろ入力方法にインパクトがあるし、文節の判断などは全部人間がする決まりだから、忘れようにも忘れないのだ(笑)


メール 戻る