So-net無料ブログ作成

diff コマンドの置き換え [openSUSE]

以前から diff の実行結果において、差分の表示箇所が想定したものと異なる事が何度かあった。
変更内容は正しく認識されるが、何処がどう変更されたかの認識のされ方が想定したものと異なるのである。

diff コマンドの仕様だと思っていたが、Debian GNU/Linux 5.0、および CentOS 5.5 の diff コマンドを試したところ、想定通りの結果が得られた。
このため、openSUSE 11.3 のパッケージ(diffutils-2.8.7-150.1.i586) を置き換えようとしたが、依存関係のため断念し、代わりに、CentOS 5.5 の diff コマンドを /usr/local/bin にコピーすることにした。

XBell() の音が出ない件への対応 (openSUSE 11.3) [openSUSE]

xorg-x11-7.5 + gnome-2.30 で XBell() の音がでない件への対応

1. 原因


pulseaudio-0.9.21 のデフォルト設定により、X11 上での bell event が無視されていた。
以前、gnome-2.28 on openSUSE 11.2 で XBell() の音が出なかったのも同じ理由と思われる。


2. 対処方法


/etc/pulse/default.pa の下記の行を有効にする。
(~/.pulse/default.pa が存在する場合には、左記ファイルが使用される。)

load-module module-x11-bell sample=bell-windowing-system


3. 参考資料


https://wiki.archlinux.org/index.php/PulseAudio



openSUSE 11.3 への移行 [openSUSE]

リリースされてまもない頃にインストール(ライブアップグレード)して、いろいろ問題があったため、全く使用していなかった openSUSE 11.3 を久しぶりにアップデートしてみた。さすがに多数のパッケージが更新されたが、状況は変わらなかった。
どうしようかとしばらく考えた後、暇なので、原因を調査し、対応を検討することにした。

1. Gnome 用の mail-notification のメール到着時のアイコンが表示されない件


ターミナル・エミュレータから起動すると stock_mail.png がないというメッセージが出力される。openSUSE 11.2 で stock_mail.png を検索すると、/usr/share/icons/gnome/24x24/stock/ 等に存在する。(rpm -qf オプションで stock_mail.png を提供しているパッケージを調べると、gnome-icon-theme-2.28.0-2.2.noarch.rpm である。)
openSUSE 11.3 では、stock/ 自体がなかったので、コピーしたところ、正常に動作するようになった。できればパッケージ単位で管理したいので、gnome-icon-theme を openSUSE 11.2 のものにバージョンダウンすることにした。

# rpm -e gnome-icon-theme-extras-2.30.1-1.3.noarch
# rpm --oldpackage -Uvh gnome-icon-theme-2.28.0-2.2.noarch.rpm

2. Firefox のナビゲーションツールバーのアイコンが意図したものにならない件


gnome-icon-theme パッケージのバージョンダウンにより解決。


3. openSUSE 11.2 と比較してディスク使用量が増えた件


アップグレード前に 6GB の 72 %を使用していたものが、アップグレード後に 80% を使用するようになってしまった。doc、man、game、libで不要なパッケージを順次アンインストールすることで、74% まで縮小できた。


4. xorg-x11-7.5 + gnome-2.30 では、XBell()でベルを鳴らせない件


保留(xorg-x11-7.5 + fvwm2 では問題なくベルが鳴るため)


以上の対応により、ようやく opneSUSE 11.2 と同等の状態にできたので、openSUSE 11.3 に移行することにした。

GNOME 2.28 ではビープ音を有効にできない? [openSUSE]

openSUSE 11.2 の GNOME 2.28 において、ビープ音(XBell() を使用)が有効にならない。以前のバージョン(実際に確認したのは 2.24 まで)では、サウンドの設定項目にシステムのビープ音を有効にする項目があったが、これがなくなっている。また該当するキー(/apps/metacity/general/audible_bell) の値を GNOME 設定エディタで変更しても状況に変化はない。
GNOME を使用せずに、Fvwm2 を使用した場合にはビープ音が有効になるため、GNOME(または metacity) の問題と思われる。
また、取り敢えず、/apps/metacity/general/visual_bell を有効にして対応しようとしたが、何とも物足りない感じである。

[補足]
初回のサウンドのテーマの設定時(なし->デフォルト)にのみビープ音が有効となったが、システムの再起動後はサウンドのテーマが有効となり、該当する効果音が再生されるようになった。その後は、同様の手順を実施しても、ビープ音が有効となることはなかった。
なぜ初回のみビープ音が有効となったのかは不明である。

