Автор Тема: Пустые переменные XDG_DATA_DIRS и XDG_CONFIG_DIR в ALW p9 и p10 - баг или фича?  (Прочитано 623 раз)

Оффлайн N0rbert

  • Давно тут
  • **
  • Сообщений: 105
Обнаружил, что переменные окружения XDG_DATA_DIRS и XDG_CONFIG_DIR не инициализированы на чистой максимально полной установке ALTLinux Workstation p9 и p10 со всеми обновлениями. И на StarterKit MATE p10 тоже, но это не так важно.

Как предлагается уведомлять систему и рабочий стол MATE о наличии ярлыков и MIME-ассоциаций из /usr/local/share?
Пользователь или администратор парка компьютеров сам должен добавлять какой-то файл в /etc/profile.d/ или /etc/X11/Xsession.d/?

Для сравнения состояние этих переменных на свежей установке Ubuntu MATE 20.04 LTS такое:

$ export | grep -E "XDG_(CONFIG|DATA)"
declare -x XDG_CONFIG_DIRS="/etc/xdg/xdg-mate:/etc/xdg"
declare -x XDG_DATA_DIRS="/usr/share/mate:/usr/local/share:/usr/share:/var/lib/snapd/desktop"

В этом контексте Snap и Flatpak не обсуждаю, т.к. оба работоспособны в p10, а в p9 для второго в MATE достаточно выполнить sudo chmod +x /etc/profile.d/flatpak.sh (обход бага 38397).

Определены переменные в UM с нужным содержимым в следующих конфигурационных файлах:

$ grep -Er "XDG_(CONFIG|DATA)_DIR.*local" /etc/ 2>/dev/null
/etc/profile.d/apps-bin-path.sh:    export XDG_DATA_DIRS="/usr/local/share:/usr/share"
/etc/openal/alsoft.conf:#  $XDG_DATA_DIRS/openal/hrtf  (defaults to /usr/local/share/openal/hrtf and
/etc/X11/Xsession.d/55mate-session_materc:      XDG_DATA_DIRS=/usr/share/mate:/usr/local/share/:/usr/share/
/etc/X11/Xsession.d/60x11-common_xdg_path:DEFAULT_XDG_DATA_DIRS='/usr/local/share/:/usr/share/'

« Последнее редактирование: 13.07.2022 13:45:18 от N0rbert »

Оффлайн Антон Мидюков

  • alt linux team
  • ***
  • Сообщений: 4 696
  • antohami@
If $XDG_CONFIG_DIRS is either not set or empty, a value equal to /etc/xdg should be used.
If $XDG_DATA_DIRS is either not set or empty, a value equal to /usr/local/share/:/usr/share/ should be used.

Оффлайн N0rbert

  • Давно тут
  • **
  • Сообщений: 105
$ lsb_release -a
No LSB modules are available.
Distributor ID: Debian
Description: Debian GNU/Linux bookworm/sid
Release: testing
Codename: bookworm
$ export | grep -E "XDG_(CONFIG|DATA)"
declare -x XDG_DATA_DIRS="/usr/share/mate:/usr/local/share/:/usr/share/"

Сделайте, пожалуйста, просто также в ALT.

Текущая реализация приводит к потере ярлыков из /usr/local/share/applications.
« Последнее редактирование: 13.07.2022 17:08:43 от N0rbert »

Оффлайн Антон Мидюков

  • alt linux team
  • ***
  • Сообщений: 4 696
  • antohami@
Сделайте, пожалуйста, просто также в ALT.

Текущая реализация приводит к потере ярлыков из /usr/local/share/applications.

Повесьте баг на mate-session.

Оффлайн N0rbert

  • Давно тут
  • **
  • Сообщений: 105

Оффлайн N0rbert

  • Давно тут
  • **
  • Сообщений: 105
На своих системах пока сделаю так

cat << \EOF | sudo tee /etc/profile.d/mate.sh
if [ "$DESKTOP_SESSION" == "mate" ]; then
  if [ -z "$XDG_DATA_DIRS" ]; then
    XDG_DATA_DIRS=/usr/share/mate:/usr/local/share/:/usr/share/
  else
    XDG_DATA_DIRS=/usr/share/mate:"$XDG_DATA_DIRS"
  fi
  export XDG_DATA_DIRS

  if [ -z "$XDG_CONFIG_DIRS" ]; then
    export XDG_CONFIG_DIRS=/etc/xdg/xdg-mate:/etc/xdg
  fi
fi

EOF
sudo chmod +x /etc/profile.d/mate.sh

Но все же продолжаю надеяться на официальное решение проблемы на уровне RPM-пакета.
« Последнее редактирование: 18.07.2022 13:27:01 от N0rbert »