2010年12月21日火曜日

SolarisのATOKを外部IIIMECFから使う


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


昔からATOKを使っているため、WindowsでもLinuxでもSolarisでもATOKで日本語入力がしたい。
個々にパッケージをインストールしているが、辞書が統一されないため非常に煩わしい。

特に良く使う、WindowsのNTEmacsと、Solaris上のEmacsの統一がとれないのが不満で、なんとか統一できないか試したところこの方法に行きついた。

辞書をSolaris側に統一する方針で使う事にする。

■Solaris10側で、iiimdの設定

# vi /etc/iiim/iiimd.xml.conf
-------------------------
<listen type="tcp">
    <hostname>0.0.0.0</hostname>
    <port>9010</port>
</listen>
<listen type="unix">
    <file>/var/run/iiim/.iiimp-unix/9010</file>
</listen>

<acls default="deny">
    <acl type="permit">
        <hostname>127.0.0.1</hostname>
    </acl>
    <acl type="permit">
        <hostname>winxp-u24</hostname>
    </acl>
</acls>
-------------------------
赤字部分を自分の好みで設定する。
設定項目:待ち受けるIP、ポート、アクセス許可するホスト(重要!)

これで、iiimdを起動してやれば、ポート9010で待ち受けてくれる。

■iiimdの起動
# iiimd

で起動できるので、適当に起動スクリプトを仕込んでおけば、OS起動時にiiimdを起動できる。

また、iiimdに -d オプションを付けると、でバックモードで起動し、クライアント側からのアクセス情報が標準出力に出るようになるので、障害解析に役立つ。

■IIIMECFの設定
Solaris、Windows、Linux共通。

まずはここから最新版のIIIMECFを入手する。インストール自体は添付のREADME.jaの通り。

.emacs に以下を記述
-------------------------
; 接続するサーバを指定
(setq iiimcf-server-control-hostlist (list "tcp:192.168.1.10:9010"))

; 接続するサーバで使うユーザ名を指定
; 指定しない場合、OSログインユーザ名@ホスト名が使用される
; Windowsの場合に重要で、辞書をあわせたいユーザ名を指定する。
; ここで指定するユーザはSolaris上に存在する必要がある
(setq iiimcf-server-control-username "username@hostname")

(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)
-------------------------

これで設定は完了。これでユーザ名を合わせてやることでEmacs上での辞書ファイル統合が可能。
ややネットワーク越しの変換はややもっさりするが、そこまでは気にならない。


2010/12/24 Shift + Spaceで半角スペースを挿入する方法を追記

0 件のコメント:

コメントを投稿