분리 된 시작 메뉴 항목을 제거하려면 어떻게해야합니까?


14

어떤 이유로 응용 프로그램 (예 : Gnome Do, Synapse, Leafpad)에서 남은 시작 메뉴 항목이 많이 있으며 더 이상 설치되지 않은 응용 프로그램의 모든 고아 항목을 제거 할 수 있는지 궁금합니다.

답변:


33

다음 명령을 사용하여 존재하지 않는 프로그램에 연결되는 응용 프로그램 아이콘을 나열 할 수 있습니다.

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/노틸러스에서 검색 하여 그래픽 인터페이스를 통해 휴지통을 비 웁니다.


그 트릭을했다! 어쨌든 그런 일이 다시 일어날 때 실행할 수있는 바로 가기로 바꿀 수 있습니까?
Alan

3

시작 메뉴에서 '응용 프로그램'메뉴를 의미하는 경우 시스템-> 환경 설정-> 기본 메뉴로 이동하여 편집 할 수 있습니다.

원하는대로 항목을 추가, 재 배열, 편집 및 삭제할 수 있습니다.


안녕 유게 니오. 맞습니다.하지만 각각을 살펴보고 실제로 고아인지 확인한 다음 삭제해야합니다. 40 개 이상의 항목을 제거하려고하므로이 모든 작업을 수행 할 수있는 방법을 찾고 있습니다.
Alan

아마도 가장 멍청한 답변 일 것입니다. +1
tir38

3

응용 프로그램을 제거하면 설치된 메뉴 항목을 제거해야합니다. 그리고 그것은 내 컴퓨터에서 이런 식으로 작동합니다.

다르게 작동하면 특정 패키지의 버그이거나 시스템의 문제입니다. 40 개가 넘는 항목이 고아라고 믿을 수 없습니다. 문제의 증상 일 것입니다.


Natty Narwhal로 업그레이드하기 전까지는이 문제가 없었습니다. 10.04LTS로 다운 그레이드하고 11.04에 버그가 없을 때까지 잠시 기다립니다.
Alan

적극적으로 설치되지만 실제 설치 프로그램이없는 프로그램이 있습니다. 바이너리가 이동하면 고아가됩니다.
Pointy

2

글쎄, 이것은 어렵지만 적어도 문제가 무엇인지 말하고 싶습니다.

Gnome은 설치된 응용 프로그램을 / usr / share / applications에 저장하고 파일은 .desktop으로 끝납니다 (vlc 프로그램은 vlc.desktop에 의해 실행됩니다)

각각의 내부에는 "프로그램"섹션이 있으며,이 메뉴에서 프로그램을 원하는 응용 프로그램 메뉴 부분을 설정할 수 있습니다. 문제는 : 내가 원하는 것을 할 수 있다고 생각하는 유일한 방법은 .desktop과 관련된 패키지가 설치되어 있는지 여부를 묻는 bash 스크립트를 사용하는 것입니다. 그렇지 않은 경우 해당 .desktop 파일을 삭제하십시오. 파일을 삭제하면 파일이 메뉴에서 사라지고 앱이 카테고리에 있으면 해당 파일이 표시되지 않습니다.

모든 명령 (dpkg, apt-get 등)은 패키지가 설치되지 않았다고 말할 때 항상 좋은 종료를 반환하므로 해당 범위에서 약간 벗어났습니다. 따라서 해당 앱에서 종료를 검색해야합니다. String (fi "not installed"), 확인하고, String이 존재하면 응용 프로그램이 설치되어 있지 않고 .desktop을 삭제할 수 있음을 의미합니다.

따라서 원하는 경우 폴더 (/ usr / share / applications)를 입력하고 프로그램에 해당하는 파일을 클릭하면됩니다. 응용 프로그램 메뉴에서 사라집니다. 자동으로하려면 트랙에 좋은 bash 스크립트가 필요하다고 생각합니다.

이것이 어떤 식 으로든 도움이되기를 바랍니다.


안녕 데이빗, 도와 주셔서 감사합니다! / usr / share / applications로 들어가는 것에 대한 팁은 메뉴 편집기에서 끊어진 링크를 하나씩 삭제하는 것에 비해 시간을 절약 할 수 있습니다.
Alan

0

대안 :

@ æ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

참고 : 모든 방법은 파일을 삭제하기 전에 두 번 찾은 파일을 오 탐지로 표시 할 수 있습니다


0

이것은 오래된 게시 된 질문 일지 모르지만 같은 문제가 있었지만 어쨌든 차임해야한다고 생각했지만 이러한 제안 중 어느 것도 효과가 없었지만 인터넷에서 Alacarte (쉬운 그놈 메뉴 편집)라는 프로그램을 알고있는 매우 똑똑한 사람을 발견했습니다. 소프트웨어 관리자를 사용하여 설치 한 프로그램이지만 기본적으로 설치되어 있지만 지금은 잘 알려져 있지는 않지만 잘 알려진 프로그램이지만 소프트웨어 관리자를 통해 계속 사용할 수 있기 때문에 여전히 사용 가능합니다. 사용하기 쉽도록 클릭하여 제거하려는 제거 된 프로그램 항목을 강조 표시하고 오른쪽에서 삭제를 클릭하면 완료됩니다. 이 다른 제안이 효과가 없다면 도움이 될 것입니다.

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