addlocale 3.7-6 以降での仕様変更について
PCLinuxOS のインストール後の日本語化作業の際に使用する addlocale (Localization Manager) ですが、2010年12月25日 にアップデートされた 3.7-6 以降では、日本語入力の設定に関して大きな変更が入っています。
このエントリでは、最近 PCLinuxOS を新規にインストールして addlocale 3.7-6 以降を用いて日本語化作業を行った環境で、scim 以外のインプットメソッドを使用する際の問題について書いています。
従来の addlocale ではデスクトップ環境や各アプリの日本語化についてはほぼ問題が無かったのですが、日本語入力に必要なインプットメソッドの設定については全く行われていませんでした。従って日本語入力を可能とする為には、addlocale の実行後に 「PCLinuxOS コントロールセンター」(以下 PCC と略記)の [システム]→[システムの言語を設定] からのインプットメソッドの設定(あるいは拙作の setime を用いたインプットメソッドの設定)が必須でした。
しかし 3.7-6 以降では、addlocale による日本語化作業の過程でインプットメソッドとして scim-bridge を使用する為の設定が行われる様に仕様変更されました。これによって addlocale の実行後にあらためてインプットメソッドの設定を行う必要は無くなりました。インプットメソッドに scim-bridge を使うことを望まれる方にとっては余分な手数が減った分、楽になったと言えるかもしれません。
ところがこの addlocale 3.7-6 以降で行われている scim-bridge の設定は、従来の PCC(あるいは setime)経由での『/etc/sysconfig/i18n または $HOME/.i18n ファイルにインプットメソッドの設定を記述する』という設定方法とは全く異なった手法を取っている上に、使用するインプットメソッドは「scim-bridge で決め打ち」となっています。
それ故、addlocale 3.7-6 以降を用いて日本語化を行った環境では、PCC(あるいは setime)経由で scim 以外の ibus や uim を選択・設定した場合でも scim が常に起動し、日本語入力では scim-bridge が優先的に使用されてしまうという問題が発生します。
そこでこの問題を回避し、addlocale 3.7-6 以降を用いて日本語化を行った環境でも ibus や uim を使用する為には、下記の内容を実行する必要があります。(これがベストな方法なのかどうかは検討の余地が有ると思われ)
# mv /usr/share/X11/xdm/Xsession /usr/share/X11/xdm/Xsession_scim # mv /usr/share/X11/xdm/Xsession_old /usr/share/X11/xdm/Xsession # mv /etc/xdg/autostart/scim.desktop /etc/xdg/autostart/scim_desktop
/root/.kde4/Autostart/startscim が存在する場合には下記を実行。
# mv /root/.kde4/Autostart/startscim /root/.kde4/Autostart/.startscim
$HOME/.kde4/Autostart/startscim が存在する場合には下記も実行。
# mv $HOME/.kde4/Autostart/startscim $HOME/.kde4/Autostart/.startscim
その後、PCC経由でインプットメソッドに ibus または uim を選択し、システムを再起動します。
なお、/usr/share/X11/xdm/Xsession_old あるいは /etc/xdg/autostart/scim.desktop が存在しない場合には、3.7-6 よりも旧い addlocale を用いて日本語化が行われた可能性が高いと思われます。
※ さてと、拙作の setime を addlocale のこの仕様変更に対応させる為にはどうするのが一番良いのかなぁ。。。(悩
【 2011年1月1日 追記 】
この仕様変更に合わせる形でインプットメソッドの設定方法に大幅な変更を加えた setime-0.20 を公開しました。
コメント