LINUX.ORG.RU

Что придёт на смену xorg.conf?

 , ,


0

0

Уже давно очевидно, что хранение настроек иксов в xorg.conf устарело и не справляется с возложенными на него задачами, в связи с чем, например, писатели проприетарных драйверов от AMD/ATI и NVIDIA изобрели собственные реестроподобные велосипеды.

Недавно по этому поводу разгорелась дискуссия среди разработчиков иксов, в ходе которой было выдвинуто несколько смелых идей — в их числе, например, хранение настроек в GConf. Мэтью Типпет из AMD рекомендовал использовать иерархаичную конфигурацию, сходную с решением в проприетарных драйверах ATI. «NIH syndrome always rules...» — отметил он.

>>> Подробности в репортаже Phoronix

★★★★

Проверено: JB ()
Ответ на: комментарий от deadman

2 deadman: А и не нужно монстров делать. Если нормально к делу подойти, то вполне создать нормальный надежный интсрумент, удобный и в GUI, и в консоле. Только подумать нужно хорошо перед тем, как что-то делать.

> И немного пессимизма - как вы думаете - авторы apache, vsftpd, sendmail, ,bind, openldap - будут свои конфиги переделывать под вашу новую мегасистему?

Если обьявить ее стандартом для линукс-систем и поставить всех перед фактом, то будут. К примеру: или делаешь как положено или вон из основных дистров. (может и не так грубо, но тем не менее...)

А костыли будут, пока сообщество будет напоминать "лебедя, рака и щуку". Нравятся альтернативы - пожалуйста. Делайте WM с круглыми окнами и т.п. Но основа системы должна быть единой и четко стандартизированной.

Вот многие плачутся, что мол нету серьезного софта под линь, игрушки под него не делают и т.п. И не будет, пока в дистрах стандарта не будет. Люди, которые такой софт пишут, они деньги зарабатывают. Им не интересно под каждого Васю Пупкина подстраиваться. Им нужно, чтобы однажды выпущеный продукт (часто на CD/DVD продающийся) без гемора запустился на машине покупателя и так же без гемора работал. Даже по прошествию нескольких лет (в идеале). А будут такие ребята серьезно к линю относиться, глядишь и производители железа с драйверками чесаться начнут...

P.S. Информация к размышлению: почему основным энтерпрайз-DE считается GNOME?.. А все потому, что они предоставляют стабильный и долгоживущий API/ABI и хоть какую-то стандартизацию, хотя бы в рамках DE.

Gris
()
Ответ на: комментарий от anonymous

>Может оплатишь для начала. За скорость таки надо платить ::))

а за что платить? Ты концепцию сначала набросай. API, механизм контроля прав доступа к ключам, овверайды, наследование, каким образом уведомления реализуешь и где и как все это будешь хранить для обеспечения редактирования емаксом. Пример конфига с метаданными приведи.

>Откуда мне знать, почему этим товарищам не понравился выбор существующих велосипедов.

не было. Упс? Не было в никсах единого API для конфигурирования. Да и сейчас нет, по большому счету. Убогий двухуровневый QSettings и прочие ini-style либы - убогость.

>Что мда? ssh уже не инструмент админа? Ой как я отстал!! ::))

инструмент. Если тебе надо одним сервером управлять. Ну или двумя.

geek ★★★
()
Ответ на: комментарий от deadman

>вот я смотрю на вас всех и думаю - спорите, спорите

Да нормально спорим. Тут все хотят всего. А возражения по частносям. А насчет GConf - ну дык Гнома все ругают, а атернативы-то нет.

anonymous
()
Ответ на: комментарий от geek

>>Предлагаешь хранить в холодильнике, вместе с продуктами, и грязные носки заодно?

> конфиги иксов ты ешь, а конфиги сендмыла у тебя пахнут? Ты - больной дебил

[/me польщен. сам гек назвал меня больным дебилом]

не, ну ты расскажи сперва - с какой целью ты предлагаешь свалить в одну кучу настройку иксов и настройку сендмыла?

anonymous
()
Ответ на: комментарий от anonymous

>с какой целью ты предлагаешь свалить в одну кучу настройку иксов и настройку сендмыла?

с целью ликвидации зоопарка. Ну и чтобы иметь возможность разделить конфиги на групповые - общие для пула серверов и индивидуальные части для узлов. Без rsync/patch и непредсказуемых результатов

/etc - следующая куча говна после зоопарка кодировок

