%EC%9D%84%20%ED%98%B8%EC%B6%9C%ED%95%A0%20%EB%95%8C%20Cairo%20%EB%8F%84%ED%81%AC%EC%9D%98%20%EC%9E%91%EC%97%85%20%ED%91%9C%EC%8B%9C%EC%A4%84%EC%97%90%20%EC%9E%88%EB%8A%94%20%EC%9D%B4%EC%A4%91%20%EC%95%84%EC%9D%B4%EC%BD%98%EC%9D%84%20%EC%96%B4%EB%96%BB%EA%B2%8C%20%EC%A0%9C%EA%B1%B0%ED%95%A9%EB%8B%88%EA%B9%8C%3F.png)
gnome 3을 사용하는 Ubuntu 20.04의 SoftSqueeze(Java로 작성된 Logitech Squeezebox 기반 소프트웨어 라디오)에 아이콘을 할당하고 싶습니다.
~/.loca/share/applications에 .desktop 파일을 만들었습니다.
[Desktop Entry]
Encoding=UTF-8
Version=1.0
Type=Application
Name=SoftSqueeze
Icon=/opt/softsqueeze_3.9.2/icons/icon256.xpm
Exec=java -jar /opt/softsqueeze_3.9.2/SoftSqueeze.jar
Terminal=false
StartupNotify=false
StartupWMClass=SoftSqueeze
NoDisplay=false
MimeType=application/x-java-archive;application/java-archive;application/x-jar;
X-UnityGenerated=true
그 후, 올바른 세트 아이콘(위에서 지정됨)이 있는 애플리케이션을 찾았지만 Icon=
, 애플리케이션을 시작하면 대신 재미있는 픽셀화된 헤드폰이 표시됩니다.
카이로 도크에서는 새로운 런처를 추가하여 런처를 생성하고 그에 맞는 명령과 아이콘을 부여했습니다. 또한 잘못된 아이콘(재미있는 픽셀화된 헤드폰)도 나타났습니다.
나는 이 "헤드폰" 아이콘이 아마도 소프트스퀴즈 병 안에 설정되어 있다고 가정합니다.
Gnome 3 및 Cairo 도크에서 올바른 아이콘을 어떻게 할당합니까?
답변1
해결 방법: WM_CLASS를 할당해야 합니다(카이로 도크에서는 "프로그램 클래스"라고 하며 데스크탑 항목의 추가 매개변수에 있음). 이는 Windows 관리자와 프로그램 자체의 인스턴스 사이의 링크와 비슷하므로 해당 링크가 올바르게 설정된 경우 창 관리자는 다른 아이콘 "인스턴스"(이중 아이콘)를 만들 필요가 없습니다. 내 경우도 다르게 보였습니다(그럼에도 불구하고 솔루션은 아이콘이 동일하지만 두 배인 경우에도 작동해야 함). Python 또는 기타 스크립트 기반 프로그램에서도 마찬가지입니다.
Gnome 3의 경우 터미널에서 다음 명령을 사용합니다.
xprop | grep WM_CLASS
이미 시작된 포인터가 전경에 표시된 상태에서 클릭하면 터미널 창에 WM_CLASS 이름이 표시됩니다. 이를 위의 .desktop 항목에 "StartUpWMClass" 속성으로 추가해야 합니다. 파일을 저장하면 항아리 아이콘이 사라집니다.
내 경우에는 그랬다.
StartupWMClass=org-titmuss-softsqueeze-Application
카이로 도크에 있는 데스크탑 항목의 추가 매개변수에도 동일한 작업을 수행해야 합니다. 그러면 "헤드폰" 아이콘이 사라지고 앱을 시작할 때 설정된 아이콘이 유일한 아이콘이 됩니다.