Відповіді:
Цей список створюється шляхом аналізу файлів .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
і інші)Таким чином, у нас є три "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
зможете видалити копії з цих двох місць. Це зробило це для мене.
Визнання цієї теми є старою, я сам був вражений цим питанням. Я особисто вважав, що видалення файлів або відтворення «очищення» було непотрібним, як це було просто налаштування речей для поточного користувача. Якщо є більше .desktop-файлу, чи не кожен може мати унікальний опис? Що стосується Linux, чи певні розробники додатків справді не помітили таких простих речей?
Я виявив, що якщо ви відкриєте .desktop файли в текстовому редакторі, поле Ім'я - це те, що відображається в меню "Відкрити за допомогою". Тож для мене я шукав файли .desktop, за якими я знав, що створюють проблему (наприклад, 3 файли Banshee). Дивлячись на кожен, різниця майже завжди стосувалася того, з якими міметиками обробляється ярлик. Це відбувається тому, що деякі програми вважають за краще передавати різні параметри залежно від міметику. Лише в 1 екземплярі я знайшов повторювані записи в результаті оновлення програми, не очищаючи старий файл .desktop
Озброївшись цим відкриттям, я змінив поля Ім'я відомих повторюваних записів, щоб відобразити це. Наприклад, редагуючи .desktop-файл Banshee, призначений спеціально для обробки аудіо компакт-дисків , я зробив так, щоб ім'я було прочитано як таке:
Банші (аудіо CD)
Rhythmbox також є хорошим прикладом, оскільки він має окремий файл .desktop, призначений спеціально для роботи з CD-програвачами + MP3-програвачами, але кожен показує те саме. Я здогадуюсь, що 1 файл завантажує додаток і фокусує увагу на блоці, а не на бібліотеці. Це варто перейменувати, тому що ви не хочете, щоб це сталося під час обробки ваших файлів MP3 / OGG.
У будь-якому випадку, я думаю, що це робить меню «Відкрити» з чистим, не видаляючи лише файли, які здаються корисними. Незалежно від того, чи зберігаються ці зміни між оновленнями додатків, ще не з'ясовано ... але це прості та швидкі редагування, які можна було б навіть прописати. Шкаралупа надзвичайно допомагає в цьому випадку. Наприклад, щоб побачити всі назви файлів (з контуром) з такими повторюваними записами:
grep -rl "^Name=Banshee$" /usr/share/applications
Де "Banshee" - це, звичайно, те, що не раз відображається в меню "Відкрити". У наведеному вище прикладі додаток називався Geany.
За допомогою цього ви можете надіслати отримані файли прямо до свого редактора. Якщо ви не експерт у виразах reg, ^ та $ вказуйте початок рядка та кінець рядка відповідно. Це заважає системі знаходити рядки на кшталт XGnome-FullName=Banshee Media Player
Це також заважає їй знаходити записи, які ви, можливо, вже виправили.
Ви також можете заглянути в редактор меню "Програми" Gnome та видалити звідти копії.
jhbuild.desktop
іmimeapps.list
в ~ / .local / share / застосунках . І в / usr / share / застосуванні немає жодної дупи , і я все ще відчуваю проблему.