LINUX.ORG.RU

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

 , ,


0

0

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

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

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

★★★★

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

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

А кто говорил, что она идеальна и равных ей нет?

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

Я в общем-то говорил про интеграцию с HAL, который просто царство зумеля. Иксы разве зависят от fontconfig?

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

> конфиг иксов и без того древовидный, разницы с XML и не будет.

Разница очень большая, поскольку в xml можно обертывать многомерное представление данных, что сделает нечитаемым конфиг для многих людей. Ходячий пример - alsa. Нынешняя семантика иксового конфига достаточна для его нынешней же реализации.

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

>Какие теги? SAX читает файл потоково и дергает колбэки вида тег открыт/свободный текст/комментарий/тег закрыт.

согласен, я другого и не говорил, НО! всё равно - SAX прочитает весь файл. файл не индексированный, ты не сможешь сместиться на питцот тегов и прочитать с диска только 2 тега. это простой тестовой файл.

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

>гнать все в stdout как есть

и что бы сохранить это ты должен записать всё это барахло на диск.

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

XML для роботов, не для людей.

>Нет парсеров, кроме xml.

-1

XML придумали HTML-задроты из W3C, которые ничего другого не видели. YAML в стопицот раз удобнее, так же легко обрабатывается машиной, и при этом легко читается человеком.

>Да сгинут всякие красноглазные форматы, породившие помойку в /etc

Помойка в /etc малая плата за свободу выбора. Вы хотите всех строем загнать в светлое будущее?

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

> Разница очень большая, поскольку в xml можно обертывать многомерное представление данных

А топором можно отрубить ногу.

Aceler ★★★★★
()
Ответ на: XML для роботов, не для людей. от Camel

>Помойка в /etc малая плата за свободу выбора. Вы хотите всех строем загнать в светлое будущее?

строй уже есть -> позикс, asсii, с lang,utf. Так что чуть чуть больше строя сделает только лучше.

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

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

и ? c текстовыми файлами как быдто не так...

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

>SAX прочитает весь файл. файл не индексированный, ты не сможешь сместиться на питцот тегов и прочитать с диска только 2 тега. это простой тестовой файл.

Мы сравнивали xml с плоскими текстовыми файлами, которые тоже обычно читают от начала до конца.

>>гнать все в stdout как есть

>и что бы сохранить это ты должен записать всё это барахло на диск.