geek ★★★
()
Ответ на: комментарий от geek

>При упоминании альта мне становится дико смешно

Что, сам упоминаешь, а потом ржёшь? И говоришь - не "на учёте"?

Led ★★★☆☆
()
Ответ на: комментарий от anonymous

>А насчет GConf - ну дык Гнома все ругают, а атернативы-то нет.

+1

В этом случае альтернативы ругательствам действительно нет.

Led ★★★☆☆
()
Ответ на: комментарий от Led

>Что, сам упоминаешь, а потом ржёшь? И говоришь - не "на учёте"?

ну так xconf - утилита из кучки говна под названием alterator. Кто эту кучу велосипедов делал - помнишь?

geek ★★★
()
Ответ на: комментарий от Led

>25 серверов - это уже диагноз:)

да? и какой?

geek ★★★
()
Ответ на: комментарий от geek

> а за что платить? Ты концепцию сначала набросай. API, механизм контроля прав доступа к ключам, овверайды, наследование, каким образом уведомления реализуешь и где и как все это будешь хранить для обеспечения редактирования емаксом. Пример конфига с метаданными приведи.

ini-style файлы, уведомление через d-bus (если уж так надо). Остальное смотри в хомяке, в т.ч. и формат ::))

>не было. Упс? Не было в никсах единого API для конфигурирования.

Так не было или не нужен?

> Да и сейчас нет, по большому счету. Убогий двухуровневый QSettings и прочие ini-style либы - убогость.

Убогий QSettings перекрывает на 150% потребности любого извращенца. Остаётся добавить уведомления об изменениях хотя бы через дбус или UDS и всё. Не исключаю, что всё это уже есть в de. Врать не буду, ибо ставить как-то не доводилось..

anonymous
()
Ответ на: комментарий от anonymous

>ini-style файлы, уведомление через d-bus (если уж так надо). Остальное смотри в хомяке, в т.ч. и формат ::))

контроль доступа. наследование. хранение этого хозяства в каталоге - где?

и уведомление через dbus как будет работать? вот отредактировал я в емаксе конфиг - и что? libastral?

>Так не было или не нужен?

не было

>Убогий QSettings перекрывает на 150% потребности любого извращенца.

вызывающе неверная.

>Остаётся добавить уведомления об изменениях хотя бы через дбус или UDS и всё.

так расскажи, как ты это сделаешь? Конкретный вопрос про емакс выше.

geek ★★★
()
Ответ на: комментарий от geek

>>с какой целью ты предлагаешь свалить в одну кучу настройку иксов и настройку сендмыла?

> с целью ликвидации зоопарка. Ну и чтобы иметь возможность разделить конфиги на групповые - общие для пула серверов и индивидуальные части для узлов. Без rsync/patch и непредсказуемых результатов

не выйдет. было бы надо - давно бы сделали.

Задачи настройки иксов и сындмыла - слишком разные. При этом гораздо важнее (и сложнее) понять суть необходимых правок, чем "асилить" формат конфига. Так что - не в том проблема.

> /etc - следующая куча говна после зоопарка кодировок

говно станет вкуснее, если запихать его в DOM?

anonymous
()
Ответ на: комментарий от geek

>ну так xconf - утилита из кучки говна под названием alterator.

xconf - это маленькая утилита, написана на C, легко расширяемая, делает то, что от неё требуется. А про "кучки говна" странно слышать от от того, кто сидит в куче GNOвна и нахваливает его:)

Led ★★★☆☆
()
Ответ на: комментарий от geek

>контроль доступа.

Котролем доступа должна заниматься FS, а не geek'о-лисапеты.

>наследование.

Легко.

Led ★★★☆☆
()
Ответ на: комментарий от anonymous

> дык разъясни свою мышль!

Я же аккуратно отквотил то, из-за пожелал идее epic fail: "Чтобы единственным способом доступа к нему были коммандлайновые утилиты и C API. И ВСЕ. Если он при этом случайно получится читаемым и записываемым в vi - это будет миленько, но это совершенно необязательный сторонний эффект". То есть для редактирования конфига мне придется вызывать утилиты? Меня это ни разу не устраивает. Или конфиг вырождается в пакетный файл с командами, которые его заполняют, и который я смогу редактировать в mcedit? Тогда за что боролись и где профит?

Кстати, демонстративный отход от юниксвея тоже беспокоит - причем это отход в какую-то непонятную сторону, и уж точно не вперед.

