Как изменить значки устройств в лаунчере?

9

Я использую Ubuntu 13.04, у меня есть несколько жестких дисков на моем компьютере, и все они отображаются с одинаковым значком на панели запуска. Можно ли изменить их значки по одному или хотя бы изменить их цвет, чтобы лучше найти то, что я ищу?

образ

Lorenzo
источник
Хороший вопрос. Это может помочь в будущем :)
rʒɑdʒɑ
это не работает: askubuntu.com/questions/235805/… Просто создайте несколько файлов .desktop и измените их значок.
Rinzwind
Я пытался следовать этим решениям, но это не работает, по крайней мере, для меня
Лоренцо
проверить это askubuntu.com/questions/70867/…
Stormvirux
1
Кажется (я не замечал / возражаю до сих пор), недавно Nautilus прекратил использовать файлы Windows autorun.inf / desktop.ini для отображения пользовательского значка диска вместо значка по умолчанию в текущей теме значков, но все еще использовал его для пользовательской папки. эмблема - странная: /)
Сади

Ответы:

14

Вы можете использовать правила udev, чтобы соответствовать вашим устройствам, а затем назначить значок.

ПРИМЕЧАНИЕ. В этом примере я поменяю значки для 3 устройств: USB Pendrive, Раздел с Opensuse и Раздел (Raid) с Linux Mint.

введите описание изображения здесь


Для 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 pendrive, чтобы узнать «idVendor» и «idProduct» , в терминале:

  • lsusb

введите описание изображения здесь

Запишите числа после «ID».

В моем примере:

Шина 002 Устройство 003: ID 0930: 6545 Корпорация Toshiba Kingston DataTraveler 102 Флэш-накопитель / HEMA Флэш-накопитель 2 ГБ / PNY Attache 4 ГБ

«IdVendor» является 0930 и «idProduct» является 6545
я буду соответствовать этой информации с «ATTRS {idVendor}» и «{ATTRS idProduct}» ключи для моего USB Pendrive.

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) Перечислите атрибуты раздела OpenSuse с помощью «udevadm info -a -n имя устройства»

  • udevadm info -a -n /dev/sdc3

Вы можете использовать эту информацию, чтобы соответствовать разделу.

введите описание изображения здесь

В этом примере я собираюсь матч с «KERNEL» и «Subsystem» ключи для OpenSuse.

KERNEL == "sdc3", SUBSYSTEM == "блок"

Запишите эту информацию.

5) В случае раздела Linux-Mint-Raid я собираюсь сопоставить правила с переменной ENV «SUBSYSTEM» , «ATTR {size}» и «ID_FS_LABEL» .

Перечислите атрибуты и переменные раздела Linux-Mint-Raid с помощью «udevadm info -a -n имя устройства» и «udevadm info -q all -n имя устройства» .

  • 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} = "открыть SUBSYSTEM == "block", ATTR {size} == "629145600", ENV {ID_FS_LABEL} == "Linux-Mint-Raid", ENV {UDISKS_ICON_NAME} = "linuxmint"

В nano вы можете сохранить изменения:

  • Ctrl + O, Enterтогда Ctrl +X

7) Чтобы обновить правила udev и увидеть изменения, введите в окне терминала:

  • 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 == "блок", ENV {UDISKS_PRESENTATIONAME_
SUBSYSTEM == "block", ATTR {size} == "629145600", ENV {ID_FS_LABEL} == "Linux-Mint-Raid", ENV {UDISKS_PRESENTATION_ICON_NAME} = "linuxmint"


Надеюсь это поможет.

Роман Рагет
источник
1
Aargh ...! Я думал, что ответ был right click --> "Set icon". Но я забыл, это не окна, это убунту! но +1.
Санджай Манохар
Обратите внимание, что в приведенных выше правилах присваиваются значения «=» (одинарные равные), а критерии равенства - «==».
Грег Белл
Ваши инструкции были действительно великолепны! Я смог использовать их для назначения пользовательских значков моему разделу Windows, внешнему жесткому диску, флешке и Kindle. Если бы только программа запуска использовала пользовательские значки Наутилуса, в этом не было бы необходимости! У меня одна проблема: как мне изменить значок для моего телефона ? Независимо от того, какой атрибут я использую, кажется, я не могу создать правило специально для моего телефона Samsung. Спасибо!
Давид Регев
Этот метод все еще работает в 16.04, хотя я все еще использую UDISKS_ICON_NAME
user8675309