У меня есть пусковая установка на рабочем столе и хочу добавить еще один с помощью одного и того же значка.
Когда я перехожу к настройкам существующей пусковой установки и щелкаю по значку, это не приводит меня к папке, где хранится значок, а только к моей домашней папке.
Как я могу узнать, где в моей системе находится используемый значок пусковой установки?
Немного больше информации.
Нормальные пусковые установки - это действительно файлы .desktop в / usr / share / applications /.
Например: /usr/share/applications/usb-creator-gtk.desktop
(см. http://standards.freedesktop.org/desktop-entry-spec/desktop -entry-spec-latest.html)
В каждом файле рабочего стола есть строка, которая указывает значок, например:
Icon=usb-creator-gtk
Если нет пути (и расширения файла) (как в этом случае), это означает, что значок найден (где-то) в / usr / share / icons /, а тот, который используется во время выполнения, зависит от текущей темы и в некоторых случаях контекста отображения (размера).
Зная имя значка (без расширения) из файла рабочего стола, можно найти его / их следующим образом:
$ find . -name "usb-creator-gtk*"
./hicolor/scalable/apps/usb-creator-gtk.svg
./Humanity/apps/32/usb-creator-gtk.svg
./Humanity/apps/16/usb-creator-gtk.svg
./Humanity/apps/22/usb-creator-gtk.svg
./Humanity/apps/24/usb-creator-gtk.svg
./Humanity/apps/64/usb-creator-gtk.svg
./Humanity/apps/48/usb-creator-gtk.svg
Это основано на ответе Стефано Палаццо здесь.
#!/usr/bin/env python3
from gi.repository import Gtk
icon_name = input("Icon name (case sensitive): ")
if icon_name:
theme = Gtk.IconTheme.get_default()
found_icons = set()
for res in range(0, 512, 2):
icon = theme.lookup_icon(icon_name, res, 0)
if icon:
found_icons.add(icon.get_filename())
if found_icons:
print("\n".join(found_icons))
else:
print(icon_name, "was not found")
Сохраните это в файле и запустите его с помощью python3 /path/to/file.
Различия между Stefano Palazzo Оригинальный сценарий :
Это находит все разрешения значка (не только 48) Использует gi.repository вместо Gtk Использует Python 3 вместо 2 Немного изменен другими способами