如何在启动器中更改设备图标?


9

我正在运行Ubuntu 13.04,我的计算机中有几个硬盘驱动器,并且所有硬盘驱动器在启动器中均带有相同的图标。是否可以一一修改其图标,或者至少更改其颜色以更好地找到我想要的东西?

图片


好问题。它可以帮助在未来:)
rɑːdʒɑ

这样做不起作用:askubuntu.com/questions/235805/…只需制作几个.desktop文件并更改其图标即可。
Rinzwind

我尝试采用该解决方案,但至少对我来说不起作用
Lorenzo


1
似乎(直到现在我都没有注意到/记住)最近Nautilus停止使用Windows文件autorun.inf / desktop.ini来显示自定义驱动器图标,而不是当前图标主题中的默认图标,同时仍将其用于自定义文件夹会徽-奇怪:/)
Sadi 2013年

Answers:


14

您可以使用udev规则与您的设备进行匹配,然后分配一个图标。

注意:在此示例中,我将更改3个设备的图标,即usb pendrive,Opensuse的分区和Linux Mint的分区(Raid)。

在此处输入图片说明


对于Ubuntu 12.10及更高版本。

1)对于每个设备,我的桌面上有3个图标(2个png和1个svg图像)将这 3个图标复制到该/usr/share/pixmaps文件夹中,然后赋予它们权限。

在此处输入图片说明

  • cd ~/Desktop
  • sudo cp linuxmint.svg pendrive.png opensuse.png /usr/share/pixmaps/
  • cd /usr/share/pixmaps/
  • sudo chmod 644 linuxmint.svg pendrive.png opensuse.png

2)名单的USB随身碟知道“idVendor”“idProduct”,在终端中输入:

  • lsusb

在此处输入图片说明

在“ ID”之后写下数字。

在我的示例中:

总线002设备003:ID 0930:6545东芝公司Kingston DataTraveler 102闪存驱动器/ HEMA闪存驱动器2 GB / PNY附件4GB记忆棒

“idVendor”0930“idProduct”6545
我要匹配与“ATTRS {idVendor}”和“{ATTRS} idProduct”键适用于USB随身碟这些信息。

3)确保已安装分区,然后列出分区并找到属性。

  • df -h

在我的示例中:

/dev/sdc3 289G 6.3G 282G 3% /media/hermes/OpenSuse

/dev/mapper/pdc_cjjfccgf3 296G 68G 213G 25% /media/hermes/Linux-Mint-Raid

4)使用“ udevadm info -a -n设备名称”列出OpenSuse分区的属性

  • udevadm info -a -n /dev/sdc3

您可以使用此信息来匹配分区。

在此处输入图片说明

在此示例中,我将与OpenSuse 的“ KERNEL”“ SUBSYSTEM”键匹配。

KERNEL ==“ sdc3”,SUBSYSTEM ==“块”

写下此信息。

5)Linux-Mint-Raid分区的情况下,我要匹配规则和“ SUBSYSTEM”“ ATTR {size}”“ ID_FS_LABEL” ENV变量。

使用“ udevadm info -a -n设备名称”“ udevadm info -q all -n设备名称”列出Linux-Mint-Raid分区的属性和变量。

  • udevadm info -a -n /dev/mapper/pdc_cjjfccgf3
  • udevadm info -q all -n /dev/mapper/pdc_cjjfccgf3

在此处输入图片说明

在此处输入图片说明


创建udev规则。

6)转到/etc/udev/rules.d文件夹,并使用您喜欢的编辑器创建一个文件。
例如:99-devices-icons.rules

  • cd /etc/udev/rules.d/
  • sudo nano 99-devices-icons.rules

写下信息以匹配每个设备,然后使用ENV {UDISKS_ICON_NAME}分配一个图标。

在我的示例中:

ATTRS {idVendor} ==“ 0930”,ATTRS {idProduct} ==“ 6545”,ENV {UDISKS_ICON_NAME} =“ pendrive” KERNEL ==“ sdc3”,SUBSYSTEM ==“ block”,ENV {UDISKS_ICON_NAME} =“ opensuse” SUBSYSTEM ==“ block”,ATTR {size} ==“ 629145600”,ENV {ID_FS_LABEL} ==“ Linux-Mint-Raid”,ENV {UDISKS_ICON_NAME} =“ linuxmint”

在nano中,您可以使用以下命令保存更改:

  • Ctrl + OEnter然后Ctrl +X

7)要刷新udev规则并查看更改,请在Terminal窗口中输入:

  • sudo udevadm trigger

在此处输入图片说明


对于Ubuntu 12.04。

相同,但是您应该为图标分配ENV {UDISKS_PRESENTATION_ICON_NAME}而不是ENV {UDISKS_ICON_NAME}


ATTRS {idVendor} ==“ 0930”,ATTRS {idProduct} ==“ 6545”,ENV {UDISKS_PRESENTATION_ICON_NAME} =“ pendrive”
KERNEL ==“ sdc3”,SUBSYSTEM ==“ block”,ENV {UDISKS_PRESENTATION_ICON_NAME} =“ opensuse”
SUBSYSTEM ==“ block”,ATTR {size} ==“ 629145600”,ENV {ID_FS_LABEL} ==“ Linux-Mint-Raid”,ENV {UDISKS_PRESENTATION_ICON_NAME} =“ linuxmint”


希望这可以帮助。


1
奥格...!我以为答案是right click --> "Set icon"。但是我忘了,这不是Windows,而是Ubuntu!但+1。
桑杰·马诺哈

请注意,以上规则中的分配为“ =”(单个等于),而相等性检验为“ ==”。
格雷格·贝尔

您的指示确实很棒!我能够使用它们将自定义图标分配给Windows分区,外部硬盘驱动器,闪存驱动器和Kindle。如果仅启动器使用了Nautilus的自定义图标,则无需这样做!不过,我有一个问题:如何修改手机的图标?无论我使用什么属性,似乎我都无法为三星手机专门创建规则。谢谢!
大卫·雷杰夫

尽管我仍然使用UDISKS_ICON_NAME,但该方法仍在16.04中有效
user8675309
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.