В /tmp/* файл, а потом переместить на место старого. Типа "транзанкция".

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

>Нет парсеров, кроме xml. Да сгинут всякие красноглазные форматы, породившие помойку в /etc

Помойка в /etc - вероятно больше зависит от политики дистрибутива, чем от формата конфигов. В ArchLinux, и наверняка во всех slackware-based дистрибутивах - никакой помойки в /etc нет, следовательно формат конфигов тут не причём. Просто - одни люди могут наводить у себя в жилище идеальный порядок при помощи самого обыкновенного веника и тряпки, а другие - могут жить в свинарнике, имея моющий пылесос, мотивируя наличие грязи - недостаточной мощностью данной модели пылесоса.

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

>и ? c текстовыми файлами как быдто не так...

точно, и поэтому не нужно менять текстовой xorg.conf на такой же текстовой xml. XML не нужен.

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

>но прочитает его весь.

любой парсер текстовых файлов так будет делать, потому что указывать нужное место "в хедере в байтах от начала" это не по текстовому.

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

>XML не нужен.

унификация парсеров нужна. XML нужен.

в каждой проге свой велосипед изобретать это сакс.

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

>В ArchLinux, и наверняка во всех slackware-based дистрибутивах - никакой помойки в /etc нет, следовательно формат конфигов тут не причём.

Файлопомойка в шляке начинается с '/'

Absurd ★★★
()
Ответ на: XML для роботов, не для людей. от Camel

>YAML в стопицот раз удобнее, так же легко обрабатывается машиной, и при этом легко читается человеком.

аргументация просто блеск

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

>Язык, на котором написан xorg - C - считаю устаревшим.

Неужели никто не увидел? Почему к флейму о языках не перешли еще? =)

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

>ещё есть StAX

2 my mind можно даже на базе expat сделать замечательный тул для модификации xml-данных из скриптов.

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

>UNIX-way и текстовые потоки идут лесом

разумеется они идут лесом. они только для развлечения админов пригодны.

>которые для изменения 10 параметров будут 10 раз парсить конфиг).

бред.

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

структуированная информация без оверхеда который мотребуется в INI:

NodeA.NodeB.NodeC=Something - второй уровернь вложения.

anonymous
()

XML не нужен

anonymous
()

Линух постепенно превращается в винду. Не удивлюсь если лет через пять в линухе все настройки будут xml'образном реестре.

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

>Файлопомойка в шляке начинается с '/'

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

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

унифицированный формат конфигов, это временный компромис на пути к унифицированному хранилищу данных.

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

>структуированная информация без оверхеда который мотребуется в INI: > >NodeA.NodeB.NodeC=Something - второй уровернь вложения.

Вот такой конфиг точно нужно каждый раз от начала и до конца читать.

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

>>Язык, на котором написан xorg - C - считаю устаревшим.

>Неужели никто не увидел? Почему к флейму о языках не перешли еще? =)

Тэйлганнеру я надоел, gaa холиворит слишком серьезно и без огонька, а желчные С++-ананимусы - 14-летние шизоиды. Неинтересно.

Absurd ★★★
()

схема или лисп в помощь, у многих программ конфиги на диалектах лиспа, тот же OpenAL / SuperTUX

anonymous
()

Присоеденяюсь. Зачем все это надо было если есть Лисп? Почему до сих пор нет внятной лисп-машины? Какой то XML. X там ... Линус опять же. Ведь Абельсон показывал же, я сам видел. В чем дело? Почему железо не на Лиспе?

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

> Линух постепенно превращается в винду. Не удивлюсь если лет через пять в линухе...

Представляешь, пять лет назад писали то же самое... :D

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

> Первые два аргумента комментирвоать не буду.

Ну почему бы и нет? Пусть иксы на яве перепишет, раз ему Ц не нравится. :)

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

>Линух постепенно превращается в винду. Не удивлюсь если лет через пять в линухе все настройки будут xml'образном реестре.

Ну и будет при сносе пакета сноситься ключи всех зависимых пакетов в таком "реестре". В винде то в силу пропиеритарности это невозможно, поэтому там есть "чистилки".

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

Это тебе никто не гарантирует. Думаю будут кривые пакеты, которые не будут ничего сносить. Не волнуйся, появится реестр - появятся и чистилки для него :)

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

Ну дык всё идет к этому. Появились всякие gconf'ы, hal'ы, dbus'ы и прочее ... uuid'ы вон уже в конфигах встречаются. Не долго осталось до того времени, когда vim'ом нельзя будет править конфигурацию.

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

> Как пример привел драйвер synaptics, который позволяет через механиз shared memory сообщить драйверу новые настройки, но не позволяет их сохранить в xorg.conf

И это правильно. Поскольку настройки отдельного юзера - это настройки отдельного юзера, и все его попытки писать в xorg.conf должны быть пресечены на корню. Кому надо - впишите в gnome-session/xclients/еще куда-нибудь вызов утилиты, которая будет восстанавливать ваши настройки.

no-dashi ★★★★★
()
Ответ на: комментарий от Reset

> Думаю будут кривые пакеты, которые не будут ничего сносить.

Пакеты ничего не сносят, учи матчасть.

Aceler ★★★★★
()

Предлагаю на ЛОР-пойнтовках вваливать конкретных люлей авторам и подтверждающим столь убогие новости о ФСГ, ЧСВ и ГСМ малоизвестных кодописак. В силу классического метода мотивации к успешному преподаванию квантовой физики.

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

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

>Только следует понимать - XML неудобен для пользования ни машине (огромные ресурсы на парсинг по сравнению с любым другим форматом), ни человеку -

4.2 О БОГИ!!!! - "ОГРОМНЫЕ РЕСУРСЫ!!!" б*я, как любят пи$деть люди. Я лично писал XML парсер, изначально закладываясь на огромный объем файла, большую скорость обработки и малый объем оперативы. Результаты таковы: обработка файла 1МБ занимает меньше 0.1 сек., 100 МБ 10 сек. Скорость обработки 1КБ стремится к нулю. При этом памяти кушало.... 4МБ - это при обработке 100МБ. Думаю у коммерческих парсеров скорость не сильно отличается.

>XML-конфиг будет абсолютно нечитаемым человеком.

По факту, XML конфиг очень даже читаем, его отличие от xorg.conf формата - наличие угловых скобок в секциях.Так что редактировать можно вполне текстовым редактором.

Сравни-те

Section "InputDevice" Identifier "Keyboard[0]" Driver "kbd" Option "Protocol" "Standard" Option "XkbLayout" "us,ru" Option "XkbModel" "microsoftpro" Option "XkbOptions" "grp:alt_shift_toggle,grp_led:scroll" Option "XkbRules" "xfree86" Option "XkbVariant" "basic,winkeys" EndSection

<InputDevice> <Identifier>Keyboard[0]<Identifier> <Driver>kbd</Driver> <Options Protocol="Standard" XkbLayout="us,ru" XkbModel="microsoftpro" XkbOptions="grp:alt_shift_toggle,grp_led:scroll" XkbRules="xfree86" XkbVariant="basic,winkeys" /> </InputDevice">

??? PS Данное обсуждение демонстрирует подготовленность аудитории.

Vinnie

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

Забыл добавить. Тестил на машине Celeron 1Ghz, 512 MB vinnie

anonymous
()

Вот кому делать нечего :( Мало того, что херней страдать начали, так еще и иксы в гном собиратся сунуть :(

alex-w ★★★★★
()

Че-то у меня не хватает фантазии придумать, что нужно хранить в пользовательских настройках Xorg.conf.

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

>Это тебе никто не гарантирует. Думаю будут кривые пакеты, которые не будут ничего сносить. Не волнуйся, появится реестр - появятся и чистилки для него :)

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

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

>унификация парсеров нужна.

Унификация парсеров не нужна, так как делает конфиги избыточными. Основное преимущество существующих текстовых конфигов — возможность дописывать в них с помощью echo и другими простыми средствами без их чтения и разбора.

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

>Наше всё - INI.

>Красивый и читабельный KDE-шный конфиг:

> ...

Что-то я не заметил поддержку иерархий

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

>> Разница очень большая, поскольку в xml можно обертывать многомерное представление данных

>А топором можно отрубить ногу.

Именно по этому масло намазывают на хлеб столовым ножом. А топорами пускай дровосеки в лесу машут...

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

Вообще лучше так:

Section "InputDevice"
    Identifier "Keyboard[0]"
    Driver "kbd" Option "Protocol" "Standard"
    Option "XkbLayout" "us,ru"
    Option "XkbModel" "microsoftpro"
    Option "XkbOptions" "grp:alt_shift_toggle,grp_led:scroll"
    Option "XkbRules" "xfree86"
    Option "XkbVariant" "basic,winkeys"
EndSection

<section id="InputDevice">
    <identifier>Keyboard[0]</identifier>
    <driver> "kbd"</driver>
    <option name="Protocol">Standard</option>
    <option name="XkbLayout">us,ru</option>
    <option name="XkbModel">microsoftpro</option>
    <option name="XkbOptions">grp:alt_shift_toggle,grp_led:scroll</option>
    <option name="XkbRules">xfree86</option>
    <option name="XkbVariant">basic,winkeys</option>
</section>

Явно избыточно.

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

>Явно избыточно.

Под первый вариант надо писать специализированный парсер. "Избыточный" вариант можно распарсить expat-ом элементарно

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