Як я можу знайти розташування значка запуску?


22

У мене на робочому столі є пускач і хочу додати ще один вручну з тим же значком.

Коли я переходжу до налаштувань існуючої панелі запуску та натискаю на піктограму, це не відводить мене до папки, де зберігається значок, а лише до моєї домашньої папки.

Як я можу дізнатися, де в моїй системі знаходиться використаний значок пускової установки?

Відповіді:


19

Здебільшого піктограму вибиратимуть із вашої поточної теми значка, а не називають абсолютним шляхом.

  1. Відкрити Gedit
  2. Перетягніть пускову установку у вікно Gedit
  3. Шукайте Iconвизначення:

    Icon=gnome-panel-launcher

Потім ви можете знайти значок десь у /usr/share/icons, залежно від вашої теми.

Ось швидкий скрипт пітона, який знаходить правильний шлях до значка:

import gtk

print "enter the icon name (case sensitive):"
icon_name = raw_input(">>> ")
icon_theme = gtk.icon_theme_get_default()
icon = icon_theme.lookup_icon(icon_name, 48, 0)
if icon:
    print icon.get_filename()
else:
    print "not found"

Збережіть його десь і біжіть python /path/to/script.py.

Це буде виглядати приблизно так:

stefano@lenovo:~$ python test.py 
enter the icon name (case sensitive):
>>> gtk-execute
/usr/share/icons/Humanity/actions/48/gtk-execute.svg

Крім того, ви можете просто копатися, /usr/share/iconsпоки не знайдете потрібну піктограму.


Набагато простіше: ви можете просто скопіювати та вставити пусковий апарат та змінити ім’я та команду


EDIT 2018

Оновлена ​​версія сценарію вище:

#!/usr/bin/env python3
import gi
gi.require_version('Gtk', '3.0')
from gi.repository import Gtk

icon_name = input("Icon name (case sensitive): ")
icon_theme = Gtk.IconTheme.get_default()
icon = icon_theme.lookup_icon(icon_name, 48, 0)
if icon:
    print(icon.get_filename())
else:
    print("not found")

5
Ще один поширений шлях до перевірки /usr/share/pixmaps.
htorque

@Stefano: Герой! Дуже дякую за обидві ваші відповіді. Діє блискуче. Принаймні, 2-й спосіб повинен був також прийти мені в голову.
Тімо Шнеман

Traceback (останній дзвінок останній): файл "LookUget.py", рядок 2, в <module> import gi ImportError: Немає модуля з іменем gi
JulianLai

4

Ще трохи інформації.

Звичайні запуски - це справді файли .desktop у / usr / share / applications /.

Наприклад: /usr/share/applications/usb-creator-gtk.desktop

(Див. Https://specifications.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

3

Це засновано від Stefano палаццо відповіді «s тут .

#!/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.

Різниці між оригінальним сценарієм Стефано Палацо :

  • Це знайде всі роздільні можливості ікони (не лише 48)
  • Використовує gi.repositoryзамістьGtk
  • Використовує Python 3 замість 2
  • Трохи підправляємо іншими способами
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.