답변:
이 목록은 다음 위치에있는 .desktop 파일을 분석하여 생성됩니다.
/usr/share/applications
~/.local/share/applications
응용 프로그램 당 둘 이상의 사용 사례가있을 수 있습니다. 예를 들어 banshee
기본적으로 3 개의 .desktop 파일이 있는 미디어 플레이어를 예로들 수 있습니다 .
$ ls -1 /usr/share/applications/banshee*
/usr/share/applications/banshee-1-audiocd.desktop
/usr/share/applications/banshee-1.desktop
/usr/share/applications/banshee-1-media-player.desktop
이 파일들 간의 유일한 차이점은 시작 매개 변수와 MimeType 목록입니다.
banshee-1.desktop
: 일반 미디어 파일banshee-1-audiocd.desktop
: 오디오 CDbanshee-1-media-player.desktop
오디오 플레이어 (또한 의해 사용 rhythmbox
, vlc
및 기타)따라서 'Open with'목록과 'Main Menu'에 3 개의 'Banshee Media Player'가 있습니다.
이 공간을 채우는 다른 방법은에 개인 .desktop 파일을 만드는 것입니다 ~/.local/share/applications
. 수동으로 또는 도구를 사용하여. alacarte
(또는 '주 메뉴'-> '메뉴 편집'을 마우스 오른쪽 버튼으로 클릭)는 그 중 하나입니다.
응용 프로그램을 만들거나 이동할 때마다 alacarte
새 .desktop 파일이 내부에 배치됩니다 ~/.local/share/applications
. 응용 프로그램을 비활성화하면 '기본 메뉴'에서 '제거'되지만 '연결 프로그램'목록에서는 제거되지 않습니다.
그러나 '삭제'버튼에서 동일한 복사본을 생성하여,하지 /usr/share/applications
로 ~/.local/share/applications
하고 추가 Hidden=true
따라서 시스템 전체의 유전 값을 "덮어 쓰기"는 파일의 .desktop.
해당 항목 중 두 항목을 삭제 alacarte
하면
$ ls -1 ~/.local/share/applications/banshee*
/home/user/.local/share/applications/banshee-1-audiocd.desktop
/home/user/.local/share/applications/banshee-1-media-player.desktop
에서 항목을 제거 ~/.local/share/applications
하면 기존 상태 (세 banshee
항목)로 되돌아 갑니다.
이 두 폴더에 복제본이없는 경우 해당 .desktop 파일에서 복제본을 제거 alacarte
하거나 Hidden=true
해당 옵션을 사용하여 재생 해보십시오 .
이 스레드가 오래되었다는 것을 인정 하면서이 문제로 인해 당황했습니다. 나는 개인적으로 파일을 삭제하거나 "정리"를하는 것이 불필요하다고 느꼈다. 단지 현재 사용자를 위해 물건을 조정하는 것과 같다. .desktop 파일이 두 개 이상인 경우 각각 고유 한 설명을 가질 수 없습니까? 리눅스가 등장하는 한, 특정 앱 개발자들이 이와 같은 간단한 것을 간과 했습니까?
텍스트 편집기에서 .desktop 파일을 열면 이름 필드가 "연결 프로그램"메뉴에 표시됩니다. 그래서 필자는 문제를 일으키는 것으로 알고있는 .desktop 파일 (예 : 3 Banshee 파일)을 찾았습니다. 각각을 보면, 그 차이는 거의 항상 지름길이 처리하는 mimetype과 관련이 있습니다. 일부 프로그램은 mimetype에 따라 다른 매개 변수를 전달하는 것을 선호하기 때문입니다. 하나의 인스턴스에서만 응용 프로그램 업그레이드 결과가 오래된 .desktop 파일을 정리하지 않아 중복 항목을 찾았습니다.
그 발견으로 무장 한 것으로 알려진 중복 항목 의 이름 필드를 변경 했습니다. 예를 들어 Banshee가 오디오 CD 를 처리하기 위해 .desktop 파일을 편집 하면 이름을 다음과 같이 읽었습니다.
밴시 (오디오 CD)
Rhythmbox도 CD의 + MP3 플레이어 를 처리하기위한 별도의 .desktop 파일을 가지고 있지만 각각 동일하게 표시 되므로 좋은 예 입니다. 내 생각에 1 파일은 응용 프로그램을로드하고 라이브러리가 아닌 장치에 초점을 둡니다. 따라서 MP3 / OGG 파일을 처리 할 때 이런 일이 발생하지 않도록하려면 이름을 바꿔야합니다.
어쨌든, 이것이 유용한 것으로 보이는 파일을 삭제하지 않고 연결 프로그램 메뉴를 깨끗하게 보이게합니다. 이러한 변경 사항이 응용 프로그램 업데이트간에 유지되는지 여부는 아직 표시되지 않았지만 스크립트로 작성 될 수있는 간단하고 빠른 편집입니다. 이 경우 쉘은 엄청나게 도움이됩니다. 예를 들어, 중복 항목이있는 모든 파일 이름 (경로 포함)을 보려면 :
grep -rl "^Name=Banshee$" /usr/share/applications
"Banshee"는 물론 Open With 메뉴에 두 번 이상 나타납니다. 위에 제공된 예제에서 앱을 Geany라고했습니다.
이를 통해 결과 파일을 편집기로 바로 보낼 수 있습니다. reg 표현식의 전문가가 아닌 경우 ^와 $는 각각 줄의 시작과 줄의 끝을 지정합니다. 이렇게하면 시스템이 다음과 같은 행을 찾지 XGnome-FullName=Banshee Media Player
못하게됩니다. 또한 이미 수정 한 항목을 찾지 못합니다.
Gnome의 "응용 프로그램"메뉴 편집기를보고 여기에서 복제본을 제거 할 수도 있습니다.
jhbuild.desktop
와mimeapps.list
에서 / 응용 프로그램을 ~ / .local의 / 공유를 . 그리고 / usr / share / applications에 듀프가 없으며 여전히 문제가 발생합니다.