【 Topics 】

ブログを引っ越しました。こちらのブログは現状のまま凍結します。(2020年10月14日)

引越し先: Operation Normal ? (v2)(同一サイト内です)

setime 0.55

0.42 の公開からそれほど日が経っていませんが、0.55 を野良リポジトリに投入しました。

0.42 からの主な変更点は下記の通り。

  • 引数なしで setime が実行された場合、一覧から番号で入力メソッドを選択できるようにした。
  • ユーザー権限で実行時に、選択した入力メソッドをシステムワイドな設定とするか、ユーザー個別の設定とするかを選択できる様にした。
  • gsetime でもステータス表示を行える様にした。
  • 表示されるメッセージの内容について見直しを行った。
  • アイコンのファイル名を setime.png から gsetime.png へ変更。
  • 入力メソッド別の設定処理部分を imelib から分離して setime-sub という名の新たなスクリプトとし、setime|gsetime から呼び出す様にした。
  • gsetime から呼び出すスクリプトを setime から setime-sub へ変更した。
  • imelib 内で既に使用されていない関数を削除した。
  • /usr/share/X11/xdm/Xsession の変更に対するチェックをちょっとだけ厳しくした。
  • /usr/share/X11/xdm/Xsession に変更が加えられている場合、setime-fix-xsession を呼び出してその場で修正を行えるようにした。
  • システムワイドな設定の際に、/etc/sysconfig/i18n に設定が記述されている場合には削除する処理を追加した。
  • $HOME/.i18n および $HOME/.bash_profile に設定が記述されている場合には削除する処理を追加した。

なお今回の 0.55 の内容に合わせる形で、こちらのエントリーも大幅に加筆修正を行っています。

PCLinuxOS | comments (0) | -

setime-0.42

拙作のインプットメソッド切り替えツールである setime を更新して 野良リポジトリ に投入しました。

このバージョンでは、こちらのエントリで書いた「X 起動時に GDM_LANG という環境変数が設定されている場合には、/etc/sysconfig/i18n や $HOME/.i18n の内容を全く読んでくれない」、つまり、「インプットメソッドを使えない」という問題に対応しました。

この問題に対応する為、従来の「/etc/sysconfig/i18n または $HOME/.i18n にインプットメソッドに関する設定を記述する」という方法を捨て、新たな設定方法を採用しました。

具体的な設定方法としては下記の様になります。

システムワイドな設定の場合
  • /usr/share/X11/xdm/Xsession に環境変数を記述
  • /etc/xdg/autostart/ 下にインプットメソッド自動起動用の desktop ファイルを置く
ユーザー別の設定の場合
  • $HOME/.xsession に環境変数を記述
  • $HOME/.config/autostart/ 下にインプットメソッド自動起動用の desktop ファイルを置く

また、現状の PCLinuxOS ではユーザー別の設定で用いる $HOME/.xsession の内容を反映してくれない為、setime パッケージのインストール時に /usr/share/X11/xdm/Xsession を下記の様に修正しています。(赤字部分を追記)

#!/bin/bash -login

export XMODIFIERS=@im=SCIM
export GTK_IM_MODULE=scim-bridge
export QT_IM_MODULE=xim

# --- [add_by_setime] ---
if [ -f "$HOME/.xsession" ]; then
. "$HOME/.xsession"
fi
# -----------------------

exec /etc/X11/Xsession $*

# Xsession ends here

この /usr/share/X11/xdm/Xsession については、setime パッケージのインストール後に再度 Localization Manager (コマンド名: addloclae) が実行されたり、X 関係のパッケージが更新された場合などにはその内容に変更が加えられ、setime が行った修正が元に戻されてしまう可能性が有ります。

そこで setime の実行時に /usr/share/X11/xdm/Xsession の内容をチェックし、変更が加えられていると判断される場合には、修正用スクリプト(コマンド名: setime-fix-xsession)を実行するように警告を出すことにしました。setime の実行時に警告が表示された場合には、修正スクリプトを root 権限で実行してください。


【多謝】
/usr/share/X11/xdm/Xsession の修正方法や、システムワイドに設定されているインプットメソッドとユーザーが個別に設定しているインプットメソッドが異なる場合の対処方法などに付いて、こちらのエントリのコメント欄にて、pclos9さんより多大なアドバイスを戴きました。あらためて御礼申し上げます。