> Что плохого в едином API даже только для чтения конфигов?

Это замечательно. Проблема в том, что этого интерфейса нет. Я уже лет 15 читаю об очередной универсальной библиотеке для разбора конфигов, и до сих пор ни одной такой не появилось (gconf не в счет, это волевое решение RedHat).

Универсальный декларативный язык описания конфига невозможен по одной простой причине - в валидаторе хотя бы иногда будет необходим императивный код (кто хочет доказать, что я неправ - перепишите CML2 на XML + любое средство валидации). И мы возвращаемся к простой идее - приложение предоставляет библиотеку с Си-интерфейсом для разбора своего конфига. И если не работает даже эта простая и понятная идея, не требующая перевода приложений на новые форматы, то откуда надежда на то, что сработают более сложные идеи?

Ну а для простых случаев ключ-значение XML - это оверкилл. И не нужно приводить в пример ынтерпрайз-софт - мы говорим о свободном мире свободного софта.

Вообще, вся проблема кажется надуманной - тут кто-нибудь ходил по ссылке?

tailgunner ★★★★★
()

>>>и поставить всех перед фактом, то будут<<< уже ПОЭТОМУ - НЕЛЬЗЯ делать ничего из предложенного.

Фашизм не пройдет !!

p.s. что бы не думал, фюрер Линус, на сей счет.

anonymous
()
Ответ на: комментарий от anonymous

>Фашизм не пройдет !!

>p.s. что бы не думал, фюрер Линус, на сей счет.

"фюрер Линус" уже сказал, что он думает про GNOME его GConf'ом

Led ★★★☆☆
()
Ответ на: комментарий от geek

> контроль доступа.

А он нужен? У каждой программы/библиотеки свой конфиг.

> наследование

на примере можно?

> и уведомление через dbus как будет работать? вот отредактировал я в емаксе конфиг - и что? libastral?

Уведомления через dbus - для глобальных изменений вроде разрешения экрана/смены шрифта/темы и т.п. А что касается всяких демонов - то тот же openvpn обвешан скриптами по самые никуда и правки в основном в них, так что рестарт рулит. Для мелких прог, это решаемо - достаточно мониторить дату изменения файла.

> вызывающе неверная.

Нет уведомлений - нет демона адин-адин!!

anonymous
()
Ответ на: комментарий от DiKeert

>Я вот просто не понимаю, почему так против xml?

> Просто объясните мне плииз, почему против?

"зумль нинужын". На этих задачах, по крайней мере.

anonymous
()
Ответ на: комментарий от tailgunner

>Давай ты изложишь Top5 выигрышей.

1. Обычно в xml названия ключей интуитивно понятны. На примере vim мы видим, что в не xml такое встречается редко. 2. Существуют хорошие пасеры xml. 3. Синтаксис в виде xml проще изучать. 4. Читабельная древовидная структура. 5. Унифицированный вид.

DiKeert ★★
()
Ответ на: комментарий от DiKeert

>1. Обычно в xml названия ключей интуитивно понятны.

4.2

>2. Существуют хорошие пасеры xml.

Следует читать как "для XML существуют парсеры, которые (учитывая, что это XML), можно считать лучше других парсеров XML, следовательно - хороших".

>3. Синтаксис в виде xml проще изучать.

4.2

>4. Читабельная древовидная структура.

4.2

>5. Унифицированный вид.

Это называется "пятый пункт не придумал, вставил стандартную отмазку, которая звучит внушительно, но при этом ничего не обозначает"

Led ★★★☆☆
()
Ответ на: комментарий от DiKeert

>> Давай ты изложишь Top5 выигрышей.

> 1. Обычно в xml названия ключей интуитивно понятны. На примере vim мы видим, что в не xml такое встречается редко.

Я правильно понимаю - один и тот же прогер придумывает "интуитивно понятные" имена ключей, если пользуется XML, и непонятные - если нет?

> 2. Существуют хорошие пасеры xml

Это - выигрыш? Существуют хорошие парсеры JSON, ini и прочих.

> 3. Синтаксис в виде xml проще изучать.

И что? Двоичную арифметику еще проще изучить, будем писать в двоичном коде?

> 4. Читабельная древовидная структура.

Достигается и другими языками.

> 5. Унифицированный вид.

И каким образом это является существенным выигрышем? Язык должен отвечать задаче.

tailgunner ★★★★★
()
Ответ на: комментарий от DiKeert

