ibus1.5系をASCIIキーボード+SKK環境で使い易くする

[`evernote` not found]
Bookmark this on Hatena Bookmark
Share on Facebook
LINEで送る

参考

本の虫: iBus 1.5がクソすぎる
iBusがクソになった理由 — KaoriYa

経緯

2年くらい前にこの記事を見た時は,何を言っているのかさっぱり分からなかったが,今なら少しは分かる.
でも,uimを散々使ってみた挙句,uimの変換中文字列がホワイトアウトして表示されなくなる現象 (RequestUim - uim-doc-ja - Japanese Documentation Project for uim - Google Project Hosting) に出くわしてからibusに戻っているのが現状だ.
ちなみにホワイトアウトは,私の環境ではシングルモニタでも出る
uimは,.Xdefaultにurxvtの色設定を書いても,.uimで色定義書いてuim-colorに適用してもだめだったから,私の知識では打つ手なし

まぁ方針の善し悪しは,特定人種の攻撃みたいな様相なのでスルーすることにして,
どうすれば,私の環境で快適に使えるかと試してみた.
あくまでマシになる程度で,快適とまではいかなかったが,文字が見えないよりはマシなので,uimは捨ててibusに乗り換えた.

環境

OS
Ubuntu 14.04
WM
xmonad
IM
ibus
IME
ibus-skk
キーボード
ASCII配列
エディタ
VIM ときどき emacs
VIMの動作するurxvtでちゃんと変換中文字列が表示されて,emacsでは起きないよう設定できることが最低条件

やること

ibus+ibus-skkのインストール
.xprofileで環境変数を設定してibus起動させるとかは,頑張って.
今覚えている範囲なら,これ書いてXかubuntu丸ごとかを再起動しとけばいけるかも.

xmodmap .Xmodmap export XIM=ibus export XIM_PROGRAM=/usr/bin/ibus-daemon export XIM_ARGS="--xim" export GTK_IM_MODULE="ibus" export XMODIFIERS="@im=ibus" export QT_IM_MODULE="ibus" ibus-daemon -d -x
ibusの設定を全ウィンドウで共通化させない
xmonadではツールバーなんて軟弱なものはないので,現在のinput methodを確認する術が,入力してみる,しかない.
不便極まりないので,ウィンドウを起こした時には常に決まった入力モードであって欲しい.
ibus-setupのadvancedでShare the same input method among all applicationsのチェックを外すことで,可能である.
skkの初期モードをLatinにしておく
実は初期モードはLatinなんだけど,Hiraganaに切り替えていたので戻すだけ.
キーボード操作メインのxmonadで初期モードHiraganaは自殺行為だった.
ibus-setupのinput MethodからSKKを選択してPreferencesを押し,Behaviorからinitial input modeをLatinにしておけばOK
ASCIIキーボードで入力できるようにする
ibus-skkのキーマップが106キーボードになっているので,asciiに変更する.
要su権限.
/usr/share/ibus/components/skk.xmlのlayoutをjpからusに変えて再起動か再ログインか,何かすればOK
(追記)インプットメソッドをskkのみにする
skkの中で直接入力できるのに,Englishを残しておく意味はないので,消す.これしないと,英語環境を使ってる時デフォでskkが起きてくれなくてうざい.これをやっても,例えばemacsを起動した時にはddskkを呼ばなくてもasciiの入力はできるし,C-jはLispの実行だし,C-x C-jでddskkが起きる.

結果

ウィンドウを遷移する度に,Latinに切り替わるぜ!
これがWindows機の動作だったらキレてるところだが,ubuntuなら,そんなに違和感ない.
ちなみに,何でか分からんが,.XdefaultsにemacsでuseXIMはfalseだよーとかしなくても,emacsからはibus-skkは呼ばれない.