Pacman, fontconfig и его конфиги

Natrio
mechanical, я вас понял с первого раза, спасибо и вам за участие!
Вы всё правильно пишете, все настройки можно переопределить в конце, но для этого надо знать, что там в начале, и предусматривать в своём конфиге специальные секции только для отмены вышестоящих. А если там добавят ещё какие-то новшества, то учитывать ещё и их… Уж лучше всё же “с чистого листа”.

зачем знать?
надо знать, что ты хочешь получить, и жестко это настроить в конфиге … а уж что там было до этого никакой роли не играет
а переписывать все конфиги - это какая-то n-ная стадия мазохизма … по сравнению с этим, создание своего PKGBUILD и ручное его обновление - это просто разминка для пальцев … тем более, что обновляется он раз в пятилетку ….
mechanical
переписывать все конфиги
Так я и не переписывал ВСЕ конфиги :)
Просто я не хочу, чтобы пакет снова включал те конфиги, которые я явно выключил.
У fontconfig есть общий файл настроек /etc/fonts/fonts.conf, папка с факультативными настройками /etc/fonts/conf.avail/ и папка симлинками для локальных настроек /etc/fonts/conf.d/ .
conf.d is the conventional name for a directory of additional configuration files managed by external applications or the local administrator.
http://www.freedesktop.org/software/fontconfig/fontconfig-user.html#AEN226
Я бы стерпел, если бы пакет обновлял fonts.conf и conf.avail . Но он лезет в локальные настройки! Если бы разработчики считали, что эти настройки должны обновляться автоматически, папки с симлинками НЕ БЫЛО БЫ, потому что ЭТИ симлинки БЕССМЫСЛЕННЫ, если их нельзя менять! Раз она есть – значит разработчики предназначили её для настройки, а каждый раз приспосабливаться к причудам мэйнтейнеров, которые не согласны с разработчиками, либо считают себя “external applications or the local administrator” в МОЕЙ системе, я не собираюсь :)
создание своего PKGBUILD и ручное его обновление
Ну вот, я так и сделал.
тем более, что обновляется он раз в пятилетку
И это было одним из решающих аргументов. Лучше раз в год обновить самому пакет, чем через год долго искать причину незаметно возникшего бардака со шрифтами.
кстати, судя по вике я был не прав … конфиги применяются в обратном порядке … и свои лучше выкладывать в 00-<filename>.conf
Из /etc/fonts.conf :
<include ignore_missing="yes">conf.d</include>
Из документации:
<include ignore_missing=“no”>
This element contains the name of an additional configuration file or directory. If a directory, every file within that directory starting with an ASCII digit (U+0030 - U+0039) and ending with the string ``.conf'' will be processed in sorted order.
Да нет, тут вроде нигде не неписано “in reversed order”.
Проверил экспериментально – применяется в нормальном порядке, от 0 к 9.
Natrio
Проверил экспериментально – применяется в нормальном порядке, от 0 к 9.
Из WiKi:
Примечание: В файле /etc/fonts/conf.d/README Вы можете более подробно узнать о префиксном нумеровании, применяемого для этих файлов.
/etc/fonts/conf.d/README я читал, там написано почти то же самое, только "in numeric order". Так что на всякий случай пришлось проверить :)
английская вика говорит
https://wiki.archlinux.org/index.php/Font_Configuration
Change rule overriding
Fontconfig processes files in /etc/fonts/conf.d in reverse numerical order. This enables rules or files to override one another, but often confuses users about what file gets parsed last.
To guarantee that personal settings take precedence over any other rules, change their ordering:
# cd /etc/fonts/conf.d
# mv 50-user.conf 00-user.conf
This change seems however to be unnecessary for the most of the cases, because a user is given enough control by default to set up own font preferences, hinting and antialiasing properties, alias new fonts to generic font families, etc.

может и устарело
Ошибиться было трудно. Я создал два файлика, 00-bold.conf и 99-normal.conf.
Как можно догадаться из названия, первый делал все шрифты жирными, второй – нормальными.
В результате с одним первым шрифт во вновь запускаемой программе становился жирным, с обоими – обычным. То есть, 99 применяется после 00.
Natrio
vadik
chattr +i имя_файла
Это с ~/.fonts.conf ?
Пробовал когда-то делать ему chmod 444, chown root:root, но права пользователя позволяли КДЕ удалять его и создавать заново, что он и делал. Вот chattr +i не пробовал, только что посмотрел, что это такое. Вроде работает, спасибо! :)
Надо будет взять этот метод на вооружение. Против пакетов, правда, не поможет, они под рутом, хотя… если вынести на ФС только для чтения… Нет, тогда пакет выдаст ошибку, а это ещё хуже.
А вот против лихих ГУИ или шаловливых юзеров – сработает. Век живи..
Команда, грубо говоря, запрещает изменять файл (в том числе и root-у). Это значит что ни переписать, ни удалить файл не получится. Естественно выполнена должна была быть от root. Насколько данный метод можно считать костыльным решать вам, но для защиты конфигов подходит неплохо.
vadik
запрещает изменять файл (в том числе и root-у)
мдааа… казнить! нельзя помиловать!
не те пошли нынче адепты. не те.

Распечатать и повесить перед глазами: root имеет право на выполнение всех без исключения операций.
 
Зарегистрироваться или войдите чтобы оставить сообщение.