LINUX.ORG.RU

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

 , ,


0

0

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

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

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

★★★★

Проверено: JB ()

Ответ на: комментарий от AiFiLTr0

>Жаль нет ружья...
А ты выпей яду.
Или разгонись и об стену.

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

> В INI такую структуру вообще хрен сохранишь

Ну если стоит вопрос об увеличении производительности, то запросто можно сделать что-то вроде:

x=100 y=_10

Или оставлять пробелы под максимальную длину ::))

anonymous
()

Поехали дальше. Мне как пользователю, радикально пох*й, в каком формате хранит настройки та или иная тулзень, если её гуй обеспечивает 100% доступ ко всем параметрам. В случае же xorg.conf сделать это, как я понял, невозможно, да и при его правке иксы как правило в дауне. Так что жду от товарищей пример тулзы для работы с gconf в консольном режиме ::))

anonymous
()

Ещё приведу пример парсера key=value

QFile file("myfile.ini");
file.open();
QMap<QString, QString> params;
while(!file.atEnd())
{
QStringList lines;
QString line = QString(file.readLine());
lines = line.split("=");
params.insert(lines[0], lines[1]);
}
file.close();

Жду аналогичного для xml ::))

PS за ошибки не ручаюсь, но капча chened подсказывает: для xml это будет на порядок сложнее...

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

> Те, кто ругают XML - как правило, невежды, не осилившие Infoset

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

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

>А шо же делать ниасилившему тупому быдлу, не родившемуся программистом (или иже), которое захотело внести изменения, не предусмотренные графической конфигурялкой?

gconf-editor

geek ★★★
()

XML имхо вполне неплохо - девелоперы получат унифицированную валидацию конфигов и унифицированный парсер (а мы еще не забываем про JAXB или ему подобным либам для других языков). Тул редактирования XML имея схему тоже неплохо работает. Вот только одминам придется вместо grep юзать XPath, а вместо sed/awk юзать XSLT - а это не всем может понравиться, да и, судя по некоторым лоровским аналитикам, не все смогут асилить ; )

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

> vim уже научился instant apply?

Машина не умеет ездить, но зато свистит и издаёт прочие звуки. Ещё раз: иксы не запущены!! Ну уж если неймётся, то instant apply от формата файла ну никак не зависит.

ЗЫ и я вообще не понял, каким раком этот instant apply сможет заменить драйвер в уже запущенных иксах...

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

>а вместо sed/awk юзать XSLT

Ужас. У меня в мандриве подефолту поставилось аж 3 консольных редактора на любой вкус: vim для особо Ъ-быдлоадминов, mcedit для остального быдла ну и sed для человеков-компутеров. Всё! потребности каждого извращенца перекрыты на 100%, даже иксы не нужны. А тут предлагают какаю-то тулзу, пригодная разве что для дёргания из гуя. Умолчу про bash и sh скрипты, коих в любом дистре навалом. В результате получаем, что для правки файликов придётся держать целый зоопарк софта.

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

>Ещё раз: иксы не запущены!!

кроме иксов ещё и другой софт есть

>ЗЫ и я вообще не понял, каким раком этот instant apply сможет заменить драйвер в уже запущенных иксах...

элементарно, если уж иксы будут юзать gconf и обрабатывать уведомления об изменениях в конфигурации должным образом

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

> Как множественность синтаксиса соотносится с идеей единного способа задания конфигов ?

1. Зависит от реализации. Можно предоставлять возможность использования разных синтаксов, можно - не предоставлять.

2. На самом деле, единый формат - это вторичная ценность. Единство должно быть не столько в формате, сколько в API. Это правильно понял gconf. Детали реализации backend - не очень-то важны.

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

>>Как множественность синтаксиса соотносится с идеей единного способа задания конфигов ?

>Примерно так:

><section name="main"> > <param name="display">Monitor1</param> ></section>

>Или

>(section name=main > (param name=display, content="Monitor1") >)

>Или

>StartSection main > display "Monitor1" >EndSection

Ты проиллюстрировал множественность синтаксисов, но вопрос так и остался, каким образом дружат множественность синтаксисов и единный формат/способ задания конфигов ?

Из твоего примера получается, что нынешние конфиги есть частный вариант XML. Что меняется важного, от того, что скажем тот же файл xorg.conf без каких либо изменений в нём я стану называть XML файлом ?

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

> Править конфиги вручную по-твоему мнению полагается только тем, кто этот твой Infoset осилил?

