なんかメモ

いろいろメモ

キーボード再接続時のudev rulesの追加

キーボードを抜き差しするとxmodmapの設定が消えるのでudev rulesを追加して再接続時にxmodmapを実行させるようにした時のメモ

udev

udevとは

動的なデバイス管理ツール

udev rules

デバイスが接続された時等にどのような動作をするか決めるルールの集まり(接続された時にプログラムを実行させたり、シンボリックリンクを作ったり等)

udev rulesの追加、書き方
追加方法

ubuntuだと/lib/udev/rules.dと/etc/udev/rules.d以下にあるファイルを読み込む、ユーザー側で設定したものは/etc/udev/rules.dに以下に入れてやるのがいいみたいなので/etc/udev/rules.d以下に99_sample.rulesみたいな形でファイルを作成する。

書き方

書き方は以下を参考

openSUSE 12.3: 第12章 udev による動的なカーネルデバイス管理

 

キーボード再接続時のudev rulesの追加

デバイス情報の取得

rulesをどのデバイスに適合させるか決めるためにデバイスの情報をudevadmで取得する

以下を参考

udevによるデバイスの命名の固定化 - しんたろの日記

/sys以下のパスの取得

デバイスの情報を取得するのにデバイスに対応する/sys以下のパスが必要なので以下のようにして取得する

% udevadm info -q path -n /dev/input/by-id/hoge-kbd
デバイス情報の取得
% udevadm info -a --path=$(udevadm info -q path -n /dev/input/by-id/hoge-kbd)

いろいろ情報が表示されるが今回はATTR{name}を使用

 rulesファイルの作成

以下のようなファイルを作成する

キーボード再接続時のudev rulesの追加

rulesファイルのテスト

udevadm testを使用するとデバイスの挿入等のエミュレートをしてくれるのでこれを使って作成したrulesファイルが適応されているか確認する

% udevadm test --action=add /dev/input/by-id/hoge-kbd