Możesz użyć następującego polecenia, aby wyświetlić ikony aplikacji, które prowadzą do nieistniejących programów:
for i in {/usr,~/.local}/share/applications/*.desktop; do which $(grep -Poh '(?<=Exec=).*?( |$)' $i) > /dev/null || echo $i; done
Podejrzewam, że zauważysz, że większość twoich ikon to spersonalizowane ikony w twoim folderze domowym, ponieważ nie są one automatycznie czyszczone przez menedżera pakietów. Jeśli jest to przypadek i chcesz do kosza je wszystkie naraz, można użyć modyfikację poprzedniego polecenia:
for i in ~/.local/share/applications/*.desktop; do which $(grep -Poh '(?<=Exec=).*?( |$)' $i) > /dev/null || trash $i; done
Lub oczywiście przejdź do ~/.local/share/applications/
Nautilus i wyrzuć je za pomocą interfejsu graficznego.
Jeśli przez menu startowe rozumiesz menu „Aplikacje”, możesz je edytować, przechodząc do: System -> Preferencje -> Menu główne.
Możesz dowolnie dodawać, zmieniać kolejność, edytować i usuwać wpisy.
źródło
Po odinstalowaniu aplikacja powinna usunąć zainstalowane elementy menu. I działa w ten sposób na moim komputerze.
Jeśli działa inaczej, jest to błąd konkretnego pakietu lub problem w systemie. Nie mogę uwierzyć, że masz ponad 40 osieroconych wjazdów. Byłby to objaw problemu.
źródło
Cóż, ten jest trudny, ale chcę przynajmniej powiedzieć ci, na czym polega problem.
Gnome przechowuje zainstalowane aplikacje w / usr / share / apps z plikami zakończonymi w .desktop (więc program vlc jest uruchamiany przez vlc.desktop)
Wewnątrz każdego z nich znajduje się sekcja „Kategoria”, w której możesz ustawić, w której części menu Aplikacje chcesz, aby to był program. Chodzi o to: jedynym sposobem, w jaki myślę, że można to zrobić, jest użycie skryptu bash, który pyta, czy pakiet związany z tym .desktop jest zainstalowany, czy nie. jeśli nie, usuń ten plik .desktop. Gdy usuniesz plik, zniknie on z menu, a gdy aplikacja znajduje się w kategorii, ta nie jest wyświetlana.
Ten jest trochę poza moim zasięgiem, ponieważ każde polecenie (dpkg, apt-get itp.) Zawsze zwraca dobre wyjście, gdy mówią, że pakiet nie jest zainstalowany, więc musimy przeczytać wyjście z tej aplikacji, szukając ciąg (fi „niezainstalowany”), sprawdź go, a jeśli ciąg istnieje, oznacza to, że aplikacja nie została zainstalowana, a pulpit można usunąć.
Jeśli chcesz, możesz po prostu wejść do folderu (/ usr / share / applications) i kliknąć pliki odpowiadające programom. Znikną z menu Aplikacje. Aby to zrobić automatycznie, potrzebuję dobrego skryptu bash na ścieżce, którą powiedziałem.
Mam nadzieję, że to w jakiś sposób pomoże.
źródło
Alternatywny:
Po odpowiedzi @ ændrük, oto podobne rozwiązanie, które obsługuje spacje w ścieżce i podfolderach , można tego użyć w określonym folderze lub na całym dysku do wyszukiwania uszkodzonych
.desktop
plików (skrót)Dla całego dysku
Uwaga: każda metoda może pokazywać fałszywie pozytywne sprawdzenie dwukrotnie znalezionych plików przed ich usunięciem
źródło
To może być stare pytanie, ale pomyślałem, że i tak powinienem zadzwonić, ponieważ miałem ten sam problem, jednak żadna z tych sugestii nie zadziałała, ale znalazłem w Internecie bardzo inteligentną osobę, która znała program o nazwie Alacarte (łatwa edycja menu GNOME) program został zainstalowany za pomocą menedżera oprogramowania i jestem podekscytowany, że nadal jest dostępny, ponieważ domyślnie był używany, ale nie jest teraz i nie jest dobrze znanym programem, ale cieszę się, że jest nadal dostępny za pośrednictwem menedżera oprogramowania i jest tak łatwy w użyciu wystarczy kliknąć, aby podświetlić pozycję odinstalowanego programu, którego chcesz się pozbyć, i kliknij Usuń po prawej stronie i gotowe. może to pomoże, jeśli te inne sugestie nie działają dla Ciebie
źródło