답변:
다음 명령을 사용하여 존재하지 않는 프로그램에 연결되는 응용 프로그램 아이콘을 나열 할 수 있습니다.
for i in {/usr,~/.local}/share/applications/*.desktop; do which $(grep -Poh '(?<=Exec=).*?( |$)' $i) > /dev/null || echo $i; done
패키지 관리자가 자동으로 정리하지 않기 때문에 대부분의 폴더가 홈 폴더에 사용자 정의 된 아이콘 인 것으로 보입니다. 이런 경우 에 한 번에 모두 휴지통에 버리 려면 이전 명령의 수정을 사용할 수 있습니다.
for i in ~/.local/share/applications/*.desktop; do which $(grep -Poh '(?<=Exec=).*?( |$)' $i) > /dev/null || trash $i; done
또는 ~/.local/share/applications/
노틸러스에서 검색 하여 그래픽 인터페이스를 통해 휴지통을 비 웁니다.
응용 프로그램을 제거하면 설치된 메뉴 항목을 제거해야합니다. 그리고 그것은 내 컴퓨터에서 이런 식으로 작동합니다.
다르게 작동하면 특정 패키지의 버그이거나 시스템의 문제입니다. 40 개가 넘는 항목이 고아라고 믿을 수 없습니다. 문제의 증상 일 것입니다.
글쎄, 이것은 어렵지만 적어도 문제가 무엇인지 말하고 싶습니다.
Gnome은 설치된 응용 프로그램을 / usr / share / applications에 저장하고 파일은 .desktop으로 끝납니다 (vlc 프로그램은 vlc.desktop에 의해 실행됩니다)
각각의 내부에는 "프로그램"섹션이 있으며,이 메뉴에서 프로그램을 원하는 응용 프로그램 메뉴 부분을 설정할 수 있습니다. 문제는 : 내가 원하는 것을 할 수 있다고 생각하는 유일한 방법은 .desktop과 관련된 패키지가 설치되어 있는지 여부를 묻는 bash 스크립트를 사용하는 것입니다. 그렇지 않은 경우 해당 .desktop 파일을 삭제하십시오. 파일을 삭제하면 파일이 메뉴에서 사라지고 앱이 카테고리에 있으면 해당 파일이 표시되지 않습니다.
모든 명령 (dpkg, apt-get 등)은 패키지가 설치되지 않았다고 말할 때 항상 좋은 종료를 반환하므로 해당 범위에서 약간 벗어났습니다. 따라서 해당 앱에서 종료를 검색해야합니다. String (fi "not installed"), 확인하고, String이 존재하면 응용 프로그램이 설치되어 있지 않고 .desktop을 삭제할 수 있음을 의미합니다.
따라서 원하는 경우 폴더 (/ usr / share / applications)를 입력하고 프로그램에 해당하는 파일을 클릭하면됩니다. 응용 프로그램 메뉴에서 사라집니다. 자동으로하려면 트랙에 좋은 bash 스크립트가 필요하다고 생각합니다.
이것이 어떤 식 으로든 도움이되기를 바랍니다.
대안 :
@ ændrük 대답에 따라 경로 및 하위 폴더의 공간 을 지원 하는 비슷한 솔루션 이 있습니다. 이는 특정 폴더 또는 전체 디스크에서 깨진 .desktop
파일 을 찾는 데 사용할 수 있습니다 (바로 가기)
find {/usr,~/.local,/usr/local,}/share/applications/ -name '*.desktop' | while read -r line; do which $(grep -Poh '(?<=Exec=).*?( |$)' $line) > /dev/null || echo $line; done
전체 디스크
find / -name '*.desktop' | while read -r line; do which $(grep -Poh '(?<=Exec=).*?( |$)' $line) > /dev/null || echo $line; done
참고 : 모든 방법은 파일을 삭제하기 전에 두 번 찾은 파일을 오 탐지로 표시 할 수 있습니다
이것은 오래된 게시 된 질문 일지 모르지만 같은 문제가 있었지만 어쨌든 차임해야한다고 생각했지만 이러한 제안 중 어느 것도 효과가 없었지만 인터넷에서 Alacarte (쉬운 그놈 메뉴 편집)라는 프로그램을 알고있는 매우 똑똑한 사람을 발견했습니다. 소프트웨어 관리자를 사용하여 설치 한 프로그램이지만 기본적으로 설치되어 있지만 지금은 잘 알려져 있지는 않지만 잘 알려진 프로그램이지만 소프트웨어 관리자를 통해 계속 사용할 수 있기 때문에 여전히 사용 가능합니다. 사용하기 쉽도록 클릭하여 제거하려는 제거 된 프로그램 항목을 강조 표시하고 오른쪽에서 삭제를 클릭하면 완료됩니다. 이 다른 제안이 효과가 없다면 도움이 될 것입니다.