2012-06-14

共有オブジェクトのアップデート

ライブラリがアップデートされた際には, そのライブラリに含まれる共有オブジェクトを使用しているサービスを再起動する必要がある.

削除された共有オブジェクトを使用しているプロセスを探す

以下のコマンドにより, アップデートなどによって削除された共有オブジェクトを依然としてリンクしているプロセスのPIDを探すことができる.
sudo grep '\.so.*deleted' /proc/*/maps
同時にコマンド名を調べる時は,
sudo grep '\.so.*deleted' /proc/*/maps | cut -f3 -d/ | uniq | xargs ps

再起動

再起動するべきプロセスが見つかったら, service コマンドにより再起動を行えば良い.

2012-06-12

convert コマンドで白黒の反転

ImageMagick にて, 白と黒とを反転させる方法. 色相はそのままにする. CADツールの画面は黒背景が多いが, 資料などに印刷する場合は, 白背景としたほうがわかりやすい. しかし, 単にカラーカーブを反転しただけでは, 色相が反転してしまうので, わかりにくくなる. (例えば, 緑はXXといった覚え方をしていると, 色相が変わってわからなくなる.)
convert input.png -recolor '0.33 -0.67 -0.67 0   -0.67 0.33 -0.67 0  -0.67 -0.67 0.33 0   1 1 1 1' output.png

追記: 色相の変換を間違っていたので, 修正. 以下の行列が単位行列となるように, a, b, c を決める (b:-1/3; a:2/3; c:0). これを色相反転とした.

matrix([b, a, a, c], [a, b, a, c], [a, a, b, c], [0, 0, 0, 1])^^2
そして, 色相反転とカラーカーブ反転 matrix([-1, 0, 0, 0], [0, -1, 0, 0], [0, 0, -1, 0], [1, 1, 1, 1]) をかけることで, 上記の行列を導出.
色相反転は, 正確には, HSV空間上で行うべきだが, そのためには非線型な操作が必要なので, 上記の様に線型な操作にした. この方法では, ややくろみがかるようなきがする.

2012-06-07

xorg.conf でキーボード配列を設定

X の設定ファイル xorg.conf にて, キーボード配列を設定する方法. RHEL 5 (CentOS 5) の頃の設定である.

RHEL 6 でも有効であるが, xorg.conf が通常は存在しない. カーネルパラメータ KEYTABLE から設定するようである.

日本語配列キー

Section "InputDevice"
    Identifier "Keyboard0"
    Driver     "kbd"
    Option     "XkbLayout" "jp"
    Option     "XkbModel" "jp106"
EndSection

英語配列キー

英語配列がデフォルトであるので, Option の2行は書く必要はないと思われる.
Section "InputDevice"
    Identifier "Keyboard0"
    Driver     "kbd"
    Option     "XkbLayout" "us"
    Option     "XkbModel" "pc101"
EndSection

その他

以下のオプションがある.
    Option     "XkbModel" "pc102"
    Option     "XkbModel" "pc105"
    Option     "XkbLayout" "de"
    Option     "XkbOptions" "ctrl:swapcaps"