1. fetchmailrc -- конфиг на читабельном английском языке. Ещё более понятен 3. Синтаксис в виде xml не нужен, нужна семантика. Схема, то есть. Без схемы парсер специфического xml не сильно лучше парсера специфического велосипедного конфига 4. YAML читабельнее (хотя он изоморфен xml, ага) 5. единственное достоинство. Ещё он сам себя описывает и самодостаточен. вот это и основное в семантике xml, а всё остальное -- так, особенности реализации.

anonymous
()
Ответ на: комментарий от anonymous

> уже ПОЭТОМУ - НЕЛЬЗЯ делать ничего из предложенного.

Уже поэтому - можно и нужно. Порядок еще никому и никогда не вредил.

> Фашизм не пройдет !!

Тише-тише, не на митинге. Да и вообще, получается так, что когда родители детей заставляют ремешком порядок в комнате наводить или уроки делать (чтобы людьми выросли) - это тоже фашизм? Да и нах линуксу стандарты, анонимусам же свобода нужна.

И вообще, долой все ограничения! Давайте для каждой программы все по своему с нуля писать! Чтоб потом хрен разберешь даже с фонариком и картой.

P.S. Когда M$ стандарты не соблюдает, красноглазые воют. А когда красноглазые даже между собой консенсуса достигнуть не могут, так это нормально. Может M$, когда свой IE делали, тоже сказали: - Долой фашизм W3C! Даешь каждому свой HTML! :))

Gris
()
Ответ на: комментарий от Gris

> P.S. Когда M$ стандарты не соблюдает, красноглазые воют.

Хочешь сказать реестр в M$ соответствует стандартам? Вперёд апстену!!

anonymous
()
Ответ на: комментарий от anonymous

> Хочешь сказать реестр в M$ соответствует стандартам? Вперёд апстену!!

ОСь полностью их, так что да, реестр венды полностью соответствует стандартам венды. Очевидно, не так ли?..

Так что, близко знакомиться с несущими конструкциями зданий предоставляю вам.

Gris
()
Ответ на: комментарий от Led

>Это называется "пятый пункт не придумал, вставил стандартную отмазку, которая звучит внушительно, но при этом ничего не обозначает"

В точку =).

Нет, серьезно. INI еще может кокурировать. Но все равно xml - это лучше чем то, что есть сейчас. Fetchmailrc - это пример нашего везения, когда автор программы сделал адекватный синтаксис. Но вот пример emcs конфиго (язык lisp - мне совсем не улбается его учить, что бы настроить). В это отношении Vim лучше (поэтому я его осилил и пользую), но тоже не идеал.

Пример хороших конфигов можно привести samba и xorg.conf.

А большинство - это просто ужас. Да вот, хотя бы конфиг fvwm. Насколько OpenBox удобнее настраивать. Все четко и понятно. Как html.
Лучше уж xml, чем тот зоопарк, что сейчас. Если найдут что-то, что еще лучше (ini например, или вид как у xorg.conf), то я только за.

DiKeert ★★
()
Ответ на: комментарий от anonymous

> ви антисемит?

зачем ви меня таки оскорбляете?

anonymous
()
Ответ на: комментарий от DiKeert

>Fetchmailrc - это пример нашего везения, когда автор программы сделал адекватный синтаксис.

автор специально так задумывал. Если ты почитаешь "The Art Of Unix Programming" то же автора (Эрика нашего Реймонда), он там целых пару глав отвел на 1) прозрачность формата конфига 2) разделение policy и механизма, на примере как раз X Windows.

Что могут сейчас по неаккуратности потерять.

>Но вот пример emcs конфиго (язык lisp - мне совсем не улбается его учить, что бы настроить).

Он не то чтобы сложный. Сложностей в lisp или в tcl или в smalltalk добавляет его излишняя "динамичность". Вся сложность засунута в семантику, а синтаксис как раз простой однообразный. Однако, скрипты-конфиги под старое API прекрасно валятся в exception в рантайме, когда выясняется, что API уже изменилось. И чтобы осилить, что именно и где надо поправить, нужно знать и старое и новое API.

anonymous
()
Ответ на: комментарий от svu

>Где почитать слова Линуса конкретно про GConf?

Там же, где и про Линуса - фюрера:)

Led ★★★☆☆
()
Ответ на: комментарий от tailgunner

>То есть для редактирования конфига мне придется вызывать утилиты? Меня это ни разу не устраивает