Телевизор смотрят (и даже ручки крутят, представьте себе!) даже те, кто понятия не имеет о принципе работы CRT/LCD/... И ничего - выживают.

ЗЫ А вообще конфиги вручную править должны только power users/devs/admins. Нечего average Joe делать в текстовых конфигах. Ручная доработка конфига - это ПОСЛЕДНЕЕ СРЕДСТВО, а не норма жизни.

> А шо же делать ниасилившему тупому быдлу

Использовать GUI.

> не предусмотренные графической конфигурялкой?

Тогда - "учиться, учиться и учиться". Чтоб не быть "тупым быдлом"

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

>> XML имеет стандартные схемы для валидации,

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

Э... не распарсил.
<root> <mytag> Hello sv75! </mytag> </root>
и <root myattribyte="Hello sv75!"/>

Это разные схемы в принципе. А как она провалидируется - дело десятое. Основное достоинство что валидация МОЖЕТ быть проведена сторонними средствами.

> XML - для роботов.

XML - для компьютеров, но люди его могут читать и менять.

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

> Что меняется важного, от того, что скажем тот же файл xorg.conf без каких либо изменений в нём я стану называть XML файлом ?

Вам тогда придется ответить за базар - написать парсер этого файла, выдающий программе DOM, позволяющий его модифицировать и записывать обратно. Вы обломаетесь - ибо формат не позволяет реализовать всю семантику infoset.

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

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

Это как????

svu ★★★★★
()
Ответ на: Руки прочь от xorg.conf!!! от anonymous

> Оставьте все как есть!

Это всегда в Ваших силах. Просто не используйте новые версии софта - оно останется "как есть" автоматически;)

А если Вы хотите "тут чтобы осталось, а там чтоб поменялось" - то это довольно глупое желание.

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

> кроме иксов ещё и другой софт есть

Есть, кроме аналога gconf-editor в консоли...

>элементарно, если уж иксы будут юзать gconf и обрабатывать уведомления об изменениях в конфигурации должным образом

И какие мне от этого преимущества? Вот начну я править этот xorg.xml, 20 параметров и на каждый чих они будут подпрыгивать. Да и возможность изменять параметры на лету таки усложняет программу. Ну а сложность-> баги и пошло поехало...

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

> а нафига вообще каким-то левым программам читать чужие конфиги?
> А проге - ключик: --setup-mode, в котором она только конфиг читает и ничего больше не запускает, типа если иксы сломали - чтобы при запуске они только этот интерфейс поднимали для изменения настроек.
> А в каком формате конфиги будут хранится - какая разница в таком случае? Как авторам программ удобно. Вменяемые в конце концов на libconfig какой-нибудь перейдут.

1. Не UNIX-way. прога кроме своей деятельности занимается всякой херней - парсит конфиг, валидирует его и т.п.

2. Читать сторонним нужно чтобы уйти от лисапеда YAST / другие конфигурялки и можно было СОЗДАТЬ программу которая легко редактирует ЛЮБОЙ конфиг ЛЮБОГО приложения, валидирует его, подсказывает какие параметры / аттрибуты можно использовать, выдает контекстную справку и т.п.

3. libconfig судя по их сайту не имеет стандартного формата описания схемы. А потому схему понять может только приложение его использующее ЧТО есть зло.

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

> Есть, кроме аналога gconf-editor в консоли...

У gconf, очевидно, иксы рассматривались как естественная часть окружения. Нужно ли доказывать, что построение аналогичной архитектуры, не зависящей от иксов - не представляет затруднений?

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

2.1. Добавьте возможность i18n для описания параметров-атрибутов.

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

> На самом деле, единый формат - это вторичная ценность. Единство должно быть не столько в формате, сколько в API. Это правильно понял gconf. Детали реализации backend - не очень-то важны.

Новое API это всегда серьёзное влияние на безопасность/ремонтируемость/устойчивость системы, ведь новый API это новые библиотеки/файлы, которые могут повреждаться, новые инструменты для работы, которые могут портиться, убивая возможность востановить систему. Винда умирает на раз от проблем регистра, этого нельзя допускать в *никсах

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

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

>>ЗЗЫ Умолчу про консольные тулзы..

> Если будет XML конфиг. Консольные тулзы для настройки будут выглядеть аналогично консольной тулзе для настройки ядра. Давно ядро компилировал? А Make файл сам правил? Так вот пользоваться XML, особенно если есть XPath в разы удобнее, чем Lex Yacc созданными парерами

