Я предоставляю некоторые приложения пользователям своей системы с помощью диспетчера модулей среды (например, Lmod ). Итак, у меня есть куча самокомпилированных приложений из стандартного дерева: например, предположим, что у меня есть программное обеспечение, установленное в / software
. Среди этих приложений есть некоторые из них, которые предоставляют записи .desktop
. В качестве примера предположим, что я перекомпилировал более свежую версию evince: /software/evince/2.32
, так что у меня соответственно /software/evince/2.32/bin
/ software / evince / 2.32 / lib
/software/evince/2.32/share/applications/evince.desktop
.
В файлах модулей
вы должны добавить к PATH, LD_LIBRARY_PATH
и т. Д. Путь к самокомпилированным приложениям таким образом, чтобы при выполнении загрузка модуля evince
, тогда в $ PATH
у вас будет более свежая версия.
Я хотел бы сделать то же самое с записями рабочего стола
, чтобы иметь возможность предоставлять пользователям дополнительные (или более современные) приложения рабочего стола. Есть ли переменная env, которую я могу обновить, чтобы WM могла получать файлы рабочего стола
из дополнительных каталогов?
Есть два способа сделать это:
Первый вариант — обновить переменную $XDG_DATA_DIRS
. Однако ваши файлы .desktop
должны находиться в каталоге $XDG_DATA_DIRS/applications/
. Итак, вам нужно создать каталог /software/applications
для файлов .desktop
и добавить /software
к $XDG_DATA_DIRS
. После этого запустите команду update-desktop-database
для обновления кешей. Это обеспечивается пакетом desktop-utils
.
Другой вариант — запустить xdg-desktop-menu install
для файлов .desktop
. Эта программа является частью xdg-utils
и автоматически позаботится о любых нестандартных средах -и может быть запущена обычным пользователем. Это также упрощает удаление, так как вы можете просто запустить xdg-desktop-menu uninstall
. Подробности см. в man xdg-desktop-menu
.
Лично я рекомендую использовать различные xdg-utils
программы для любых обновлений, связанных с рабочим столом. С ними гораздо проще иметь дело, чем возиться с переменными окружения.