Ubuntu Weekly Recipe

第296回Ubuntu 13.10と日本語入力

今回は、Ubuntu 13.10で大幅に変更された日本語入力の設定方法について解説します。

変更点の概要

Ubuntu 13.04から13.10の間に、多言語入力(ここでは日本語だけを取り扱うので日本語入力とします)に関して大きな変更がありました。まず、IBusが1.5にバージョンアップされました。通常バージョンアップによって機能は増えるものなのですが、IBusでは逆でかなり減っています。これは1.5からGNOME[1]との統合(同時に使用されること)が前提になったことによる影響と思われます。それに伴い、Ubuntuでも13.10からIBusとGNOMEが統合された状態で使用できるようになりました[2]⁠。また、IBus 1.4までではUnityのインジケータにIBusのアイコンが表示できるようにパッチが適用されていましたが、これは1.5からはなくなりました。その代わりに、indicator-keyboardという専用のインジケータが用意されました。ツールバー(言語パネル)もよく使用されていたのではないかと思いますが、これもなくなりました。

IBus 1.5の仕様変更に伴い、IBusのオン/オフという概念がなくなり、常時起動になりました。そして、さまざまなキーボードや変換エンジンなどをSuper[3]+spaceで切り替えるようになりました。いわゆる半角と全角の切り替えは、半角/全角キーで行うようになりましたが、今までは半角と全角の切り替えを使用せず、IBusのオン/オフをもって半角と全角を切り替えているユーザが多数存在する、ということが筆者の観測から明らかになりました。

すなわち、感覚的にはこれまで半角/全角キーで半角と全角の入力を切り替えていたのが、Super+spaceに変更されただけということです。これはWindows 8での挙動と同じであり、また初回ログイン時にその旨の通知が表示されるので、なんとか理解できなくもないのでは、と思います。

問題はUnityの不具合でSuper+spaceキーが効かないことです。indicator-keyboardからマウスで切り替えることはできますが、いちいち面倒です。Shift+Super+spaceというワークアラウンドもありますが、そんなのわかりようがないですし、わかったとしてもindicator-keyboardの表示が変わらないという問題があります。つまり、UnityがSuper+spaceを受け取っていないと考えられます[4]⁠。さらに、半角/全角キーを押して半角と全角を切り替えるのはいいのですが、現在のIBusにもindicator-keyboardにもその状態を表示する機能はありません[5]⁠。さらに、言語パネルがなくなったために、その変換エンジン(AnthyやMozc)の専用ツールを起動する方法がなくなってしまいました。Anthyの単語登録はショートカットから呼び出せますが、Mozcの辞書ツール、手書き認識、文字パレット、単語登録は(コマンドライン以外から)呼び出す方法がなくなってしまいました。

indicator-keyboard

まごうことなきUbuntu 13.10の新機能ですが、現段階ではあくまでIBus 1.4のインジケータ対応パッチとほぼ同じ項目の表示しかできません。以前は足りない部分は言語パネルを表示すればよかったのですが、IBus 1.5だとそれができず、機能不足が目立つことになってしまいました。indicator-keyboardはより活発な開発が必要であるのは明白ですが、それがなされるかは不透明といったところです。どなたか開発に興味がある人はいないものでしょうか。

図1 これがindicator-keyboard
図1 これがindicator-keyboard
図2 GNOME Shellだとこのような表示になるので、indocator-keyboardも同様になるのが理想と言える
図2 GNOME Shellだとこのような表示になるので、indocator-keyboardも同様になるのが理想と言える

テキスト入力徹底解説

システム設定にある[テキスト入力]は、13.04では[キーボードレイアウト]という名前でした。システム設定でのアイコンは変わっておらず、ユーザインターフェース的にもだいたい同じです。では何が違うのかというと、⁠次のソースへ切り替え][前のソースへ切り替え]がついたことと、左下の[+]アイコンをクリックするとキーボードのレイアウトのほか、AnthyやMozcといった変換エンジンまでリストされるようになったことなどです[6]⁠。すなわち、13.04まではキーボードのレイアウトだけをここで変更し、どの変換エンジンを使用するかはインプットメソッド(IBus)で切り替えていたわけですが、レイアウトも変換エンジンもここで変更するようになりました。

図3 13.04のキーボードレイアウト
図3 13.04のキーボードレイアウト
図4 左下の[+]をクリックすると表示されるレイアウトの選択
図4 左下の[+]をクリックすると表示されるレイアウトの選択
図5 13.10のテキスト入力
図5 13.10のテキスト入力
図6 左下の[+]をクリックすると表示される入力ソースの選択
図6 左下の[+]をクリックすると表示される入力ソースの選択

まず、現状では前述のとおりSuper+spaceキーが機能しません。これをCtrl+spaceに変更するには、⁠次のソースへ切り替え]の下にある枠(Super+spaceと書かれている部分)をクリックします。すると[新しいアクセラレーター]という表記になるので、Ctrlキーを押しながらスペースキーを押してください。⁠前のソースへ切り替え]ではShiftキーとCtrlキーを押しながらスペースキーを押してください。ちなみにESCキーを押すと、変更をキャンセルできます[7]⁠。Ctrl+spaceキー以外に設定したい場合もあるかと思うのですが(たとえばShift+spaceなど⁠⁠、組み合わせによってできるものとできないものがあり、現状はかなり強い制限があるのでCtrl+spaceあたりにしておくのが無難です[8]⁠。

次に入力ソースですが、変換エンジンに関してはIBusが認識していないとここにリストアップされません。たとえばibus-mozcパッケージをインストールした直後にはリストアップされないため、IBusを再起動する必要があります。しかしGUIでの再起動ができなくなっているため、一度ログアウトして再ログインする必要があります[9]⁠。あとは[+]ボタンで必要なものを追加したり、⁠-]ボタンで不要なものを削除したり、順番を変更したりすればいいのですが、一番上は一番よく使うキーボードにしておくのが無難です。通常は[日本語]しょう。英語キーボードを使用する場合は一番上を[英語(US)]にしておいて、その下を[日本語(Mozc)]などにしておきます。そして、Super+spaceなりCtrl+spaceなりで英語からMozcに切り替えると、Mozcでも英語キーボードを使用することができます。

