XDG. Пользовательские каталоги

Пользовательские каталоги по стандарту XDG.

Содержание

1 Общая информация

  • Стандарт XDG задаёт стандартные имена для пользовательских каталогов (см. XDG. Каталоги).

2 Программы

2.1 Создание каталогов

  • Для создания каталогов стандарта XDG служит программа xdg-user-dirs-update.

2.2 Запрос имён каталогов

  • Программа xdg-user-dir служит для запроса имён каталогов, соответствующих стандартным переменным.
  • Например, для получения каталога для переменной XDG_TEMPLATES_DIR (это каталог, содержащий шаблоны):
    1xdg-user-dir TEMPLATES
    

3 Конфигурационные файлы

  • Включение использования каталогов XDG и их кодировка задаются в файлах:
    • /etc/xdg/user-dirs.conf: уровень системы;
    • ~/.config/user-dirs.conf: уровень пользователя.
    • Содержание данного файла имеет вид:
      1enabled=True
      2filename_encoding=UTF-8
      
  • Имена каталогов по умолчанию (системный уровень) находятся в файле /etc/xdg/user-dirs.defaults:
     1# Default settings for user directories
     2#
     3# The values are relative pathnames from the home directory and
     4# will be translated on a per-path-element basis into the users locale
     5DESKTOP=Desktop
     6DOWNLOAD=Downloads
     7TEMPLATES=Templates
     8PUBLICSHARE=Public
     9DOCUMENTS=Documents
    10MUSIC=Music
    11PICTURES=Pictures
    12VIDEOS=Videos
    13# Another alternative is:
    14#MUSIC=Documents/Music
    15#PICTURES=Documents/Pictures
    16#VIDEOS=Documents/Videos
    
  • Локальный файл конфигурации ~/.config/user-dirs.dirs используется для явного задания имён каталогов.
    • Например, файл ~/.config/user-dirs.dirs со стандартными английскими названиями:
      1XDG_DESKTOP_DIR="$HOME/Desktop"
      2XDG_DOCUMENTS_DIR="$HOME/Documents"
      3XDG_DOWNLOAD_DIR="$HOME/Downloads"
      4XDG_MUSIC_DIR="$HOME/Music"
      5XDG_PICTURES_DIR="$HOME/Pictures"
      6XDG_PUBLICSHARE_DIR="$HOME/Public"
      7XDG_TEMPLATES_DIR="$HOME/Templates"
      8XDG_VIDEOS_DIR="$HOME/Videos"
      
    • Редактировать этот файл можно как непосредственно, так и с помощью утилиты xdg-user-dirs-update.
    • Например, зададим значение XDG_DOWNLOAD_DIR как $HOME/Internet:
      1xdg-user-dirs-update --set DOWNLOAD ~/Internet
      
  • Локальный файл конфигурации ~/.config/user-dirs.locale используется для явной установки локали.

4 Локализация названий каталогов

  • Иногда русские названия стандартных каталогов не очень удобны. Например, при работе в консоли приходится переключать язык.

  • Для принудительного создания каталогов с английскими именами можно использовать:

    1LC_ALL=en_US xdg-user-dirs-update --force
    
  • Для фиксации локали для каталогов нужно задать её в файле конфигурации:

    1echo 'en_US' > ~/.config/user-dirs.locale
    
    • После этого надо пересоздать каталоги:
      1LC_ALL=en_US xdg-user-dirs-update --force
      

Дмитрий Сергеевич Кулябов
Дмитрий Сергеевич Кулябов
Профессор кафедры теории вероятностей и кибербезопасности

Мои научные интересы включают физику, администрирование Unix и сетей.

Похожие