X resources (Русский)

Состояние перевода:
На этой странице представлен перевод статьи
X resources
. Дата последней синхронизации: 30 мая 2023. Вы можете
помочь
синхронизировать перевод, если в английской версии произошли
изменения
.
Ссылки по теме
X Logical Font Description
dotfiles
Xresources
— настраиваемый пользователем
dotfile
, обычно находящийся по пути
~/.Xresources
. Он может быть использован для установки
ресурсов X
— настроек для клиентских приложений X.
Они могут сделать много операций, в том числе:
настроить параметры терминала (например, цвета)
задать DPI монитора, сглаживание (antialiasing), хинтование (hinting) и другие настройки шрифтов X
изменить
тему Xcursor
установить тему
XScreenSaver
изменять предпочтения низкоуровневых приложений X (xclock (
xorg-xclock
),
xpdf
,
rxvt-unicode
, и т.д.)
Установка
Установите
пакет
xorg-xrdb
.
Использование
Загрузка файла ресурсов
Ресурсы хранятся на X-сервере, поэтому файлы ресурсов достаточно прочитать всего один раз. Они также доступны для
удалённых
клиентов X11 (например, при
пробросе X11 через SSH
).
Загрузка файла ресурсов (например, общепринятого
.Xresources
) с заменой всех текущих настроек:
$ xrdb
~/.Xresources
Загрузка файла ресурсов и объединение с текущими настройками:
$ xrdb -merge
~/.Xresources
Примечание
Большинство
экранных менеджеров
автоматически загружают файл
~/.Xresources
при входе.
Старый файл
~/.Xdefaults
считывается при запуске программы X11, но только если команда
xrdb
не использовалась в текущем сеансе.
[1]
xinitrc
Если вы используете копию стандартного
xinitrc
в качестве
.xinitrc
, в нём уже прописано объединение с ресурсами из
~/.Xresources
.
Если у вас свой
.xinitrc
, добавьте в него следующую строку:
[[ -f ~/.Xresources ]] && xrdb -merge -I$HOME ~/.Xresources
Примечание
Не прописывайте запуск
xrdb
в фоне в вашем
~/.xinitrc
, иначе появится вероятность, что последующие программы запустятся до того, как работающий в фоне xrdb успеет загрузить все ресурсы.
Настройки по умолчанию
Для просмотра настроек по умолчанию для установленных приложений X11, смотрите
/usr/share/X11/app-defaults/
.
Подробная информация о конкретных программных ресурсах, как правило, предоставляется на страницах руководства программ (man). Хорошим примером является руководство xterm, так как оно содержит список ресурсов Х и их значения по умолчанию.
Чтобы увидеть текущие загруженные ресурсы:
$ xrdb -query -all
Синтаксис Xresources
Основной синтаксис
Файл Xresources состоит из строк в таком формате:
имя.Класс.ресурс: значение
Подстрока
ресурс
может содержать дополнительные разделители-точки (
имя
и
Класс
никогда не содержат разделители). Например,
Dialog.bodyFont
— это внутренний ресурс
XScreenSaver
, позволяющий задать шрифт:
xscreensaver-auth.default.Dialog.bodyFont: times new roman 12, dejavu serif 12
имя
Название приложения, такое как xterm, xpdf и т.д.
класс
Классификация используется для объединения ресурсов вместе. Имена классов, как правило, в верхнем регистре.
ресурс
Название ресурса, значение которого должно быть изменено. Ресурсы как правило в нижнем регистре, а при конкатенации слов используется верхний регистр.
значение
Фактическое значение ресурса. Это может быть 1 из 3-х типов:
Integer (целые числа)
Boolean (true/false, yes/no, on/off (т.е. верно/неверно, да/нет, вкл/выкл)
String (строка символов) (например слово (
white
), цвет (
#ffffff
), или путь (
/usr/bin/firefox
))
разделители
Точка (
.
) используется для обозначения каждого шага вниз по иерархии — в приведённом выше примере мы начали с имени, затем спустились до класса и, наконец, до ресурса. Двоеточие (
:
) используется, чтобы отделить описание ресурса от его значения.
Примечание
Подробнее о синтаксисе файла Xresources можно прочитать в
XrmGetDatabase(3) § FILE_SYNTAX
.
Сопоставление по шаблону
Можно использовать вопросительный знак
?
и звёздочку
*
в качестве шаблона, что позволяет написать одно правило, которое будет применено сразу ко многим приложениям или элементам. Вопросительный знак соответствует одному компоненту, а звёздочка соответствует любому количеству промежуточных компонентов, в том числе нулю.
Воспользуемся предыдущим примером, если вы хотите применить тот же шрифт для всех программ (не только для XScreenSaver) которые содержат имя класса
Dialog
, и которое содержит имя ресурса
headingFont
, 
можно записать так:
?
.Dialog.headingFont:     -*-fixed-bold-r-*-*-*-100-*-*-*-*-iso8859-1
Если вы хотите применить это правило для всех программ, которые содержат ресурс
headingFont
, независимо от его класса, вы можете написать:
*
headingFont:    -*-fixed-bold-r-*-*-*-100-*-*-*-*-iso8859-1
Подробнее можно прочитать в
XrmGetResource(3) § MATCHING_RULES
.
Комментарии
Строки, начинающиеся с восклицательного знака (
!
), игнорируются:
! Следующее правило будет игнорироваться, поскольку оно было закомментировано
!Xft.antialias:        true
Восклицательный знак должен быть самым первым символом в строке.
Включение файлов
Примечание
Для использования этой возможности нужно установить какой-нибудь препроцессор C, например
GNU CPP
.
Чтобы использовать различные файлы для каждого приложения, используйте
#include
в главном файле. Например:
~/.Xresources
#include ".Xresources.d/xterm"
#include ".Xresources.d/rxvt-unicode"
#include ".Xresources.d/fonts"
#include ".Xresources.d/xscreensaver"
Если файлы не удалось загрузить, укажите каталог для
xrdb
с параметром
-I
. Например:
~/.xinitrc
xrdb -I
$HOME
~/.Xresources
Получение значений ресурсов
Если вы хотите получить значение ресурса (например, для использования в bash-скриптах), можно использовать
xgetres
AUR
:
$ xgetres xscreensaver.Dialog.headingFont
-*-fixed-bold-r-*-*-*-100-*-*-*-*-iso8859-1
Примеры использования
Следующие примеры помогут понять, какие настройки приложения могут быть изменены с помощью файла Xresources. Больше примеров можно посмотреть
здесь
. Для получения подробной информации обратитесь к справочной странице интересующего вас приложения.
Color output in console (Русский)#Эмуляторы терминала
Темы курсора#X resources
Настройка шрифтов#Приложения без поддержки fontconfig
xterm (Русский)#Настройка
rxvt-unicode (Русский)#Настройка
xpdf(1) § OPTIONS
Решение проблем
Ошибки чтения (парсинга) файла ~/.Xresources
Экранные менеджеры
, такие как
GDM
, могут запускать
xrdb
с опцией
--nocpp
.
Пустой вывод xrdb -query
Нередко
xrdb -query
ничего не выводит. Попробуйте выполнить команды, описанные в разделах
#Загрузка файла ресурсов
и
#xinitrc
. Имейте в виду, что некоторые из файлов могут оказаться пустыми.
Смотрите также
Конфиг:Xresources (Рус.)
Using the Xdefaults File
- Статья с углублением о том, как X интерпретирует файл Xdefaults