Як я можу знайти * .desktop файли?


85

Наскільки мені відомо, усі ярлики у запуску Unity мають відповідний * .desktop файл. У мене є один ярлик (для skrooge ), який не має піктограми. Як я можу знайти * .desktop файл, відповідний цьому ярлику, щоб я міг додати його до нього?

Відповіді:


113

Це, мабуть, сидить, /usr/share/applications/але якщо ви хочете знайти кожен .desktopфайл у системі, виконайте наступне:

find / -name '*.desktop'

або

sudo updatedb
locate *.desktop

Щоб знайти файли з "skrooge" на їх шляху чи імені, додайте команду grep :

locate *.desktop | grep -iR "skrooge"

20
locate -i "*skrooge*.desktop". Хоча в основному є три місця, єдність буде шукати файли на робочому столі. ~/.local/share/applications, /usr/local/share/applicationsі /usr/share/applications. Якщо в декількох місцях є файли настільних ПК для однієї і тієї ж команди, вона використовуватиме більшість з трьох із перерахованих я списків.
geirha

Показано як /usr/share/applications/kde4/skrooge.desktop. Дякую. :)
KOVIKO

33

Система зберігає файли .desktop у /usr/share/applications/. На жаль, якщо ви відкриєте цю папку в nautilus, файли .desktop з'являються із значком, зазначеним у файлі, та з ім'ям файлу, викликаним у файлі. Вам також не дозволять редагувати ці файли, натискаючи на них та вибираючи редагувати.

Щоб редагувати ці файли, вам потрібно відкрити цю папку у вікні терміналу. Виконання lsкоманди покаже всі .desktop файли з їх власними іменами. Коли ви знайдете .desktop, який хочете змінити, запустіть gksudo gedit {file-name}.desktop.

Звичайна практика зберігати будь-які файли .desktop, які ви створюєте чи редагуєте, у своїй домашній папці ~/.local/share/applications.


Запуск з терміналу для деяких може бути зручнішим, але також можна перетягнути з nautilus в gedit або інший текстовий редактор.
Джон Ханна

в чому сенс каталогу "~ / .local / share / applications"? Файли там, здається, не використовуються, я не можу додати їх як "ярлик" до Unity.
Малахіаш

2
@Malachiasz Насправді файли * .desktop ~/.local/share/applicationsперезавантажуються при перезапуску сеансу. Отже, вийдіть із системи та увійдіть знову. Зверніть увагу, що вони є специфічними для цього користувача.
akshay2000

Я також знайшов це запитання і відповіді тут на сайті корисним: Як змусити Unity перезавантажити ~ / .local / share / applications /
hakre

8

Деякі додаткові деталі для доповнення інших відповідей:

Зазвичай .desktopфайли для пакетів будуть розміщені в /usr/share/applications.

Якщо хочете, ви можете скопіювати його ~/.local/share/applicationsта відредагувати його там, не потребуючи судо . Елементи ~/.local/share/applicationsбудуть перевизначати відповідні пункти в /usr/share/applicationsі /usr/local/share/applications, але видно тільки своєму користувачеві.

Крім того, ви можете розмістити відредаговану копію /usr/local/share/applicationsтам, де вона буде заміняти будь-яку іншу, в /usr/share/applicationsтой час як вона буде видимою для всієї системи.

Зауважте, що не слід редагувати .desktopфайли /usr/share/applicationsбезпосередньо; будь-які внесені вами зміни будуть автоматично замінені, коли додаток оновиться менеджером пакунків.

Витягнуто звідси


+1, найповніша відповідь з усіх
Джон Бентлі,
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.