Ubuntu LinuxでUSB SDカードリーダーのマウント時のアイコンデザインを変更する方法
■ 検証環境
・Ubuntu 12.04
■ アイコンの例
一番上のものが、特別な設定をしていない場合のUSBストレージ(リムーバブル メディア)のアイコン。
■ 設定方法
lsusbでベンダーIDとプロダクトIDを調べる
$ lsusb
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 002: ID 8087:0020 Intel Corp. Integrated Rate Matching Hub
Bus 002 Device 002: ID 8087:0020 Intel Corp. Integrated Rate Matching Hub
Bus 001 Device 003: ID 04f2:0841 Chicony Electronics Co., Ltd
Bus 002 Device 003: ID 046d:c52f Logitech, Inc. Wireless Mouse M305
Bus 001 Device 027: ID 14cd:125c Super Top
複数のドライブを持つカードリーダーの場合はLUNを確認する
$ dmesg | grep -i Direct-Access
[ 2.648098] scsi 0:0:0:0: Direct-Access ATA ST3500320AS SD1A PQ: 0 ANSI: 5
[ 457.576535] scsi 6:0:0:0: Direct-Access Mass Storage Device 1.00 PQ: 0 ANSI: 0 CCS
これらのデータから必要な情報を読み取った上で、udevの設定ファイルを記述する。
/etc/udev/rules.d/
ディレクトリの中のファイルは、尖塔の2ケタの数字が少ない方から評価される仕組みになっていて、いろいろな人のWebページの情報より、今回の目的のusbストレージ関連は80くらいが適当だと判断。
$ ls -la /etc/udev/rules.d/
drwxr-xr-x 2 root root 4096 1月 8 20:22 .
drwxr-xr-x 3 root root 4096 11月 3 08:44 ..
-rw-r--r-- 1 root root 855 5月 4 2012 70-persistent-cd.rules
-rw-r--r-- 1 root root 484 5月 3 2012 70-persistent-net.rules
-rw-r--r-- 1 root root 1157 4月 6 2012 README
重複するファイル名がないかを確認した上で、新しい設定ファイル 80-usbdisk.rules
を作る。
/etc/udev/rules.d/80-usbdisk.rules
# SD/MMC/RS-MMC (White without LED, DAISO)
SUBSYSTEMS=="usb", ATTRS{idVendor}=="14cd", ATTRS{idProduct}=="125c", ENV{ID_INSTANCE}=="0:0", ENV{ID_DRIVE_FLASH_SD}="1"
アイコンの種類は
値 | 種類 |
---|---|
ID_DRIVE_FLASH_SD | SDカード |
ID_DRIVE_FLASH_CF | コンパクト フラッシュ |
ID_DRIVE_FLASH_MS | メモリースティック |
■ 参考資料
・Writing udev rules
・udev - Linux dynamic device management
・udev による動的なカーネルデバイス管理
・Missing Memory Card Icons on Ubuntu