, я знаю, что если вы хотите добавить запись .desktop, ее нужно добавить в / usr / share / applications
, однако я хочу добавить дополнительную папку, в которой могут размещаться файлы .desktop.
Если я запустил update-desktop-database, вы увидите, что такие программы, как snapd или flatpak, создают свои собственные каталоги, в которых они размещают свои .desktop.
The databases in [/usr/share/ubuntu/applications, /home/cactus/.local/share/flatpak/exports/share/applications, /var/lib/flatpak/exports/share/applications, /usr/local/share/applications, /usr/share/applications, /var/lib/snapd/desktop/applications] could not be updated.
Моя идея состоит в том, чтобы добавить папку / opt / applications
где я могу сохранить .desktop моих самкомпилированных приложений.
Файлы ввода рабочего стола должны находиться в
$ XDG_DATA_DIRS / applications
{ {1}} и должен иметь расширение файла .desktop. Если$ XDG_DATA_DIRS
1 не установлен, то используется путь по умолчанию/ usr / share
. Это также означает, что пользовательские записи на рабочем столе могут быть расположены по адресу$ XDG_DATA_HOME / applications
, поиск по которому выполняется в первую очередь. Если$ XDG_DATA_HOME
не задан, используется путь по умолчанию~ / .local / share
. Записи рабочего стола собираются из всех каталогов в переменной среды$ XDG_DATA_DIRS
. Каталогам, которые появляются первыми в$ XDG_DATA_DIRS
, предоставляется приоритет, если имеется несколько файлов .desktop с одинаковым именем .1
$ XDG_DATA_DIRS
- это переменная среды, определенная в спецификации базового каталога XDG .
Итак, если $ XDG_DATA_HOME
не говорит иначе, вы можете разместить файлы .desktop для каждого пользователя в ~ / .local / share / applications
. Если вам нужно настраиваемое расположение для всей системы, вы можете добавить его в $ XDG_DATA_DIRS
например.
XDG_DATA_DIRS=/opt:$XDG_DATA_DIRS
См. Также Спецификация базового каталога XDG
Не фундаментальный ответ на ваш фактический вопрос (например, как добавить свой собственный каталог для размещения средств запуска .desktop), но я предлагаю вам использовать / usr / local / share / applications
для запуска ваших самокомпилированных приложений, которые должны быть доступны для всей системы.
Этот каталог настроен по умолчанию в Ubuntu в XDG_DATA_DIRS
, и его цель - именно то, что вы ищете, т.е. сделать ваши вручную установленные файлы .desktop
доступными в папке системы меню любого пользователя.
Вы можете использовать ~ / .local / share / applications
в домашней папке вашего пользователя, чтобы хранить файлы .desktop
, которые вы хотите доступны только для этого пользователя.