X resources (Русский)
Xresources - это настраиваемый на уровне пользователя dotfile ("точкафайл", dotfiles), как правило, находящийся по пути ~/.Xresources
. Он может быть использован для установки ресурсов X, параметров настроек для клиентских приложений X.
Они может сделать много операций, в том числе:
- определить цвета терминала
- настроить предпочтения терминала
- задать DPI монитора, сглаживание (antialiasing), хинтование (hinting) и другие настройки шрифтов X
- изменить тему Xcursor
- установить тему xscreensaver
- изменять предпочтения низкоуровневых приложений X (xclock (xorg-xclock), xpdf, rxvt-unicode, и т.д.)
~/.Xdefaults
, так что эта статья будет относиться только к ресурсам, загруженных с xrdb xrdbНачинаем
Убедитесь, что пакет xorg-xrdb установлен на вашей системе.
Разбор .Xresources
Файл ~/.Xresources
не существует по умолчанию. Это обычный текстовый файл, вы можете создавать и редактировать его с помощью любого текстового редактора. После создания, он будет "разобран" на программы xrdb
(базы данных ресурсов Xorg) автоматически, при условии что вы либо:
- используете Экранный менеджер (менеджер входа) чтобы войти в X. Большинство Экранных Менеджеров будут автоматически загружать файл
~/.Xresources
на входе в систему. - если вы используете
startx
, вы должны отредактировать~/.xinitrc
. Для подробностей, смотрите ниже.
Ресурсы будут сохранены в X-сервере, так что файл не должен читаться каждый раз, когда приложение запускается.
Чтобы перечитать ваш файл .Xresources, и удалить старые ресурсы:
xrdb ~/.Xresources
Чтобы перечитать ваш файл .Xresources, и сохранить старые ресурсы:
xrdb -merge ~/.Xresources
~/.Xresources
это просто условное название; xrdb может загрузить любой файл. Если вы используете вручную xrdb, вы можете поместить этот файл в любом месте, где захотите (например, ~/.config/Xresources
).- Если вы в фоне выполняете xrdb в цепи команд
~/.xinitrc
, программы запущенные в той же цепи, не могут использовать его, так что рекомендуется никогда не запускать в фоне команды xrdb в~/.xinitrc
. - Старый и устаревший файл
~/.Xdefaults
читается каждый раз при запуске программ X11 таких какxterm
, но только еслиxrdb
"никогда" не был использован в текущем сеансе X. [1]
Добавление к xinitrc
Если вы не используете Среду рабочего стола, добавьте следующую строку в xinitrc:
[[ -f ~/.Xresources ]] && xrdb -merge -I$HOME ~/.Xresources
Настройки по умолчанию
Для просмотра настроек по умолчанию для установленных приложений X11, смотрите /usr/share/X11/app-defaults/
.
Подробная информация о конкретных программных ресурсах, как правило, предоставляется на страницах руководства программ (man). Хорошим примером является руководство xterm, так как оно содержит список ресурсов Х и их значения по умолчанию.
Чтобы увидеть текущие загружены ресурсы:
xrdb -query -all
Синтаксис Xresources
Основной синтаксис
Синтаксис файла Xresources заключается в следующем:
name.Class.resource: value (имя.Класс.ресурс: значение)
а вот реальный пример:
xscreensaver.Dialog.headingFont: -*-fixed-bold-r-*-*-*-100-*-*-*-*-iso8859-1
- name (имя)
- Название приложения, такое как Xterm, Xpdf и т.д.
- class (класс)
- Классификация используется для объединения ресурсов вместе. Имена классов, как правило, в верхнем регистре.
- resource (ресурс)
- Название ресурса, значение которого должно быть изменено. Ресурсы как правило в нижнем регистре, а для объединения в верхнем.
- value (значение)
- Фактическое значение ресурса. Это может быть 1 из 3-х типов:
- Integer (целые числа)
- Boolean (true/false, yes/no, on/off (т.е. верно/неверно, да/нет, вкл/выкл)
- String (строка символов) (например слово (
white
), цвет (#ffffff
), или путь (/usr/bin/firefox
))
- delimiters (разделители)
- Точка (
.
) используется для обозначения каждого шага вниз по иерархии — в приведенном выше примере мы начали с name, затем спустились до Class, и наконец до самого resource. Двоеточие (:
) используется, чтобы отделить описание ресурса от фактического значения.
Джокер соответствия (Wildcard matching)
Звездочка (*
) может использоваться в качестве шаблона, что облегчает использование одного правила
, которое может быть применено ко многим различным приложениям или элементам.
Воспользуемся предыдущим примером, если вы хотите применить тот же шрифт для всех программ (не только для XScreenSaver) которые содержат имя класса Dialog
, и которое содержит имя ресурса headingFont
,
можно записать так:
*Dialog.headingFont: -*-fixed-bold-r-*-*-*-100-*-*-*-*-iso8859-1
Если вы хотите применить это правило для всех программ, которые содержат ресурс headingFont
, независимо от его класса, вы должны написать:
*headingFont: -*-fixed-bold-r-*-*-*-100-*-*-*-*-iso8859-1
Комментарии
Чтобы добавить комментарий в файле Xresources, просто воспользуйтесь префиксом с воскрицательным знаком (!
), например:
! Следующее правило будет игнорироваться, поскольку оно было закомментировано !Xft.antialias: true
Включение файлов
Чтобы использовать различные файлы для каждого приложения, используйте #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
Примеры использования
Следующие примеры помогут понять, какие настройки приложения могут быть изменены с помощью файла Xresources. Больше примеров можно посмотреть здесь. Для получения подробной информации обратитесь к справочной странице интересующего вас приложения.
- Color output in console (Русский)#Эмуляторы терминала
- Темы курсора#X resources
- Настройка шрифтов#Приложения без поддержки fontconfig
- xterm (Русский)#Настройка
- rxvt-unicode (Русский)#Настройка
- xpdf(1) § OPTIONS
Решение проблем
Ошибки чтения (парсинга) файла ~/.Xresources
Экранные менеджеры, такие как GDM, могут запускать xrdb с опцией --nocpp
.
Смотрите также
- Конфиг:Xresources (Рус.)
- Using the Xdefaults File - Статья с углублением о том, как X интерпретирует файл Xdefaults
- Rxvt-unicode Configuration Tutorial - много информации для пользователей urxvt
- Example Colors and their names - перечень примеров цветов и названий цветов для xterm и других приложений X.
- Color Themes - Обширный список цветовых тем для терминала, составленный Phraktured.
- Xcolors.net Список цветовых тем для терминала, составленных пользователями.
- Цвета Х составленные dkeg