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) | -

PCLinuxOS のフォントのレンダリングが汚い?

昨夜、@mkblurさんの「openSUSE や Ubuntu に較べて PCLinuxOS のフォントのレンダリングが汚い」というツイートに反応して呟いた件です。

私は PCLinuxOS と openSUSE 11.4 (x64) とをデュアルブートにして使用しており、どちらのフォント設定も同じになっていますが、これまで openSUSE に較べて PCLinuxOS のフォントレンダリングが汚いという印象を持ったことがありませんでした。もっとも私の場合、余程ひどいフォント表示にでもなっていない限りはそれほど気にしないというのもありますし、ディスプレイやグラボが最新のものではないという事などもあるのかもしれませんが。

でまぁ、取りあえず双方でスクリーンショットを撮って比較してみました。(各図をクリックすると原寸大で表示されます)

IPAモナーPゴシック のフォントサイズが 12 の場合
フォント比較: IPAモナーPゴシック-12

フォントが小さいと違いが判り難いかもと思って、フォントサイズが 18 の場合も較べてみました。
フォント比較: IPAモナーPゴシック-18

Migu 1C フォントでも較べてみました。
フォント比較: Migu 1C

うーーーん、私の目にはどれも同じに見えて、2つのディストリビューションでフォントのレンダリングに特に違いが有る様には見えないのですが.....

ちなみに現在の私の KDE でのフォント設定は下図の様になっています。
PCLOS-KDE myフォント設定

さらにこの設定に加えて、~/.fonts.conf に下記の内容を追記してビットマップフォントを無効にしています。

<match target="font">
  <edit mode="assign" name="embeddedbitmap">
    <bool>false</bool>
  </edit>
</match>

それから昨夜のツイートで話に出た「PCLinuxOS での IPAexフォント の表示のベースラインがグダグダ」という件ですが、KWrite や Konqueror などの KDE(Qt) アプリでは確かに表示が乱れます。ベースラインの乱れに加えて、文字間隔も詰まってしまう様です。しかし gedit や sylpheed などの GTK アプリ上ではその様な乱れは発生しません。これはやはり、KDE(Qt) 側に何らかの問題があるのかもしれません。

IPAex明朝: kateとgeditでフォント比較

PCLinuxOS | comments (2) | -

野良パッケージをリビルドしました

PCLinuxOS 2011.6 環境でパッケージの作成を行うと、出来上がったパッケージのファイルサイズが 2010 の時と比べてかなり小さくなります。パッケージによっても異なりますが、場合によっては半分から3分の1程度のサイズになります。

これだけサイズが異なるということは、2011 の rpm-4.8.1 では従来の rpm-4.4.6 とは異なる圧縮方式を用いているのかなと想像しています。ここら辺りのことは何処かのドキュメントに記載されているのだろうとは思いますが、マンドクセーので調べていません(滝汗

で、野良リポジトリを置いているレンタルサーバの残り容量にはそれほど余裕がある訳でもないので、元々ファイルサイズが小さいパッケージを除いて、野良パッケージのリビルドを決行しました。
結果、このリビルドによってトータルで約45MBの節約を行うことができました。

なお下記のパッケージに付いては、リビルドに際して記載の変更も同時に加えています。

scim-1.4.10-0.2nora11
KDE環境でKメニューに「scim入力メソッドの設定」が表示されていなかったのを修正。
dconf-0.7.5-0.1nora11
0.7.5 へ更新。
gecko-mediaplayer-1.0.4-1nora11 / gnome-mplayer-1.0.4-1nora11
どちらも 1.0.4 へ更新。
protobuf-2.4.1-1nora11
2.4.1 へ更新。
setime-0.33-1nora11
scim-bridge での QT_IMMODULE の設定値を、従来の xim から scim-bridge へ変更(scim-bridge-qt4 がインストールされている場合のみ)
libvdpau-0.4.1-0.4nora11
PCLinuxOS 2011.6 環境でのビルドエラーに対処するため、Mandriva からパッチを拝借してきて適用。
umplayer-0.97-0.172.1nora11
今回新たに野良リポジトリに追加。rev.172 を用いてビルド。
PCLinuxOS | comments (0) | -

mozc 1.1.758.102

野良リポジトリに mozc-1.1.758.102-2nora11 を投入しました。1.1.758.102 での変更点等は、Google Japan Developer Relations Blog の記事をご参照ください。

今回のビルドでは郵便番号辞書を最新の6月30日版へ更新しています。その郵便番号辞書ですが、前バージョンで発生していた「郵便番号辞書を追加してビルドするとエラーが出る」という問題は今回のバージョンでも修正されていません。従って前バージョンをビルドした時と同じ回避方法を用いて今回もビルドしています。

Sawaさんが報告された「scim-mozc のかな入力方式で "ぃ" が入力できない」というバグ(Issue 88)ですが、残念ながら今回のバージョンにはその修正が間に合いませんでした。なので今回のビルドでは、このバグを修正する為のパッチを当てています。

手書き認識を使用する際に必要となるモデルデータは前バージョンではソースに同梱されていましたが、今回のバージョンでは含まれていません。従ってこのモデルデータを別途用意する必要があります。このモデルデータは他のディストリビューションでは tegaki-zinnia-japanese パッケージとして提供されていますが、PCLinuxOS の公式リポジトリには残念ながら tegaki 関係のパッケージは一切ありません。

そこで今回のビルドを行うに当たって、下記の tegaki 関係のパッケージを新たに野良ビルドして野良リポジトリに投入しています。(mozc のビルドに必要なのは tegaki-zinnia-japanese だけなのですが、関連するパッケージもビルドしました)

  • tegaki-python
  • tegaki-pygtk
  • tegaki-recognize
  • tegaki-train
  • tegaki-zinnia-japanese

今回のビルドでは uim-mozc を提供していません。これについてちょっと説明を。
uim-mozc がインストールされている環境でインプットメソッドに uim を使用した場合、下記のような問題を引き起こすことに気が付きました。

  1. KDE のパネルに uim のウィジェットを追加しようとしても Segmentation fault が発生して追加できない。
  2. uim-toolbar-qt4 を起動しようとすると Segmentation fault が発生して起動できない。
  3. Synaptic が起動できない。
  4. 一旦ログアウトすると、ログイン画面でキー入力を受け付けてくれない。

1 と 2 の問題は、前バージョンの野良パッケージで既に発生していた模様です。uim-mozc に何かバグがあってこれらの問題を引き起こしているのか、それとも mozc や他のパッケージとの複合的な要因によるものなのか、あるいは私のパッケージング上の問題なのか? 私のスキル不足もあって、原因を特定して対処を行うのは難しいかもしれません。

そこで今回のビルドでは応急的な処置として、uim-mozc を生成せずにビルドを行いました。後ろ向きな対処方法でちょっと情けない orz


【 2011年7月5日 追記 】

mozc+sawadict-1.1.758.102-20110704.1nora11 を野良リポジトリに投入しました。Sawaさんの追加辞書を mozc-1.1.758.102 に対応した20110704版へ更新しています。

【 2011年7月4日 追記 】

1.1.758.102-3nora11 を野良リポジトリに投入しました。
今回のビルドでは、「郵便番号辞書を追加してビルドするとエラーが出る」問題への対処方法を変更し、shitamoさんによるパッチ を当ててビルドしています。前回のビルドの対処方法では、Mozc の設定での郵便番号辞書の 有効/無効 の切り替えに対応できていなかった為、今回のパッチを当てる対処方法へ変更しました。shitamoさんに感謝致します。

PCLinuxOS | comments (0) | -