openSUSE 11.3 へのアップグレード [openSUSE]

openSUSE 11.3 がリリースされたので、openSUSE 11.2 からの Live アップグレードを実施した。Live アップグレードは openSUSE 11.2 の場合と同じ手順で特に問題なく終了したが、以下の理由により、現在の openSUSE 11.3 は使用せず、もう少し openSUSE 11.2 を使用することにした。

1. (現在使用している環境では)特に有用な改善点がない。

2. 下記のような問題点が発生するようになってしまった。

 (1) GNOME のアイコンの一部が正しく表示されない。

   下記のアイコンとして、白地に赤色のバツ印のアイコンが代用される。

   ・通知スペースに表示する mail-notification のアイコン
   ・タイトルバーの左端のアイコン(GNOME のアイコン・テーマの設定内容による)

 (2) ~/.xinitrc に設定した xset -b が、xinit または startx 後に 無効となってしまう。

   (sleep 10; xset -b) & のようにすると取り敢えず対応できるが、原因は不明。

openSUSE 11.2 へのアップグレード後の設定 [openSUSE]

openSUSE 11.2 への Live アップグレード後、未対応のままであった項目の設定を行った。これで、アップグレード前とほぼ同じ環境となった。
実施した設定は、以下の通りである。

1. ブート時の VG のアクティブ化


Live アップグレード後、ブート時に VG がアクティブ化されないようになってしまった。原因は、/boot/init.d/boot.localfs の start 処理に /etc/init.d/boot.lvm start を追加していたのが、新しい boot.localfs に更新されたためである。
上記の設定そのものが一時的な対応であったため、今回は正式な対応を行う。


% su
# yast2 runlevel        … RunLevel Editor の実行 (注)

 (注) 下記の手順により、ブート時に boot.lvm が実行されるようにする。
 ・[Expert Mode] を選択する。
 ・boot.lvm を選択し、B の欄にチェックを入れる。
 ・[OK] をクリックし、終了する。

2. Emacs 23 のフォントの設定

 一部の罫線が短縮されて表示されてしまうため、下記の設定を追加する。

 (1) ~/.Xresources への設定
Emacs.FontBackend: x

 (2) ~/.emacs への設定
