EMonster のデスクトップ・アイコンとそのラベルを変更する

デスクトップ・アイコンとそのラベルがかっこわるい

iPod のときはなにもしなくても iPod (によく似た) アイコンが出たし、ヴリューム・ラベルがついてたのでそれが表示されたのだけど、EMonster (S11HT) の場合は汎用アイコンになって、"3.7Gバイト リムーバブル・ボリューム" とかいうラベルが表示された。これはちょっとかっこわるい。
困ることはまったくないのだけど、なんとなく変更してみた。

変更前 変更後

ラベルの変更 (hal)

まず、iPod の場合のラベル (うちの場合 "IPOD") はどこからもってきてるのだろうと、hal-device-manager を起動して眺めてて、該当ヴォリュームの "volume.label" らしいと気づく。EMonster の場合は空になってる。これを指定すればいい。
/usr/share/doc/hal/README.Debian を見て、/etc/hal/fdi/policy 以下に置くファイルで追加設定ができるとわかったので、/etc/hal/fdi/policy/preferences.fdi にあるサンプルとかを参考に /etc/hal/fdi/policy/local.fdi を書いた (ついでに iPod 用も書いた)。

<?xml version="1.0" encoding="UTF-8"?> <!-- -*- SGML -*- -->

<deviceinfo version="0.2">

<!-- Apple iPod -->
  <device>
    <match key="@block.storage_device:storage.vendor" contains="Apple">
      <match key="@block.storage_device:storage.model" contains="iPod">
        <match key="volume.fsusage" string="filesystem">
          <merge key="volume.label" type="string">iPod</merge>
        </match>
      </match>
    </match>
  </device>

<!-- HTC EMonster (S11HT) -->
  <device>
    <match key="@block.storage_device:storage.model" contains="S11HT">
      <match key="@block.storage_device:storage.serial" contains="067AB718B0BAF1A0E556452EB3E73EDB5FC366F9">
        <match key="volume.fsusage" string="filesystem">
          <merge key="volume.label" type="string">EMonster</merge>
        </match>
      </match>
    </match>
  </device>

</deviceinfo>

くわしく調べたわけじゃないので、正しいかどうかはわからないけど、これで一応希望どおりに変更できた。hal の場合は、設定の reload などは不要らしい。次回のマウントから有効になる。
iPod については、どんな iPod でも、EMonster については、このEMonsterなら、という条件になってるはず。特に意味はないけど。
EMonster については、最初はヴォリュームの UUID で指定すればいいかと思ったのだけど、それだと microSDHC カードを換えた場合に効かなくなるので、このようにした。

アイコンの変更 (nautilus)

アイコンの変更はプロパティから GUI でさくっと。/usr/share/icons/gnome/scalable/devices/pda.svgPalm らしきアイコンがあって、色も黒で似てたのでそれにした。
探してみると、この設定は ~/.nautilus/metafiles/x-nautilus-desktop:%2F%2F%2F.xml に保存されてた。