Два из того же приложения в “открытом с” опцией

Когда я щелкаю правой кнопкой по файлу->, нажимают "Properties"->, нажимают "Open with", существует две или еще больше опций того же приложения!

Screenshot

Как Вы видите, существует два "gedit", три "Файла", и так далее. Это, как предполагается, происходит, действительно ли они отличаются, или это не нормальное поведение? Если этого, как предполагается, не происходит, как я могу зафиксировать это?

1
задан 22 February 2017 в 16:08

1 ответ

Это - старая проблема, которую спросили и отвечали много раз за прошлые несколько лет.

Вот ответ от Unix. SE:

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

Таким образом, у нас есть три 'Банши Media Player' в 'Открытый с' списком (и возможно также в 'Главном меню').

Другой способ заполнить это пространство путем создания персональных .desktop файлов в ~/.local/share/applications. Или вручную или при помощи инструмента. alacarte (или щелкните правой кнопкой по 'Main Menu'-> 'Edit Menu'), один из тех.

Каждый раз Вы создаете или перемещаете приложение в alacarte, новый .desktop файл помещается внутри ~/.local/share/applications. Отключение приложения "удалит" его из 'Главного меню', но не из 'Открытый с' списком. Но кнопка 'Delete' делает путем создания идентичной копии с /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 файлах.

1
ответ дан 7 December 2019 в 15:39

Другие вопросы по тегам:

Похожие вопросы: