XDG user directories (Русский)
Из freedesktop.org:
- xdg-user-dirs - это инструмент, помогающий управлять пользовательскими каталогами, такими как папка рабочего стола и папка с музыкой. Он также обрабатывает локализацию (перевод) имен файлов.
- Это работает благодаря раннему старту xdg-user-dirs-update(1). Программа считывает файл конфигурации и набор каталогов по умолчанию. Затем создаёт их локализованные версии в домашнем каталоге пользователя и настраивает конфигурационный файл в
$XDG_CONFIG_HOME/user-dirs.dirs
(XDG_CONFIG_HOME
, по умолчанию~/.config
), который приложения могут читать, чтобы найти эти каталоги.
Большинство файловых менеджеров отмечают пользовательские каталоги XDG специальными значками.
Установка
Установите пакет xdg-user-dirs.
Создание каталогов по умолчанию
Следующая команда автоматически создаст локализованные пользовательские каталоги в $HOME
:
$ xdg-user-dirs-update
LC_ALL=C xdg-user-dirs-update --force
.Также эта команда:
- создаёт локальный файл конфигурации
~/.config/user-dirs.dirs
, который используется приложениями для поиска и использования каталогов текущего аккаунта; - создаёт локальный файл конфигурации
~/.config/user-dirs.locale
, который используется для установки языка в соответствии с используемой локалью.
Также есть пользовательская служба xdg-user-dirs-update.service
, которая включена по умолчанию и поддерживает каталоги в актуальном состоянии, выполняя эту команду в начале каждого сеанса при входе в систему.
Создание пользовательских каталогов
Как локальные ~/.config/user-dirs.dirs
, так и глобальные /etc/xdg/user-dirs.defaults
файлы конфигурации используют формат переменных окружения, чтобы указать на пользовательские каталоги:XDG_DIRNAME_DIR="$HOME/directory_name"
. Пример файла конфигурации:
~/.config/user-dirs.dirs
XDG_DESKTOP_DIR="$HOME/Рабочий стол" XDG_DOCUMENTS_DIR="$HOME/Документы" XDG_DOWNLOAD_DIR="$HOME/Загрузки" XDG_MUSIC_DIR="$HOME/Музыка" XDG_PICTURES_DIR="$HOME/Изображения" XDG_PUBLICSHARE_DIR="$HOME/Общедоступные" XDG_TEMPLATES_DIR="$HOME/Шаблоны" XDG_VIDEOS_DIR="$HOME/Видео"
Поскольку xdg-user-dirs считывает локальный файл конфигурации для поиска пользовательских каталогов, вы можете прописать сюда свои собственные пути. Например, если пользовательская папка для переменной XDG_DOWNLOAD_DIR
была названа $HOME/Internet
в ~/.config/user-dirs.dirs
, любое приложение, использующее эту переменную, будет использовать этот каталог.
Также можно задать пользовательские папки с помощью командной строки. Например, следующая команда даст тот же результат, что и ручное редактирование файла конфигурации в примере выше:
$ xdg-user-dirs-update --set DOWNLOAD ~/Internet
Запрос настроенных каталогов
После установки любой пользовательский каталог можно посмотреть с помощью xdg-user-dirs. Например, следующая команда покажет местоположение каталога Шаблоны
, которое соответствует переменной XDG_TEMPLATES_DIR
в локальном файле конфигурации:
$ xdg-user-dir TEMPLATES