사용중인 런처 아이콘의 위치를 ​​어떻게 찾을 수 있습니까?


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원하는 아이콘을 찾을 때까지 뒤섞 일 수 있습니다 .


훨씬 쉽게 : 런처를 복사하여 붙여넣고 이름과 명령을 변경할 수 있습니다.


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

@ 스테파노 : 영웅! 두 답변 모두에 대해 대단히 감사합니다. 훌륭하게 작동합니다. 적어도 두 번째 방법은 내 마음에 와야합니다.
Timo Schneemann

역 추적 (가장 최근 호출) : <모듈> 가져 오기에서 파일 "LookUget.py", 2 행 가져 오기
importError

4

조금 더 많은 정보.

일반 런처는 실제로 / usr / share / applications /에있는 .desktop 파일입니다.

예를 들면 다음과 같습니다. /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

3

이것은 스테파노 팔라 조의 답변을 바탕으로 합니다 .

#!/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 의 원본 대본의 차이점 은 다음과 같습니다.

  • 이 아이콘의 모든 해상도를 찾을 수 있습니다
  • gi.repository대신에 사용Gtk
  • 2 대신 Python 3을 사용합니다.
  • 다른 방법으로 약간 조정
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.