[すべてのウィンドウで同じソースを使用][ウィンドウごとに異なるソースを使用]はどういう機能なのかと言いますと、たとえばgeditを起動して次のソースに切り替えます。その後端末(gnome-terminal)を起動すると、geditと同じIBusの状態になります。IBus 1.4まではこの機能はデフォルトでオフであり、⁠キーボード・インプットメソッド][詳細]タブにある[すべてのアプリケーション間で同じインプットメソッドを共有する]にチェックを入れないとIBusの状態を共有しませんでした。しかし、IBus 1.5では共有するのがデフォルトになりました[10]⁠。もし共有するのが嫌であれば[ウィンドウごとに異なるソースを使用][新しいウィンドウではデフォルトの入力ソースを使用する][新しいウィンドウでは現在の入力ソースを使用する]のいずれかを選択する必要があります。後者はわりと直感的に理解できるのですが、前者の「デフォルト」とは一体何を指すのかがわかりません。挙動を確認した限りでは、入力ソースの一番上のものにするようです[11]⁠。 通常は[日本語]でしょうから、変換エンジンを起動しない状態で開きたい場合はこれを選択するといいでしょう。

im-setup-helper

[テキスト入力]の挙動をユーザ全員が理解するというのは不可能なので、日本語Remixではim-setup-helperというパッケージを用意しました。今回は収録されているmozc-setup-helperを使用します。mozc-setup-helperは主として次のようなことができます。

  • 変換エンジンのデフォルトをMozcに変更
  • 日本語キーボードのほか英語キーボードにも対応
  • 初回ログイン時に自動的に起動
  • (Unityで動作させた場合)Super+spaceからCtrl+spaceに切り替える機能
  • (Unityで動作させた場合)Mozcの各種ツールをメニュー[12]に登録する機能

インストール方法は、Ubuntuの日本語環境を参考にしてリポジトリを登録してください。その後、im-setup-helperパッケージをインストールしてください。日本語Remixの場合は、とくに登録する必要はありません。インストール後、ログアウトして再ログインするとmozc-setup-helperが起動します。起動後は、指示に従ってください。一度設定を行うと、次からは自動的に起動しなくなります。

残念ながらmozc-setup-helperはすべての環境でうまく動作するとは限りません。たとえば日本語ないし英語キーボードではないキーボードを使用している場合や、メニューを英語にして使用している場合は動作しません[13]⁠。そのような場合は、⁠テキスト入力]で手動で設定してください。

逆にAnthyを使い続けたいなど自動的に起動するのを抑止したい場合は、⁠自動起動するアプリケーション]注14を起動し、⁠Mozcセットアップヘルパー自動起動]のチェックを外してください。

なお、デスクトップ環境やウィンドウマネージャーを変更した場合[15]は、Mozcセットアップヘルパーを⁠-f⁠オプションをつけて再実行してください。ダイアログにもその旨の警告が出るので、わかりやすいと思います。

図7 自動起動するアプリケーションに登録されている
図7 自動起動するアプリケーションに登録されている
図8 DashでMozcの各種ツールを表示しているところ
図8 DashでMozcの各種ツールを表示しているところ

キーボードレイアウトのオプション

CapsLockキーをCtrlキーにするなど、⁠キーボードレイアウトのオプション]注16のお世話になっていた方も多いのではないでしょうか。残念ながらこれは13.10からはなくなってしまいました。IBus云々とは無関係で、GNOME 3.8による変更点です。⁠Tweak Tool]注17をインストール&起動し、Typingタブでひととおりの設定ができるようになりました。今回の例では、⁠Ctrlキーの位置][Caps LockをCtrlとして扱う]にします。しかし、筆者が確認したところではうまく動作しないこともありました[18]⁠。そのような場合、⁠自動起動するアプリケーション]を起動し、⁠追加]をクリックします。表示されるダイアログにある[名前]を任意に決定し(ここでは[CapsLockをCtrlにする]としました⁠⁠、⁠コマンド][setxkbmap -option ctrl:nocaps]にします。⁠追加]をクリックすると設定が完了しますので、次回ログイン時からはCapsLockキーを追加のCtrlキーにする設定が動作するようになります。

図9 在りし日のキーボードレイアウトのオプション
図9 在りし日のキーボードレイアウトのオプション
図10 Teak ToolのTypingタブを開く
図10 Teak ToolのTypingタブを開く
図11 あまり使うことはないと思われるものの、⁠自動起動するプログラムの追加]を使用する場合はこのように設定する
図11 あまり使うことはないと思われるものの、[自動起動するプログラムの追加]を使用する場合はこのように設定する

リリースノート

本連載をお読みの方は大丈夫だと思いますが、まだお読みでない方は第295回を参考にリリースノートをよくご覧ください。

次回予告

次回はインプットメソッドをFcitxに切り替え、使用する方法を紹介します。

おすすめ記事

記事・ニュース一覧