Plasma에서 각 Firefox 프로필에 자체 앱 아이콘을 제공하는 방법

Plasma에서 각 Firefox 프로필에 자체 앱 아이콘을 제공하는 방법

저는 Arch Linux에서 KDE를 실행하고 있습니다. 다음 두 파일이 있습니다 .desktop.

[Desktop Entry]
Comment=First Profile
Exec=firefox --no-remote -P First %u
GenericName=Firefox First Profile
Icon=/path/to/custom/icon1.png
Name=FF_First
NoDisplay=false
Path[$e]=
StartupNotify=true
Terminal=0
TerminalOptions=
Type=Application
X-KDE-SubstituteUID=false
X-KDE-Username=

[Desktop Entry]
Comment=Second Profile
Exec=firefox --no-remote -P Second %u
GenericName=Firefox Second Profile
Icon=/path/to/custom/icon2.png
Name=FF_Second
NoDisplay=false
Path[$e]=
StartupNotify=true
Terminal=0
TerminalOptions=
Type=Application
X-KDE-SubstituteUID=false
X-KDE-Username=

이러한 Firefox 프로필 중 하나를 처음 실행하면 플라즈마 패널의 작업 관리자 표시줄에 표시되는 아이콘은 .desktop 파일에 지정한 사용자 정의 아이콘입니다. 하지만 Firefox가 시작된 후,작업 관리자의 아이콘(플라즈마 패널)표준 Firefox 아이콘으로 되돌아갑니다. 프로필별로 작업 관리자 패널에 사용자 정의 아이콘을 추가하는 방법은 무엇입니까?

제가 시도한 한 가지 접근 방식은 별도의 셸 스크립트를 만들어 각 프로필을 시작하는 것이었지만 결과는 동일했습니다. Firefox를 시작한 후 각 프로필은 작업 관리자에 동일한 일반 Firefox 아이콘을 표시합니다.

비슷한 질문이 있습니다여기, 하지만 이는 아이콘과 관련이 없습니다.Firefox 프로필에 따르면내 질문에 대답하지 않습니다.

업데이트: fra-san의 답변을 바탕으로 업데이트된 데스크톱 항목은 다음과 같습니다.

[Desktop Entry]
Comment=Second Profile
Exec=firefox -P Second --class=FFSecond
GenericName=Firefox Second Profile
Icon=/home/allusers/application_icons/Second/Firefox_Logo_128x128.png
Name=FFSecond
NoDisplay=false
Path[]=
StartupNotify=true
Terminal=0
TerminalOptions=
Type=Application
Categories=Network;WebBrowser
X-KDE-SubstituteUID=false
X-KDE-Username=
StartupWMClass=FFSecond

아직 결과를 얻지 못했습니다. 위 항목은 표준 Firefox 데스크탑 파일과 똑같이 KDE 플라즈마 패널의 작업 관리자 위젯 탭에 표준 Firefox 아이콘을 표시합니다.

-no-remote, -new-instance를 사용하여 Exec 라인을 사용해 보았지만 그 중 아무 것도 없이 아이콘에는 차이가 없었습니다.

앞에서 언급했듯이 각 Firefox 프로필이 KDE 플라즈마 패널의 작업 관리자 위젯에 있는 탭에 사용자 정의 아이콘을 표시하기를 원합니다.

답변1

귀하의 질문을 올바르게 이해했기를 바랍니다. 나는 당신이 말하는 아이콘이 KDE 플라즈마 패널의 작업 관리자 위젯에 있는 탭이라고 가정합니다.

문제가 발생한 것 같습니다.답변아쿠벤투에서. 거기에서 질문에는 Ubuntu와 Gnome이 언급되어 있지만 답변에서는 데스크톱 환경이나 Linux 배포판의 특정 기능을 사용하지 않습니다. KDE Plasma 5.14.4, Firefox 63.0.3, X.Org X Server 1.20.3을 사용하여 Arch Linux에서 테스트했습니다.

파일에 대한 일부 편집 내용이 있습니다 .desktop.

1) 키 --class에 옵션을 추가합니다 . Exec에 간략하게 기록되어 있습니다.MDN:

--class=WM_CLASS
애플리케이션에서 생성된 X11 창의 WM_CLASS 리소스 클래스를 설정합니다.

2) StartupWMClass키를 추가합니다. 에 간략하게 기록되어 있습니다.데스크탑 엔트리 사양freedesktop.org에서 제공:

StartupWMClass
지정된 경우 응용 프로그램은 해당 문자열을 WM ​​클래스 또는 WM 이름 힌트로 사용하여 하나 이상의 창을 매핑하는 것으로 알려져 있습니다(참조).시작 알림 프로토콜 사양자세한 내용은).

이 두 가지 옵션을 사용하면 각 Firefox 인스턴스에 자체 인스턴스가 있으므로 WMCLASS작업 관리자에서 인스턴스가 함께 그룹화되지 않습니다. 이는 StartupWMClass열린 Firefox 창과 이를 실행하는 데스크탑 항목 사이의 링크를 설정하여 사용자 정의 아이콘을 유지할 수 있도록 합니다.

예를 들어, 두 .desktop파일을 시작점으로 가정하고 여기서 관련 없는 줄을 생략합니다.

[Desktop Entry]
Comment=First Profile
...
Exec=firefox --no-remote -P test1 --class=firstclass %u
...
StartupWMClass=firstclass
[Desktop Entry]
Comment=Second Profile
...
Exec=firefox --no-remote -P test1 --class=secondclass %u
...
StartupWMClass=secondclass

관련 정보