ты дурак, если думаешь, что текстовый редактор - не утилита.

geek ★★★
()
Ответ на: комментарий от anonymous

>А он нужен? У каждой программы/библиотеки свой конфиг.

нужен. И не на уровне конфига, а на уровне ключа

>на примере можно?

например, индивидуальные ветки дерева конфигурации для почтовиков перекрывают только разрешенные ключи, а карта транспортов/виртхостов и правила фильтрации остаются единой для группы.

Ну или базовые настройки приложений могут лишь частично меняться пользователями.

>Уведомления через dbus - для глобальных изменений вроде разрешения экрана/смены шрифта/темы и т.п.

я так плохо задаю вопросы? Повторяю - отредактировал я емаксом файл с конфигом шрифтов. Что дальше? Мне надо руками запускать dbus-send?

>А что касается всяких демонов - то тот же openvpn обвешан скриптами по самые никуда и правки в основном в них, так что рестарт рулит.

чего не ребут сразу?

>Нет уведомлений - нет демона адин-адин!!

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

geek ★★★
()
Ответ на: комментарий от Led

>Это называется "пятый пункт не придумал, вставил стандартную отмазку, которая звучит внушительно, но при этом ничего не обозначает"

твои пуки в лужу очень забавно читать. Продолжай, да

geek ★★★
()
Ответ на: комментарий от Led

>xconf - это маленькая утилита, написана на C, легко расширяемая, делает то, что от неё требуется.

ты идиот? Ты видишь разницу между "написать один раз" и "писать постоянно, отдельно для каждой программы и каждой версии с новыми возможностями"? Если нет - сходи к психиатру.

geek ★★★
()
Ответ на: комментарий от tailgunner

>Достигается и другими языками.

я хоть один пример увижу в студии от зумлефобов?

или они так и будут оранж-содой писаться?

geek ★★★
()
Ответ на: комментарий от svu

> Посмотрите на макос - там юникс. Но от /etc почти ничего не осталось. Все запихнуто в специальную систему конфигурирования. И, в отличие от виндового реестра, я не слышал потока матюгов на эту тему. Почему бы это?

Макось юниксом (официально) стала совсем недавно. До этого была совершенно иной системой.

P.S. Я ещё понимаю, когда из макоси тырят дизайнерские решения, благо они там хорошо продуманы. Но когда желание тянуть всё подряд из макоси становится просто привычкой -- вот это плохо. Даже сам Линус говорил, что там как минимум ФС -- "дерьмо, которое пугает".

P.P.S. Так что с моим вопросом относительно высокоуровневого дизайна мегаредактора?

gaa ★★
()
Ответ на: комментарий от svu

> Кроме того, если программисту будет удобно, он сделает так, что и админу будет удобно - красивые формочки, валидация, и пр. способы защиты от неправильных решений.

Программист для этого выберет конфиг, отражающий решаемую задачу, а не конфиг, отражающий чьё-то желание (не будем показывать пальцем) построить всё под один хмл. Напомнить сендмейл, или ответ будет тем же, что semdmail.cf -- это кошмарнейший из кошмаров в /etc? :o)

gaa ★★
()
Ответ на: комментарий от geek

> да кто ж тебе мешает? fuse-gconf какой-нибудь и редактируй свои конфиги в любимом емаксе.

А вот это, кстати, true way, я над этим недавно задумывался.

Взять парсеры пяти-шести распространённых форматов, прикрепить это к сохранялке в базу/хмл/куда_угодно и получить энтерпрайз-решение, не требующее никакого переписывания существующих форматов, но при этом хранящее конфиги хоть в ldap.

Единственный минус -- для системных настроек это не очень-то подойдёт, ибо никто не даст fuse на этапе оченб ранней загрузки смонтировать в /etc.

gaa ★★
()
Ответ на: комментарий от geek

>> Поэтому все объекты вдруг становятся сохраняемыми.

> вот это и следует добавить в gobject. Ибо рулит и педалит

Как, в Божественном ГОбъекте этого ещё нет? :о)

gaa ★★
()
Ответ на: комментарий от Aceler

> Ну тут один уже предлагал в систему записывать конфиг на одном языке, а в ~/ - на другом. Проблема в том, что даже если такая схема будет работать, я ни разу не видел подобной схемы в реальности.

$HOME/.config/tkLOR/config :) Я тогда назло svu сделал сохранение локализованных комментариев в текстовый файл настроек

gaa ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.