from 和ジオ

Fedora CORE (2) + emacs + ATOK X で出先接続用サーバ構築

Linux 環境構築

Fedora CORE (2) + emacs + ATOK X(atokx) で出先接続用サーバ構築

最近友人が、出先から、https経由で自宅のメールサーバを 読んだりしているらしく(SqWebMailというのを使っているらしい)、 それに影響をうけて出先接続用サーバ環境を作ってみたメモです。 何がしたかったというと、図書館でノートPCを使って作業をしたかったのです。

出先で何をやるかと考えたとき、メモの作成とメールの読み書きが一番ありえそうですが アプリケーションを決めてしまうと何かと不便。あと、データをクライアント に残すとシンクロが面倒・・・ということで、サーバを用意し、接続クライアントは ターミナルを使うことに決定。サーバに指令をだす形で全てを行います。

そして重要なのが日本語入力。せっかくなので漢字変換もサーバやりたい。 Windows系のOSだとこれはできないので、サーバは Linuxに。 ATOK X for Linux を持っているのでこれが使えれば実用的。 すこし調べると、なんと emacs から ATOK X が使う iiimf インターフェスに接続ができる lisp があるではないですか。

emacs が使えるのであれば、メーラは mew。ブラウザは emacs-w3m と アプリもあるしマルチバッファも使えるし言うことなしです。 早速やってみました。

使わせてもらったソフトウェア

OS Fedora CORE 2 Linux telnet と emacs が動くOS ということで既に稼働している Linux があったのでこれに構築
emacs emacs-21.3-12 / emacs-common-21.3-12 emacs エディタ。Fedora CORE 2 パッケージ
ATOK X For Linux ATOK X + ATOK X付属の iiimf パッケージ Linux 用の ATOK
m17n.org IIIMECF IIIMECF-0.6 emacs から iiimf と通信する lisp
Mew mew-3.3-2 / mew-common-3.3-2 emacs 上で動くメーラ lisp。Fedora CORE 2 パッケージ。
emacs w3m emacs-w3m-1.4.3 emacs 上で動く テキストブラウザ lisp

emacs + ATOK X

emacsでATOK Xを使っているスクリーンショット

まず、今回の肝である emacs をインストールします。 Fedora の標準パッケージで 用意されているので、こちらを使いました。

# yum install emacs

次に、ATOK X をインストールします。 インストールの仕方は説明書に 従ってください。注意するのは、 Fedora には iiimf パッケージが標準 でついてくるのですが、ATOK X と組み合わせるとうまく動かないようなので ATOK インストール前に削除します。

# rpm -qa | grep iiimf

して出てきたパッケージを、

# rpm -e パッケージ名称 ..

で削除すると良いでしょう。Fedora 標準 iiimf を IIIMECF から 呼び出して ATOK X を使うと一見動いているように見えるのですが、 変換文字列の「確定」動作ができませんでした。(リターンを押すと this buffer is read-only..と emacs にいわれて変換が確定できない)

次に、IIIMECF をインストールします。IIIMECF を使うには、 あわせて、Mule-UCS もいるのですが、Fedora CORE 2 の emacs-common に標準で入っているのでこちらを利用しました。 IIIMECF をダウンロードし、展開し、

$ emacs -q --no-site-file -batch -l iiimcf-comp.el

バイトコンパイルします。そして、作成されたlisp 配下のファイルを、

/usr/share/emacs/site-lisp/IIIMCF

にコピーします。 IIIMCFディレクトリは作成しました。 できたら、 emacs の設定を行います。 ホームディレクトリの .emacs ファイルに次の記述を付け足します。

(setq emacs-ime "atokx")
(if (or (equal emacs-ime "atokx")
    (equal emacs-ime "atok")
    )
(progn

    (require 'un-define)
    (setq coding-category-utf-8 'utf-8)

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

    (define-key global-map "¥C-¥¥" 'toggle-input-method)
    (setcar default-mode-line-format "")
)
)

これで emacs を起動し「CTRL+¥」キーを押下すれば スクリーンショット のように ATOK X が起動するはずです。

[ATOK X の操作]

CTRL+BS 未確定文字列を 1文字削除
SPACE 変換
カーソル←→ 未確定文字列の変換対象文節の伸張を行う
カーソル↓ 選択中の未確定文字列を確定する
RET (ENTER) 未確定文字列を一括確定する
CTRL + I 未確定文字列をカタカナにする
CTRL + P 未確定文字列を英語にする
CTRL + O 未確定文字列を半角文字にする

emacs + Mew

emacsでMewを使っているスクリーンショット

emacs 上で メールの読み書きを行う mew のインストールをします。 Fedora の標準パッケージになっているので、こちらを使いました。

# yum install mew

.emacs に メールサーバの設定を記述します。ここでは、POP を 使う設定にしました。

;;
;; load mew package
;;
(autoload 'mew      "mew" nil t)
(autoload 'mew-send "mew" nil t)
(setq mew-mail-domain-list '("ドメイン名"))
(setq mew-name "ユーザ名")
(setq mew-user "ユーザ名");;
;; POP/SMTP setting
;;
(setq mew-use-cached-passwd t) ;; save password at beginning
(setq mew-pop-delete nil) ;; POPサーバからメールを消さない
(setq mew-pop-server "POPサーバ名")
(setq mew-smtp-server "SMTPサーバ名")
(setq mew-pop-auth 'pass)
(setq mew-pop-user "POPユーザ名")
(setq mew-dcc "メールアドレス")

Mew の起動は、emacs 起動後に、ESC +x して mew[enter]するか、 emacs を起動時に、

emacs -f mew

とすれば起動できます。

emacs + emacs-w3m

emacsでATOK Xを使っているスクリーンショット

emacs 上でテキストブラウザを行う、emacs-w3m のインストールをします。

こちらは、Fedora にパッケージが用意されていないので、ファイルを ダウンロード、展開しコンパイルします。

$ ./configure
$ make
# make install

次に、 .emacs に設定を行います。

(require 'w3m-load)

これで、ESC +x して w3m[enter]するか、

emacs -f mew

で、emacs-w3m が起動します。

[emacs-w3m のよく使うコマンド]

リンクの上で enter キー リンク先へ遷移 カーソル移動は emacs 準拠。 CTRL + f(右)/b(左) p(上)/n(下)
カーソルキー リンク移動 ↑↓で、画面内のリンクタグにカーソル移動。←→で「戻る」「進む」
U URL入力  
a ブックマーク追加 適当なセクション名とタイトルを入力
v ブックマーク閲覧  
フォーム上で enter html フォームに文字を入力するモードに マルチカラムの textbox の場合は、CTRL + c c で確定

emacs + その他

emacs 上で行番号を表示する lisp である、wb-line-number を使っています。いい感じです。

(require 'wb-line-number)
(wb-line-number-toggle)

最後に

全ての機能をサーバ側に預けることにより、クライアント側を何も考える必要 がないのが強みですね。

実はクライアントにしようとしていたのがキーボード付きWindowsCE 機なのです。 すぐに電源が入るし電池が持つのも良いのですが、なんといっても非力... この方法であれば遅かった(あほだった)漢字変換もサーバに任せられますし ストレージ容量も考えなくていいので、良い感じです。

データシンクロ手段としても良いと思いますので、強力なノートPC をお持ちの方もお試しください。(セキュリティにはお気をつけを)

(メモ) teraterm for windows CE を fedora で使うおまじない

export LANG=ja_JP EUC