■ Windows版 emacs 共通の設定


【お知らせ】


<2018/07/17 追記>
Vagrant を WSL から利用する場合は以下を参考としてください。本ページの内容は Cygwin を利用する場合の説明となっています。

<2014/11/18 追記>
Windows で Google日本語入力 と連携可能な mozc_emacs_helper.exe を作成することに成功しました。mozc_emacs_helper.exe を使えばここのページの設定は不要となります。mozc_emacs_helper.exe を利用する場合は、以下のページを参照ください。

<2014/11/10 追記>
以下のサイトで、W32-IME対応の emacs-24.4-IME-patched-generic-cpu.zip が公開されています。x64 OS を利用の場合はこちらの利用も検討ください。
x86 OS 利用の場合は、x86版の emacs-24.4 を以下からダウンロードできます。こちらは W32-IME対応版 ではありませんので、emacs-mozc の利用をお勧めします。

【本題】



NTEmacs で emacs-mozc を動かすためのサーバ準備編です。
emacs で emacs-mozc を動かすためには、mozc-server や mozc-emacs-helper が必要です。これを Linux の環境上に構築します。

既にネットワーク上や仮想マシン上に linux 環境を持っている方は、その環境に以下のパッケージをインストールしてください。
  • emacs-mozc-bin
  • mozc-utils-gui

また、「ssh-agent や ssh-pageant を使って、ssh のパスフレーズの入力を省略するための設定(方法3)」等を参考として、NTEemacs の shell等 からサーバにパスワード、パスフレーズを入力することなく sshログイン できるようにしてください。

linux の環境を持っていない場合は、以下のサイトを参考として、Vagrant(+VrtualBox)で linux server を立ち上げてください。

  https://github.com/igjit/vagrant-emacs-mozc(igjit様、利用させていただきます。)

環境構築の大まかな流れは以下のとおりとなります。

1) Vagrang と VrtualBox をインストールする。

2) インストールした Vagrant が Cygwin から実行できるように、Vagrant のインストールディレクトリの binディレクトリ に PATH を通す。

3) Windows と Cygwinホームディレクトリ が異なる場合は、管理者権限でコマンドプロンプトを起動し、以下のコマンドを実行する。
  (パスは適宜変更してください。また、Unix とは引数の順が逆ですので注意してください。)
> cd C:\Windows\system32
> mklink C:\gnupack\home\.vagrant.d C:\Users\<user>\.vagrant.d
> mklink C:\gnupack\home\.VirtualBox C:\Users\<user>\.VirtualBox
> mklink "C:\gnupack\home\VirtualBox VMs" "C:\Users\<user>\VirtualBox VMs"

4) Proxyサーバ を介してインターネットに接続している場合は、Cygwin に以下の設定を行う。(ホストOS側のための設定)
  (gnupack の shell から cygwin 環境を使う場合は、config.ini で設定するのが良いと思います。)
  (<IP address> と <port> の部分は、適宜変更してください。)
export http_proxy="http://<IP address>:<port>/"
export https_proxy="http://<IP address>:<port>/"
export no_proxy="localhost,127.0.0.1"

5) Cygwin で以下のコマンドを実行する。
  (Cygwin に git がインストールされていなければ、setup-x86.exe 等を使ってインストールしてください。)
$ git clone https://github.com/igjit/vagrant-emacs-mozc.git
$ cd vagrant-emacs-mozc/

6) Vagrantfile を開き、以下の2つの変数を変更して i386版OS を使うようにする。
  (設定を変更せずに amd64版OS を使う場合は、BIOS設定 で VT-x/AMD-V が有効となっていることを確認してください。)
config.vm.box = "trusty-server-cloudimg-i386"
config.vm.box_url = "https://cloud-images.ubuntu.com/vagrant/trusty/current/trusty-server-cloudimg-i386-vagrant-disk1.box"

7) Proxyサーバ を介してインターネットに接続している場合は、Cygwin で以下のコマンドを実行する。(ゲストOS側のための設定)
$ vagrant plugin install vagrant-proxyconf
 また、Vagrantfile の最終行の end の前に以下の行を追加する。(<IP address> と <port> の部分は、適宜変更してください。)
if Vagrant.has_plugin?("vagrant-proxyconf")
  config.proxy.http     = "http://<IP address>:<port>/"
  config.proxy.https    = "http://<IP address>:<port>/"
  config.proxy.no_proxy = "localhost,127.0.0.1"
end

8) Cygwin で以下のコマンドを実行する。
$ vagrant up

9) 以下のコマンドを実行し、サーバにログインできることを確認する。
$ ssh -p 2422 -i ~/.vagrant.d/insecure_private_key vagrant@127.0.0.1
 このページの設定を何度か繰り返した場合などに、以下のエラーが出る場合があります。
 その場合は、~/.ssh/known_hosts を削除してみてください。
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@    WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!     @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

10) 以下のコマンドを実行し、リモートの mozc_emacs_helper が動作することを確認する。
$ echo -e '(0 CreateSession)\n(1 SendKey 1 97)' | ./mozc_emacs_helper.sh
((mozc-emacs-helper . t)(version . "1.13.1651.102")(config . ((preedit-method . roman))))
((emacs-event-id . 0)(emacs-session-id . 1)(output . ()))
((emacs-event-id . 1)(emacs-session-id . 1)(output . ((id . "2112461956057362500")(mode . hiragana)(consumed . t)(preedit . ((cursor . 1)(segment ((annotation . underline)(value . "あ")(value-length . 1)(key . "あ")))))(candidates . ((size . 1)(candidate ((index . 0)(value . "あ")(annotation . ((description . "ひらがな")))(id . 0)))(position . 0)(category . suggestion)(display-type . main)(footer . ((label . "Tabキーで選択")))))(status . ((activated . t)(mode . hiragana)(comeback-mode . hiragana)))(all-candidate-words . ((candidates ((id . 0)(index . 0)(value . "あ")(annotation . ((description . "ひらがな")))))(category . suggestion))))))

以上でうまく行かない場合は、以下も参照して問題を解決してください。

  • Vagrant で立ち上げたサーバに接続できないときは..
  • Cygwin から Vagrant を使うには..
  • Proxy 経由でインターネットに接続している場合は..

また、PC をシャットダウンする際は、事前に vagrant-emacs-mozc ディレクトリ配下で以下のコマンドを入力し、サーバを停止してください。
vagrant halt

11) つづいて、「emacs-mozc を動かすための設定(emacs 設定編)」の設定を行う。


<変更履歴>
  • 2014/10/30 このページを作成した。