2011年6月19日日曜日

Solaris11/Emacs ATOK + IIIMECF による日本語入力


このエントリーをはてなブックマークに追加


ネットワーク経由でSolarisのATOKは使うのはこちら。今回はX上で使う方法。


Solaris11 ExpでXを使うには、
# pkg install slim_install
# pkg uninstall slim_install
# svcadm enable gdm
# reboot

Solaris11 Exp でATOKを使うには
# pkg install atok

メニューバーの「システム」→「設定」→「IIIM入力方式」→「言語/スクリプト」→「日本語」で使用するエンジンにATOKを指定

IIIM経由で日本語入力するにはiiimdとEmacsのIIIMECFが通信する必要がある。
同一ホスト上でのプロセス間通信は、以下のソケットファイルを経由する。
root@solaris:~# ps -ef |grep iiimd
    root  2046     1   0 02:49:14 ?           0:00 /usr/bin/iiimx -iiimd
    root  2047  2046   0 02:49:14 ?           0:14 iiimd -nodaemon -desktop -udsfile /tmp/.iiim-root/:0.0 -vardir /root/.iiim/le -
このプロセスはXへログインすれば自動的に起動する。

こちらからIIIMECFを入手し適当なディレクトリへ配置してやり、後は.emacsへ以下のを追記する。
;; ---------------------------------------------------
;; IIIMECF
;; ---------------------------------------------------

;; load-pathの追加
(add-to-list 'load-path "~/.emacs.d/site-lisp/iiimecf")

;; 接続先のIIIMFサーバを指定する
(setq iiimcf-server-control-hostlist (list (concat "/tmp/.iiim-" (user-login-name) "/:0.0")))

(setq iiimcf-server-control-default-language "ja")
(setq iiimcf-server-control-default-input-method "atokx2")
(setq default-input-method 'iiim-server-control)
(require 'iiimcf-sc)

;; Shift-Space で半角スペースを挿入
(defun atok-insert-half-space ()
  (interactive) (insert " "))
(define-key iiimcf-server-control-initial-state-keymap
  (kbd "S-SPC") 'atok-insert-half-space)
これで C-\(toggle-input-method)してやれば日本語入力が可能になる。

ターミナル経由のEmacs(-nw)でIIIMECFを使いたい場合は、Emacs を起動する前に iiimd -udsfile /tmp/.iiim-root/:0.0 とiiimdを起動してやればOK。

rootの部分は自分の使っているユーザ名に合わせる。

0 件のコメント:

コメントを投稿