(set-fontset-font "fontset-default"
                  'japanese-jisx0208
                  '("Sazanami Gothic" . "unicode-bmp"))

3. GNOME の設定変更


パネルの [場所] -> [リムーバブル・メディア] にマウント・ポイントが表示されるが、Firefox でのファイルの参照等、すべてのファイル選択処理で表示されるため、邪魔である。
よって、下記の手順により、この表示を停止する。


 (1) dbus-daemon の停止
# /etc/init.d/dbus stop

 (2) gvfs-gdu-volume-monitor の停止
% pkill gvfs-gdu-volume-monitor

 (3) /usr/share/gvfs/remote-volume-monitors の無効化
# cd /usr/share/gvfs/remote-volume-monitors
# mv gdu.monitor gdu.monitor.org

 (4) dbus-daemon の起動
# /etc/init.d/dbus start

 (5) GNOME の再起動

GNOME は EUC-JP をサポートしない? [openSUSE]

久しぶりに GNOME を起動したところ、パネル、およびデスクトップでの右クリックによるメニューが表示できなくなっていた。思い当たるのは、GNOME のバージョン・アップ(ver 2.28 内での更新)くらいしかない。

そこで、一時的にホーム・ディレクトリの GNOME 関連のファイルを削除したりして、原因を調べたところ、EUC-JP (ja_JP.eucJP) を使用していることが原因と判明した。 ja_JP.UTF-8 なら問題なく表示できるのである。
さらに、GNOME 環境を新規作成した場合には、ja_JP.eucJP でも表示されるものと、表示されない(文字化けではなく、完全に白く抜けた状態で表示される)ものが混在する状態となってしまう。

取り敢えず、GNOME を起動する時には ja_JP.UTF-8 を使用するように変更したが、GNOME は EUC-JP のサポートには積極的ではない(既に未サポート?)。もし、未サポートにするなら、実施時期などを明確にして欲しいものである。

IPA フォント ver 003.01 の不具合 (on openSUSE 11.2) [openSUSE]

openSUSE 11.2 において、YouTube で使用される半角フォント(タイム・カウンタ等) が全角幅で表示されるという問題が発生した。これは、IPA フォント ver 003.01 の問題のようで、IPA フォントを openSUSE 11.1 のものに入れ替えることで改善できる。

(変更前)
# IPA フォント ver 003.01
IPAGothic-003.01-2.1.noarch
IPAMincho-003.01-2.1.noarch
IPAPGothic-003.01-2.1.noarch
IPAPMincho-003.01-2.1.noarch

(変更後)
# IPA フォント ver 002.003
IPAGothic-002.003-9.10.noarch
IPAMincho-002.003-9.10.noarch
IPAPGothic-002.003-9.10.noarch
IPAPMincho-002.003-9.10.noarch

openSUSE 11.2 へのアップグレード (on openSUSE 11.1) [openSUSE]

openSUSE 11.1 から openSUSE 11.2 への Live アップグレードが公式にサポートされているので、openSUSE 11.2 へのアップグレードを実施した。Live アップグレードは特に問題なくできたが、その後の環境設定には予定していた以上に時間を要してしまった。
実施手順は、以下の通りである。
(参考資料はこちら)

1. openSUSE 11.1 の更新

 openSUSE 11.1 を最新の状態にする。
 (最新の状態であることが Live アップグレードの前提条件となっている。)

2. システム・バックアップの実施

3. リポジトリの変更

 (1) 変更前のリポジトリ情報の保存
# zypper ls -d | tee /tmp/repos-list.log
# cd /etc/zypp
# cp -pR repos.d repos.d.sav

 (2) リポジトリの設定ファイルの変更

   /etc/zypp/repos.d/*.repo の "11.1" を "11.2" に変更する。
   (ファイル名を変更することも可能である。)

 (3) リポジトリの更新
# zypper clean        … キャッシュの削除
# zypper refresh      … 管理データの更新
# zypper ls -d        … リポジトリ情報の確認

   /tmp/repos-list.log と比較し、変更が反映されていることを確認する。

 (4) 変更前のリポジトリ情報の削除
# rm -fr repos.d.sav

4. Live アップグレード

 (1) zypper コマンドの更新
# zypper in zypper

 (2) パッケージのダウンロード
# zypper dup -d | tee /tmp/zypper-dup-d.log (注1)


パッケージを予めダウンロードすることにより、ダウンロードの失敗によるアップグレードの異常終了を防止できる。実施の有無は任意である。


 (3) アップグレード
# zypper dup | tee /tmp/zypper-dup.log (注1)

 (4) キャッシュの削除
# zypper clean

 (注1) 必要なディスク容量が表示されるので、/var に確保する。

5. システムの再起動
# shutdown -r now

6. 設定ファイルの変更

 /etc 以下の *.{rpmnew,rpmsave} について、必要なものは手動で反映する。

7. openSUSE 11.2 の環境設定

 (1) X 環境で日本語キーボードと認識させるための設定

   X の起動時に下記のコマンドを実行する(~/.xinitrc 等に設定する)。
setxkbmap -rules evdev -model jp106 -layout jp

   または、/etc/X11/xorg.conf に下記の設定を追加する。
Section "ServerFlags"
    Option    "AutoAddDevices" "off"
    Option    "AutoEnableDevices" "off"
    Option    "AllowEmptyInput" "off"
EndSection

 (2) anthy.el のカスタマイズ

   ~/.emacs に下記の設定を追加する。
(when (>= emacs-major-version 22)
  (setq anthy-accept-timeout 1))


openSUSE 11.1 の nkf コマンドの不具合 [openSUSE]

openSUSE 11.1 の nkf (nkf-2.0.5-35.86) には、下記のような不具合がある。

1. 発生事象

 複数のファイルを指定した場合、自動判別の結果が正しくないことがある。
% sjis-1.txt および sjis-2.txt を sjis で作成
(sjis-1.txt および sjis-2.txt に "あ" を出力)

% nkf -g sjis-1.txt sjis-2.txt
sjis-1.txt:Shift_JIS
sjis-2.txt:EUC-JP                    <-- 誤
% nkf -g sjis-1.txt
Shift_JIS
% nkf -g sjis-2.txt
Shift_JIS                            <-- 正

2. 対応

 nkf を CentOS 5.x のパッケージ(Fedora Core 6 の流用) と入れ替える。

 (1) CentOS 5.x のパッケージのダウンロード

   nkf-2.07-1.1.fc6.i386.rpm

 (2) nkf コマンドの入れ替え
# rpm -e nkf-2.0.5-35.86
# rpm -ivh nkf-2.07-1.1.fc6.i386.rpm