+2. Именно будет что-то близкое к конфигуратору ядра, но при СТАНДАРТНОМ подходе оно сможет конфигурировать ЛЮБЫЕ приложения, а не только те для которых написаны плагины (как для YAST)

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

> Использовать GUI.

А если гуй не дает возможности менять все параметры?

> Ручная доработка конфига - это ПОСЛЕДНЕЕ СРЕДСТВО, а не норма жизни.

Почему? С чего ты взял, что гуевая конфигурялка _для_всех_ удобнее чем правка текстового конфига?

> Тогда - "учиться, учиться и учиться". Чтоб не быть "тупым быдлом"

Я юрист, пользую линукс дома, мне обязательно учить синтаксис xml, чтобы не быть тупым быдлом? ;)

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

> Нужно ли доказывать, что построение аналогичной архитектуры, не зависящей от иксов - не представляет затруднений?

Ну так построили бы для начала. А то пока я вижу только gconf-editor, прибитый к иксам и гному. Где qgconf-editor? Где kgconfe-ditor? xconf-editor? ncurses... Выясняется, что для рядового юзера вообще ни черта нет. Нафига предлагать то, что ни хрена не реализовано?

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

> Только следует понимать - XML неудобен для пользования ни машине (огромные ресурсы на парсинг по сравнению с любым другим форматом), ни человеку - именно для тех случаев, в которых "не справляется" иксовый конфиг, XML-конфиг будет абсолютно нечитаемым человеком. ЕДИНСТВЕННЫЙ, кому XML-конфиг удобен - это тот самый программист, да и то - только потому, что он не привык думать и разбираться в каких-то там конфигах.

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

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

> Новое API это всегда серьёзное влияние на безопасность/ремонтируемость/устойчивость системы

Разумеется. Но с т.зр. безопасности и устойчивости "выкинуть N-1 API и заменить их все N-ым" - это выигрыш. Тем более что libxml2 уже является частью любого дистрибутива и весьма стабилен.

> Винда умирает на раз от проблем регистра, этого нельзя допускать в *никсах

Почему макос не умирает? Может, это проблемы конкретной реализации и политики использования?

> базовые системные конфиги должны быть с традиционным синтаксисом

Каким именно - из миллиона? Я же говорю - мне плевать на синтакс, Вы мне дайте один API. Чтоб я мог делать конфигурялки для "базовой системы", не обращаясь к костылям. Чтоб в этих конфигурялках я мог динамически обнаруживать новые файлы конфигурации со всей необходимой мета-информацией о параметрах и пр. и пр. Да, это все решается и без XML - но с гораздо большим геморроем и велосипедным парком.

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

> Худший строй, государством управляют крикуны и демагоги в большинстве своем не являющиеся профессионалами в области управления.

Демократии не существует и, возможно, не существовало никогда. Это миф, такой же как и коммунизм.

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

>Выясняется, что для рядового юзера вообще ни черта нет. Нафига предлагать то, что ни хрена не реализовано?

Для рядового пользователя - Линус сказал, чем пользоваться. GNOME/GConf - для geek'ов и других админов-садистов, заставляющих рядовых пользоватлей этим УГ пользоваться:)

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

> С чего ты взял, что гуевая конфигурялка _для_всех_ удобнее чем правка текстового конфига?

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

> Я юрист, пользую линукс дома, мне обязательно учить синтаксис xml, чтобы не быть тупым быдлом? ;)

Ответ на этот вопрос зависит от того, насколько глубоко Вы хотите влезать в потроха линуха. Там УЖЕ СЕГОДНЯ немало XML. Посмотрите хотя бы на hal. Да, насчет "тупого быдла" - Вы забыли кавычки, это не мой термин.

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

>Выясняется, что для рядового юзера вообще ни черта нет.

а xorg.conf - для рядового юзера? "Рядовой юзер", к твоему сведению, вообще консоль не видит.

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

> Ну так построили бы для начала.

Это как? Построить систему конфигурирования "авось кто-нибудь заюзает"? Так строятся только пионерские поделия. Нормальные люди отталкиваются от насущных задач. Понадобился Линусу VCS - он построил git. Понадобится иксам x(g)conf - сделают.

> Где qgconf-editor? Где kgconfe-ditor? xconf-editor? ncurses...

Значит, на сегодня эти тулзы не нужны тем, кто мог бы их сделать.

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

