KVM でキーマップがクリアされる件 †で,しばらく様子見してたら,現象が再発. というわけで,対策してみる. 以下の方法は,お行儀が悪く,マルチユーザのマシンでは権限昇格のセキュリティホールになり得るんだけど,自分しか使ってないマシンなので気にしないことにする. udev 側の設定 †/etc/udev/rules.d/z99999_usbkbd.rules ファイルを作成.udev を再起動. ACTION=="add", KERNEL=="event*", ATTRS{idVendor}=="0430", ATTRS{idProduct}=="0011", RUN+="/home/imai/bin/usbkbd_handler"
キーマップ設定スクリプト †udev 側のハンドラから呼び出される /home/imai/bin/usbkbd_handler はこんなかんじ. imai なんてユーザアカウント使ってない場合は,適宜書き換えてね. #!/bin/sh sleep 5 su imai -c 'xmodmap -display :0.0 /home/imai/.Xmodmap' # date >> /home/imai/usbkbd.log exit 0 date >> 行はコメントアウトしてありますが,これを有効にすると「デバイスを刺したタイミングでホントにスクリプトが実行されてるか」「1回の接続で何回もスクリプトが呼び出されていないか」チェックすることができます. |