Как удалить повторяющиеся записи в диалоговом окне «Открыть с помощью» Nautilus?

Было бы неплохо показать волшебную кнопку, которая поможет мне удалить это бельмо на глазу:

alt text

Это Nautilus 2.30 на Debian (и был там в предыдущих версиях, насколько я помню).

6 Solutions collect form web for “Как удалить повторяющиеся записи в диалоговом окне «Открыть с помощью» Nautilus?”

Этот список создается путем анализа файлов .desktop, расположенных по адресу:

/usr/share/applications ~/.local/share/applications 

Для каждого приложения может быть более одного приложения, например, медиаплеер banshee который по умолчанию имеет три файла .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 : Аудио CD
  • banshee-1-media-player.desktop (также используется rhythmbox , vlc и другими)

Итак, у нас есть три «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 ).

Если у вас действительно нет дубликатов в этих двух папках, попробуйте удалить любые дубликаты из alacarte или сыграть с опцией Hidden=true в соответствующих файлах .desktop.

Если вы посмотрите в ~/.local/share/applications и /usr/share/applications вы можете удалить дубликаты из этих двух мест. Это сделало это для меня.

Я знаю, что эта ветка старая, но это вызвано вином для многих.

 rm ~/.local/share/applications/wine-extension* 

очистил этот беспорядок для меня.

Признание этой темы устарело, я сам был озадачен этим вопросом. Я лично чувствовал, что удаление файлов или «очистка» было ненужным, так как это просто настройка для текущего пользователя. Если есть более 1 файла .desktop, не может ли каждый иметь уникальное описание? Насколько Linux пришел, некоторые разработчики приложений действительно упускают из виду простые вещи вроде этого?

Я обнаружил, что если вы открываете файлы .desktop в текстовом редакторе, поле « Имя» отображается в меню «Открыть с». Поэтому для меня я искал файлы .desktop, которые, как я знал, создавали проблему (например, 3 файла Banshee). Рассматривая каждую из них, разница почти всегда была связана с тем, какие операции mimetypes обрабатываются. Это связано с тем, что некоторые программы предпочитают передавать разные параметры в зависимости от типа mimetype. Только в 1 экземпляре я обнаружил дубликаты записей в результате обновления приложения, не очистив его старый файл .desktop

Вооружившись этим открытием, я изменил поля Name известных дубликатов записей, чтобы отразить это. Например, редактирование файла .desktop Banshee специально предназначено для обработки Audio CD , я сделал это имя следующим:

Банши (аудио CD)

Rhythmbox также является хорошим примером, так как он имеет отдельный файл .desktop специально для работы с CD + MP3-плеерами, но каждый из них отображается одинаково. Я предполагаю, что 1 файл загружает приложение и ставит фокус на устройство, а не на вашу библиотеку. Поэтому стоит переименовать, так как вы не хотите, чтобы это происходило при работе с файлами MP3 / OGG.

Во всяком случае, я думаю, что это делает меню Open With чистым, даже не удаляя файлы, которые кажутся вам полезными. Независимо от того, сохраняются ли эти изменения между обновлениями приложений, еще не видно … но это простые и быстрые изменения, которые могут даже быть написаны сценарием. В этом случае оболочка очень помогает. Например, чтобы увидеть все имена файлов (с помощью пути) с такими повторяющимися записями:

 grep -rl "^Name=Banshee$" /usr/share/applications 

Где «Банши», конечно, то, что появляется не один раз в меню «Открыть с». В приведенном выше примере приложение было названо Geany.

При этом вы можете отправить результирующие файлы прямо в ваш редактор. Если вы не являетесь экспертом в выражениях reg, то ^ и $ определяют начало строки и конец строки, соответственно. Это позволяет системе находить такие строки, как XGnome-FullName=Banshee Media Player Это также предотвращает поиск записей, которые вы, возможно, уже исправили.

Вид выстрела в темноте, но вы попытались нажать на одну из записей и нажать кнопку «Удалить», как показано на скриншоте? Если это удалит все записи, вы можете просто добавить их повторно.

Вы также можете посмотреть в редакторе меню «Приложения» Gnome и удалить дубликаты здесь.

Interesting Posts
Linux и Unix - лучшая ОС в мире.