> Ответ на этот вопрос зависит от того, насколько глубоко Вы хотите влезать в потроха линуха.

Нет, мне далеко не надо. Мне просто нужно иметь возможность поменять нужные мне настройки. Сейчас поменять. Не завтра, когда выйдет новая версия конфигурялки, в которой таки можно этот параметр изменить, а именно сейчас.

> Посмотрите хотя бы на hal.

Мне хватает openbox в качестве примера насколько это все неудобно с точки зрения неойтишнега. ;)

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

> <?xml version="1.0" encoding="UTF-8"?> <question>А чем плох XML?</question>

> answer="Для конфига избыточен"

<?xml version="1.0" encoding="UTF-8"?> <question>Есть возможность внесения схемы <important>И проверки на валидность конфига сторонними средствами?</important></question>

answer="для XML - есть, для самописных конфигов - отсутствует."

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

> Нет, мне далеко не надо. Мне просто нужно иметь возможность поменять нужные мне настройки. Сейчас поменять. Не завтра, когда выйдет новая версия конфигурялки, в которой таки можно этот параметр изменить, а именно сейчас.

и меняйте ;)

> Мне хватает openbox в качестве примера насколько это все неудобно с точки зрения неойтишнега. ;)

неойтишнего НЕ ДОЛЖНЫ лазить в конфиги и копаться в них. Если лазаешь в конфиг - ты уже оЙтишнег, хоть и начинающий.

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

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

gconf-editor очень поможет таким как Вы (если что, это не оскорбление, а совет).

> Мне хватает openbox в качестве примера насколько это все неудобно с точки зрения неойтишнега. ;)

Вы строите обобщения на неудачной реализации подхода. Смысл?

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

>> В чём проблема? Парсеров INI вроде полно.

> В том, что, ентерпрайз-прогеры ничего кроме XML не признают, наверное.

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

INI - хорошо для наколенной поделки, но не решения уровня сервера - типа apache.

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

> а xorg.conf - для рядового юзера? "Рядовой юзер", к твоему сведению, вообще консоль не видит.

Да ну? Текстовый файлик открыть и заменить nv на nvidia уже стало непосильной задачей? Да такое быдло к компу подпускать опасно!!

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

> Значит, на сегодня эти тулзы не нужны тем, кто мог бы их сделать.

Ну так NIH синдром. То что никому не нужно, пытаются пропихнуть.

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

> неойтишнего НЕ ДОЛЖНЫ лазить в конфиги и копаться в них. Если лазаешь в конфиг - ты уже оЙтишнег, хоть и начинающий.

Ой, а что мне делать, если в графической конфигурялке не все параметры? ;) Забить, или лезть в конфиг?

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

>Текстовый файлик открыть и заменить nv на nvidia уже стало непосильной задачей? Да такое быдло к компу подпускать опасно!!

gconftool-2 -s /system/xorg/driver -t string "nvidia" стало непосильной задачей? Да такое быдло к компу подпускать опасно!!!!1111адынрас

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

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

А ты знаешь, мне как-то радикально пох*й на ынтерпрайз быдлопрогеров. Мне надо настрочить конфиг для прог, вроде moc, mpd и т.п. Сейчас мне хватает любого текстового редактора за глаза. Ждать, когда kde-шниги и консольщики осилят конфигурялку у меня как-то нет желания.

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

> Ой, а что мне делать, если в графической конфигурялке не все параметры? ;)

В тулзах уровня gconf-editor/gconftool-2 всегда будут все параметры. Хотя даже эти тулзы требуют минимальной квалификации и понимания смысла происходящего.

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

> То что никому не нужно, пытаются пропихнуть.

Как раз наоборот. Им понадобилась адекватная система конфигурирования - они думают, не сделать ли ее. Если Вы считаете это NIH - предложите альтернативу. Обладающую соответствующим уровнем гибкости, удобства, поддержкой мета-информации и пр. и пр.? LDAP был бы слишком тяжеловесен.

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

> мне как-то радикально пох*й на ынтерпрайз быдлопрогеров

Как Вы к людям - так и они к Вам.

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

> Вы строите обобщения на неудачной реализации подхода. Смысл?

А у этой реализации (кроме наличия xml как такового) всего два недостатка (лично для меня). Первый - не все параметры доступны. Второй - нет консольной (ncurces и cli) реализации конфигурялки. А есть более удачные примеры?

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