사용자 정의 실행기가 별도의 아이콘으로 열리는 이유는 무엇입니까?


12

사용자 지정 실행기 파일을 만들었습니다.

[Desktop Entry]
Type=Application
Name=P4V
Comment=Perforce Visual Client
Icon=/usr/lib/p4v/P4VResources/icons/P4-V_128x128.png
Exec=/usr/bin/p4v
Terminal=false
Categories=Development;

이 파일을 내 런처로 드래그했습니다. 그러나 아이콘을 클릭하면 두 번째 다른 아이콘으로 응용 프로그램이 열립니다 (맨 위 아이콘을 클릭하면 맨 아래 아이콘이 표시됩니다).

런처 아이콘

하단 아이콘은 수동으로 추가 한 상단 P4v 아이콘을 사용하여 응용 프로그램을 시작한 후에야 표시됩니다.


1
이것은 자바 앱입니까?
dobey

/ usr / bin / pv4는 자체적으로 아이콘과 관련된 방식으로 앱을 여는 스크립트입니다. 아마 자바 스크립트 - perforce.com/product/components/perforce-visual-client
더그

1
@doug nope, 그것은 창과 "정상적인" .desktop파일 (설정 아이콘 포함) 이있는 응용 프로그램입니다 /usr/share/applications(찾아서 설치했습니다).
Jacob Vlijm

답변:


10

응용 프로그램 이 일반 아이콘이 아닌 두 번째 아이콘을 생성하는 경우

응용 프로그램이 생성하는 경우 두 번째 실행 유니티의 아이콘 다른 AA 회색 일반 아이콘 이상을, 호출, 이미 (기타) 기존의 실행이 있어야 p4v주요 명령 :

.desktop정의에 따른 응용 프로그램 파일의 첫 줄에는 "main"명령이 Exec=있습니다. ( Unity) 실행기 에서 아이콘을 클릭하면 실행되는 명령입니다 . 그 외에도하는 .desktop파일 는있는 나타내는 아이콘을 마우스 오른쪽 단추로 클릭하면 사용 가능한 하나 개 이상의 shortcut- 섹션이 Unity실행.

기본 명령에서 동일한 응용 프로그램을 호출하는 여러 .desktop 파일

당신이 발생하는 증상은 때 하나 개 이상의 일어날 수있는 .desktop하나의 파일 /usr/share/applications또는 ~/.local/share/applications동일이 ( "main-") 명령을 자신의 첫 번째 Exec= 라인,하지만 파일은 다른 이름이 지정됩니다.

기본적으로 P4V는 설치해야합니다 (아마 설치 한) .desktop라는 이름의 파일 p4vasp.desktop에를 /usr/share/applications.

해결 방법
자신의 (아마 로컬 .desktop파일 ) 파일을 제거한 다음 p4vDash에서 실행 하여 실행기에 고정하면 문제가 해결되어야합니다 .

기존 런처를 사용자 정의하려면 어떻게합니까?

.desktop파일의 동작 또는 예를 들어 아이콘 을 변경하려면 다음을 수행 하십시오.

  • 에서 파일을 복사 /usr/share/applications하는~/.local/share/applications
  • 파일 이름을 변경 하지 마십시오
  • 파일을 열고 gedit(열린 gedit창 위로 드래그 ) 원하는대로 변경하십시오.
  • 로그 아웃했다가 다시 로그인하면 .desktop파일 의 로컬 버전이 전역 파일보다 우선합니다.

되돌리려면 간단히 로컬 로컬을 제거하고 로그 아웃했다가 다시 로그인하십시오.

이 게시물과 관련


이 답변은 GNOME 3
Todd의

0

AppImage를 즐겨 찾기에 추가하는 데 어려움을 겪을 때 우분투 18.04 에서 나에게 도움이되는 솔루션 . 이 솔루션은 https://beamtic.com/duplicated-icons-in-launcher에 요약되어 있습니다.

  1. 실행하여 이중 아이콘으로 프로그램의 창 클래스를 가져옵니다.

    xprop WM_CLASS
    
  2. 해당 프로그램의 기본 창을 클릭하여 선택하십시오. 나는 두 줄을 받았으며 첫 번째 줄을 받았습니다 (소문자).

  3. .desktop파일에 다음 줄을 추가하고 (내 .desktop파일이 있음 ~/.local/share/applications) [Name_of_Window_Class]xprop 명령의 출력으로 바꿉니다.

    StartupWMClass=[Name_of_Window_Class]
    
  4. 응용 프로그램을 시작 / 다시 시작하십시오!

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.