Вы можете использовать следующую команду для отображения значков приложений, которые ссылаются на несуществующие программы:
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/ в Nautilus и уничтожить их через графический интерфейс.