PCLinuxOS | comments (0) | -

どうしようかなぁ・・・

pclinuxos-ZEN-mini-2011-7 の日本語化作業をしている過程で気が付いたことなのですが、X 起動時に GDM_LANG という環境変数が設定されている場合には、/etc/sysconfig/i18n や ~/.i18n の内容を全く読んでくれません。

具体的には、/etc/X11/Xsession から呼び出されている /etc/profile.d/10lang.sh の 15〜19 行目で $GDM_LANG による判定が行われています。

拙作のインプットメソッド切り替えツールの setime では、/etc/sysconfig/i18n または ~/.i18n にインプットメソッドに関する環境変数を記述していますが、X 起動時にこれらのファイルが読み込まれないと日本語入力が出来なくなってしまいます。

実際、pclinuxos-ZEN-mini-2011-7 の日本語化作業では setime で ibus を入力メソッドとして設定したのですが、ユーザーログインしてみると ibus は起動していませんでした。(ちなみに root でログインした場合には何故か $GDM_LANG が設定されておらず、ibus は正常に動作していました)

デフォルトのディスプレイマネージャーが gdm である ZEN-mini 版や gnome 版では、GDM_LANG という環境変数が設定されている可能性があり、その場合には現在のままの setime ではインプットメソッドを切り替えるという本来の役目を果たすことができません。

現時点で考えられるこの問題への回避策は次の3通りかなと思います。(他に良い方法が有ればアドバイスをお願いします)

  1. インプットメソッドに関する環境変数の設定を ~/.bash_profile に記述する。
  2. インプットメソッドに関する環境変数の設定を /usr/share/X11/xdm/Xsession に記述すると共に、/etc/xdg/autostart/ 下に自動起動用の desktop ファイルを配置する。
  3. /etc/profile.d/10lang.sh の 15〜19行目をコメントアウトして、$GDM_LANG の設定の有無にかかわらず常に /etc/sysconfig/i18n または ~/.i18n を強制的に読み込む様にする。

1. の場合には各ユーザー毎の設定のみとなり、システムワイドな設定ができません。
2. の場合には 1. の場合と逆でシステムワイドな設定のみとなり、ユーザー毎の設定は不可となります。setime では過去にこの方法を用いていたことがあります。
3. の場合には、ユーザー毎・システムワイド のどちらの設定にも対応できますが、/etc/profile.d/10lang.sh がアップデートされる度に修正を行う必要が出てきます。

ちなみに addlocale で日本語化を行った場合には scim-bridge がデフォルトになっていますが、その設定方法は 2. となっています。

addlocale の方法に合わせて setime でも 2. の回避策を採るのがベターなのかなとも思いますが、ユーザー毎の設定が出来ないというのがちょっと気になり、1, の方法も捨て難いと迷っています。さーて、どうしましょうかね・・・

PCLinuxOS | comments (19) | -

mozc 1.1.773.102

野良リポジトリに mozc-1.1.773.102-1nora11 を投入しました。

前バージョンで発生していた「郵便番号辞書を追加してビルドするとエラーが出る」というバグ、および、「scim-mozc のかな入力方式で "ぃ" が入力できない」というバグは、残念ながら今回のバージョンでも修正されていません。従って前バージョンのビルドと同様にパッチを当てています。

PCLinuxOS | comments (0) | -

PCLinuxOS 2011 の日本語化

【 2013年12月6日 追記 】

このエントリは2011年7月当時に書いたものですが、日本語化の手順としては最近公開された 2013.12 版でも同様です。Localization Manager (コマンド名は addlocale) のバージョンが現在は 4.2 になっている為に、スクリーンショットが現状とは一部異なっている所がありますが、addlocale の動作としては同じです。

なお KDE 環境の最小構成版である kde-minime を用いてインストールを行った環境では addlocale がインストールされていません。Synapticを使って addlocale パッケージをインストールしてください。

--------------------------------------


このエントリでは、PCLinuxOS 2011.6 KDE のインストール直後の英語環境を日本語化する手順について書いています。(KDE版について書いていますが、他のデスクトップ環境でも手順はほぼ同じです)


続きを読む>>
PCLinuxOS | comments (5) | -