今回は4月17日にリリース予定のUbuntu 14.04での日本語入力(インプットメソッド)の変更点をお知らせします。
概要
事前にはいろんな話が出ましたが、結局のところ13.10と大きな違いはありません。
IBusのバージョンは1.5.5になり、新たにプロパティパネルという機能が実装されました。13.10ではキーボードレイアウトないし変換エンジン(入力ソース)をSuper[1] +Spaceキーで切り替えるはずだったものの、実際には動作しないのでCtrl+Spaceキーに変更して切り替える、という事態になっていましたが、14.04では正しく動作するようになりました。
ただし、切り替える必要はほとんどなくなりました。なぜなら日本語キーボードで日本語の変換エンジンが選択された場合は、その変換エンジンのみが登録されるようになったからです。これによって半角/全角キーでいわゆる半角モードと全角モードの切り替えが実用的になりましたが、半角/全角キーがない場合はCtrl+Spaceキーではなく別のキーを押す必要があります。また、ログイン直後に全角モードになっているという問題(というか仕様)も依然としてあります。
Unity環境ではキーボードインジケーター(indicator-keyboard)が強化され、各変換エンジンのステータスが表示されるようになりました(図1 ) 。
図1 Mozcの状態を表示しているキーボードインジケーター
13.10と比較すると14.04では実用レベルに達したかな、というところまでは来ましたが、12.04から14.04にアップグレードするユーザーが多数いることを考えると、やはりIBus 1.4と近い動作をするFcitxのほうがなじみやすいのではないかということになり、14.04の日本語RemixではIBusに代わってFcitxを採用することにしました[2] 。
なお、入力ソース周りの挙動は変わらないため[3] 、引き続き第296回 を参照ください。
半角入力のデフォルト化(IBus)
というわけでIBusはログイン直後に全角入力になります。即座にUnity Dashに何かを入力したい場合とかは良いかもしれませんが、大抵はそんなことはないでしょうし、今までとも挙動が違って煩わしく思うこともあるでしょう。
そのような場合はibus-anthyの設定を呼び出し、[ 入力モード]を[英数]にしてください(図2 ) 。Mozcを使用している場合、こういった設定はないため、Ubuntu Japanese Teamのリポジトリを有効にしてアップデートしてください[4] 。デフォルトで半角入力にするパッチを適用したMozcにアップデートされます。次のバージョンのMozcからはこれがデフォルトの挙動になる予定です。
図2 ログイン直後に半角英数入力にする場合は、[ 入力モード]を[英数]にします
半角/全角キーがないキーボードをお使いの場合(IBus編)
半角/全角キーがないキーボードとは、今回は具体的に英語(US)キーボードのことを指しますが、IBusで使用する場合はちょっと面倒です。今までは半角/全角キーがない場合はCtrl+Spaceキーに割り当ててありましたが、これはUnityとGNOME Shellでは使用できません。14.04ではSuper+Spaceキーは動作しますが、前述の半角入力のデフォルト化をやるとこのショートカットキーは煩わしくなるだけです[5] 。
ibus-anthyを使用する場合は、入力ソースを[英語 (US)]と[日本語(Anthy)]にして、Super+Spaceキーを押して[英語 (US)]から[日本語(Anthy)]に切り替える[6] と、ibus-anthyが英語キーボードで使用できるようになります。これは筆者がバグ報告をし、14.04からそうなるようにしてもらいました[7] 。デフォルトのキーバインドだと、Ctrl+Jキーで半角入力と全角入力を切り替えることができます(図3 ) 。デフォルト以外のキーバインドの場合は、[ コマンド]の[on_off]のところに[Ctrl+J]など任意のキーを割り当てると良いでしょう。
図3 [ ショートカットタイプ]が[デフォルト]の場合は、[ コマンド]の[on_off]が[Ctrl+J]にも割り当てられており、半角/全角キーがないキーボードでもオンオフがトグルできます
ibus-mozcを使用する場合はもうちょっと複雑で、入力ソースを[英語 (US)]と[日本語(Mozc)]にして、Super+Spaceキーを押して[英語 (US)]から[日本語(Mozc)]に切り替えると、ibus-mozcが英語キーボードで使用できるようになります。
ここまでは良いのですが、キーバインドに半角入力と全角入力を切り替えるキーがありません。どうしようもないので、手動で設定します。Mozcプロパティを起動し、[ キー設定]の[編集]をクリックします。Mozcキー設定の[編集]をクリックして、MS-IME以外のキーマップを使用する場合はベースとするキーマップを選択します。[ 定義済みのキーマップからインポート]から選択してください。次に再びこの[編集]をクリックし[エントリーを追加]をクリックします。ここでは例としてCtrl+`キー[8] を設定します。[ モード]を[直接入力]に、[ 入力キー]を[Ctrl+`]に、[ コマンド]を[IMEを有効化]にします(図4 ) 。さらに[エントリーを追加]で追加して、[ モード]を[入力文字なし]に、[ 入力キー]を[Ctrl+`]に、[ コマンド]を[キャンセル後IMEを無効化]にします。これで[OK]をクリックします(図5 ) 。一度ログアウトして再ログインするとCtrl+`キーで半角入力と全角入力を切り替えることができるようになります。キー設定はエクスポートできるので、たくさんのPCで設定を変更する必要がある場合はうまく活用すると良いでしょう。
図4 [ 入力キー]をトリプルクリックするとキーを入力するダイアログが表示されるので、Ctrl+`キーを押します
図5 このようになれば成功です
プロパティパネル(IBus)
Ubuntu GNOMEで採用しているGNOME Shellを除いて、IBus 1.5.5の新機能であるプロパティパネルが使用できるようになりました。フォーカスを移すとカーソル真下に表示されるがそのプロパティパネルです(図6 ) 。半角入力と全角入力を切り替えたときにも表示されるので、今がどちらなのかわかりやすいと思います。また、設定などを呼び出すアイコンもあるため、各種ツールの呼び出しも簡単です。非Unity環境ではIBusの設定画面にある[プロパティパネルの表示]から常に表示することも、逆に非表示にすることも可能です[9] 。
図6 これがプロパティパネルです。右のアイコンをクリックするとサブメニューが表示され、Mozcの各ツールにアクセスできます
Fcitx
Fcitxに関しては、13.10(のUbuntu Japanese Teamリポジトリが有効の状態)とあまり変わりません。Unity Dashで候補ウィンドウが表示されないという不具合がありましたが、これが修正されているのが朗報ではあるのの、Fcitxのバグというわけではありませんでした(図7 ) 。
図7 Dashで候補ウィンドウが表示されるようになったものの、右下なので若干見にくいです
FcitxのTipsはWiki にまとめましたので、Fcitxで困ったことがあったらまずはご覧になってみてください。
IMセットアップヘルパー
IMセットアップヘルパーは、14.04でも引き続き提供します。しかし、あり方もスクリプトの中身もずいぶん変わりました。13.10ではログイン時に自動的に起動していましたが、これをやめることにしました。Unity Dashから[Mozcセットアップヘルパー]ないし[Fcitxセットアップヘルパー]を起動してください(図8 ) 。Ubuntu Japanese Teamリポジトリを有効にすると、手動で設定していない限りは自動的にFcitxになるため、FcitxからIBusにしたい場合などに便利でしょう。この場合、13.10ではFcitxセットアップヘルパーを使用していましたが、14.04ではMozcセットアップヘルパーになりました。このほうが自然ではないかと思います。
図8 Dashで2つのセットアップヘルパーを検索する例
13.10から14.04にアップグレードした場合はすでにMozcになっているのでMozcセットアップヘルパーを実行する意味はあまりないのですが、13.10で行った設定をリセットするしくみがあるので一度実行していただけると幸いです。もちろんXubuntuやLubuntuやKubuntuユーザーには今でも有用だと思います。
なお、今のところ14.10でIMセットアップヘルパーをリリースする予定はありません。さまざまなパターンのデバッグをするのがしんどいのが理由です。変更方法はまたWikiなどにまとめることになるのではないかと考えていますが、半年ほど先の話なので未定です。
日本語Remixでの対応
前述のとおり日本語RemixではFcitxをデフォルトにしました。im-configというパッケージによってFcitxとIBusが同時にインストールされている場合は自動的にIBusがデフォルトになっていましたが、14.04からこれをFcitxにする修正が入りました。よって、IBusを使用したい場合はMozcセットアップヘルパーを使用するか、Fcitx関連パッケージとメタパッケージ(ubuntu-defaults-ja)をアンインストールしてください。必要なパッケージがメタパッケージに依存している場合[10] は、個別にインストールしてください。