Настройка freedesktop.org в МОС

Материал из IT в школе
Версия от 13:14, 23 декабря 2022; Dkirienko (обсуждение | вклад) (Исправил имя файла kxkbrc)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к навигацииПерейти к поиску


Freedesktop.org - проект по стандартизации графического интерфейса для операционных систем POSIX. Ранее также был известен под названием XDG - X Desktop Group, такую аббревиатуру можно встретить в именах разных файлов.

Примеры того, что можно настроить через freedesktop.org:

  • Переключение раскладок клавиатуры.
  • Браузер по умолчанию.
  • Ассоциации с типами файлов.

В операционной системе МОС установлены два пакета mos-xdg-core и mos-xdg-plasma5-classic, добавляющие свои настройки в каталог /etc/xdg/mos. Например, там включены такие настройки:

  • Переключение раскладок клавиатуры в файле kxkbrc
  • Выбор темы, браузера и прочих настроек KDE в файле kdeglobals
  • Настройка ассоциаций файлов MS Office по умолчанию с приложением r7-office в файле mimeapps.list

Ниже описана процедура, как сделать собственные настройки системы для всех пользователей, перекрывающие настройки МОС.

Пути к каталогам, где хранятся настройки xdg, хранятся в переменной окружения $XDG_CONFIG_DIRS. Проверить значение этой переменной можно в консоли используя команду

$ echo $XDG_CONFIG_DIRS

Добавим в эту переменную собственный каталог с настройками, допустим, это будет каталог /etc/xdg/local. Для этого создадим файл /etc/profile.d/00-local.sh используя текстовый редактор, например, mcedit или nano под пользователем root.

# mcedit /etc/profile.d/00-local.sh

В каталоге /etc/profile.d/ хранятся скрипты инициализации, которые будет запускаться под пользователем. Скрипты запускаются в порядке имён файлов, поэтому мы дали ему название 00-local.sh, чтобы он исполнялся в начале. Добавьте в этот файл строчку, которая добавляет в переменную окружения XDG_CONFIG_DIRS дополнительный каталог /etc/xdg/local

XDG_CONFIG_DIRS="/etc/xdg/local:$XDG_CONFIG_DIRS"

Также можете добавить и другие команды, которые вы хотите запускать при входе пользователя в систему, в этот скрипт.

Сделайте этот файл исполняемым.

# chmod +x /etc/profile.d/00-local.sh

Проверьте, что после входа пользователя в систему переменная $XDG_CONFIG_DIRS содержит каталог /etc/xdg/local перед каталогом /etc/xdg/mos.

Теперь создайте каталог /etc/xdg/local, в котором будут храниться ваши дополнительные настройки xdg.

# mkdir /etc/xdg/local

Теперь скопируйте в этот каталог файлы настроек МОС из каталога /etc/xdg/mos и отредактируйте их по своему вкусу.

Например, чтобы "оторвать" привязку файлов MS Office к r7-office, скопируйте файл mimeapps.list

# cp /etc/xdg/mos/mimeapps.list /etc/xdg/local/

Откройте файл в редакторе, например, mcedit или nano:

# mcedit /etc/xdg/local/mimeapps.list

Удалите из всех строчек текст r7-office-desktopeditors.desktop;onlyoffice-desktopeditors.desktop;

Должно получиться что-то вроде (удалены комментарии, начинающиеся с "#"):

# Prefer R7 or OnlyOffice and fallback to LibreOffice 
text/csv=calc.desktop; 
application/msword=writer.desktop 
application/rtf=writer.desktop 
application/vnd.ms-excel=calc.desktop; 
application/vnd.openxmlformats-officedocument.spreadsheetml.sheet=calc.desktop 
application/vnd.openxmlformats-officedocument.spreadsheetml.template=calc.desktop; 
application/vnd.openxmlformats-officedocument.wordprocessingml.document=writer.desktop; 
application/vnd.openxmlformats-officedocument.wordprocessingml.template=writer.desktop; 
application/vnd.ms-powerpoint=impress.desktop; 
application/vnd.openxmlformats-officedocument.presentationml.presentation=impress.desktop; 
application/vnd.openxmlformats-officedocument.presentationml.slideshow=impress.desktop; 
application/vnd.openxmlformats-officedocument.presentationml.template=impress.desktop;

Если вы хотите изменить настройки раскладки клавиатуры, скопируйте файл kxkbrc и отредактируйте его

# cp /etc/xdg/mos/kxkbrc /etc/xdg/local/
# mcedit /etc/xdg/local/kxkbrc