LINUX.ORG.RU
ФорумTalks

Почему иксы будут существовать еще 10 лет, или главная ошибка всех замен X.org

 , ,


0

3

Berlin/Fresco, Y Window System, Wayland, Mir наступили на одни и те же грабли- ни одна замена иксов не является единым целым, как иксы.

  • Иксы - это единое отлаженное целое, работающее сегодня и не требующее лишних ковыряний в системе и костылей.
  • Mir - это иксы без нормального объектно-ориентированного программирования, в результате чего, кроме юнити, оказалось на него ничего не будет, почему Mir и был закопан.
  • Wayland- это без нормальной поддержки оборудования, в результате чего Wayland работает только в Raspbian 9, и то его там не спешат, в отличие от некоторых ставить как дефолт.
  • Y Window System - еще одна попытка выкинуть иксы - никому не нужна, поскольку ее написал студент. А кто такой студент-одиночка в современном мире? Ему можно доверять?
  • Fresco - еще одна попытка выкинуть иксы и тоже R.I.P- никому не нужна, по причине того что это еще одна вариация иксов с сетевой прозрачностью.

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

★★

Последнее исправление: Lowes (всего исправлений: 4)
Ответ на: комментарий от Sunderland93

«На колу мочало». Теперь весь функционал xlib хотелось бы втащить на уровень композитора... Да тут пожирнее иксов станет!

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

Возьми и напиши, раз нужны

Но с этим теперь проблема, потому что

на уровне композитора

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

Это ты ещё юникодный motif со сглаживанием и настроенными темами не видел.

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

Исключительно из-за секьюрности, кмк.

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

По-моему лучше меньше кадров. В идеале достаточно вообще 2 кадра:

строка 1
строка 2
строка 3
строка 4
а потом сразу
строка 2
строка 3
строка 4
строка 5
или
строка 5
строка 6
строка 7
строка 8

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

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

В том и суть, что с ними слинкованы тонны современного софта. А Tk в виде Tkinter'а вообще дефолтный GUI для того же Python'а.

в современном графическом протоколе

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

Предлагали сделать протокол для доступа к окнам, но от идеи отказались. Рассматривается вариант с разрешениями, типа как в Андроиде при установке программы. Решением для шаринга экрана и скринкастов должен стать PipeWire

Это всё неюниксвейно. По юниксвею всегда должна быть возможность выстрелить в ногу. Система, которая ограничивает юзера, считает себя слишком умной (прямо как винда), чтобы считаться юниксвейной.

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

Это всё неюниксвейно. По юниксвею всегда должна быть возможность выстрелить в ногу. Система, которая ограничивает юзера, считает себя слишком умной (прямо как винда), чтобы считаться юниксвейной.

То есть, права на файлы, группы, chmod и вот это всё тоже надо выкинуть, а сидеть вообще под рутом? У тебя очень странное понимание юниксвея.

Psych218 ★★★★★
()
Последнее исправление: Psych218 (всего исправлений: 1)
Ответ на: комментарий от Psych218

В идеале - да:

В Несовместимой системе разделения времени, операционной системе, разработанной хакерами Лаборатории ИИ, мы
сделали взлом защиты ненужным: мы просто не реализовали защиту в этой системе. Хакеры сознавали, что защита
была бы механизмом, с помощью которого администраторы господствовали бы над нами. Так что мы никогда не давали
им этого средства.

(Ричард Столлман)

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

Кому-то нужен скроллинг рывками?

Да. Я, например, отключаю «use smooth scrolling» в firefox. Без него комфортнее, более отзывчиво по ощущениям.

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

Ричард Столлман

Он противник юниксвея (достаточно посмотреть на Emacs или даже гнутые тулзы, в которые понапихано просто уйма всего, не относящегося к задаче, да и GNU's Not Unix). Неудачно ты цитату выбрал. Нет, я понимаю, что можно считать, что никакие ограничения не нужны (хоть и совершенно не разделяю эту позицию), но к юниксвею это уж точно никакого отношения не имеет.

Psych218 ★★★★★
()
Последнее исправление: Psych218 (всего исправлений: 1)
Ответ на: комментарий от saahriktu

В том и суть, что с ними слинкованы тонны современного софта. А Tk в виде Tkinter'а вообще дефолтный GUI для того же Python'а.

Значит будут находить оптимальное решение. Обычно для обсуждения есть списки рассылки. На крайняк ирка. Там и можно спросить и предложить, я думаю.

Вот тулкиты и портируют. Но, тулкитов десятки, если не сотни.

При этом мейнстримных и ходовых всего 2 - GTK и Qt, и обеспечить их идеальную работу в Wayland задача куда более приоритетная.

Это всё неюниксвейно. По юниксвею всегда должна быть возможность выстрелить в ногу. Система, которая ограничивает юзера, считает себя слишком умной (прямо как винда), чтобы считаться юниксвейной.

Странные у тебя понятия юниксвея. Да и какой юниксвей, 2017 на дворе. Юниксвей себя изжил, и в современных реалиях неэффективен

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

Он противник юниксвея

И потому он сделал ОС семейства UNIX, ага.

Emacs

Расширения emacs'а не являются его частями. Это отдельные скрипты. Они могли быть на чём угодно, от Perl'а до Ruby, Tcl'я и Python'а. Но, они написаны на emacs lisp'е. Вот и вся разница.

гнутые тулзы

В них, согласен, много неюниксвейного. Но, как выясняется, это следствие соответсвия POSIX'у. Это POSIX испортили.

но к юниксвею это уж точно никакого отношения не имеет

Избегайте пользовательских интерфейсов, ограничивающих возможности пользователя по взаимодействию с системой.
saahriktu ★★★★★
()
Ответ на: комментарий от saahriktu

И потому он сделал ОС семейства UNIX, ага.

Разделять философию Unix и делать ОС семейства Unix — совершенно разные вещи. Скажи ещё, что подход макоси юниксвеен. А она ведь тоже ОС семейства Unix.

В них, согласен, много неюниксвейного. Но, как выясняется, это следствие соответсвия POSIX'у. Это POSIX испортили.

Нет. В POSIX понадобавляли лишнего (типа cat -v), но совсем не много. В GNU же понадобавляли ещё в несколько раз больше.

Psych218 ★★★★★
()
Последнее исправление: Psych218 (всего исправлений: 1)
Ответ на: комментарий от Sunderland93

Юниксвей себя изжил, и в современных реалиях неэффективен

Для противников юниксвея есть винда. А GNU/Linux - ОС семейства UNIX. И делать из него вторую винду нет смысла. Зачем, когда одна уже есть, и настолько хорошо мимикрировать под винду линукс никогда не будет?

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

Ну, может быть, может быть. Тем не менее, приведённая выше цитата отражает не то, что Столлман делал лично, а то, как на всё это смотрели хакеры 70-х.

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

Только вот фпс игрулек на линаксе с говноиксами и макости почему-то отличаются, причём не в пользу первого.

Потому что в MacOS гибридное ядро, как и у Windows. А у Linux-монолитное ядро. Вот в чем разница. Вот и подумайте, откуда берется высокий FPS в MacOS и Windows. За счет того, что в гибридном ядре можно запускать ПО как в пространстве ядра, так и в пространстве пользователя. Вот и подумайте, где DirectX и OpenGL находятся в Windows/MacOS, а где OpenGL находится в Linux.

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

Для противников юниксвея есть винда. А GNU/Linux - ОС семейства UNIX. И делать из него вторую винду нет смысла.

Вот с этим я полностью согласен. Но ограничения для обычных пользователей и запущенных от их имени программ были реализованы задолго до винды и даже доса (где этих ограничений не было вообще) как раз в Unix. И это реальная необходимость, потому что пользователь просто физически не в состоянии анализировать исходники вообще всего, что он запускает, а есть ведь ещё и программы без исходников. Ожидаемый ответ — «они не нужны». Но в реальности иногда некоторым всё же нужны, и от этого никуда не деться. Пользователи, группы, unix-пермисси — позволяют это делать более безопасно. Инструменты вроде firejail позволяют это делать ещё чуть более безопасно. Но иксы в этом очень сильно мешают, поскольку любая программа может читать ввод любой другой, как и содержимое окна, и с этим ничего практически (кроме запуска иксов внутри иксов, как Xneur) не сделать. Wayland решает эту проблему, давая возможность по умолчанию не предоставлять такого доступа приложениям. При этом никто не мешает написать композитор так, чтобы он предоставлял тот же самый доступ ко всему ровно как и в иксах. И никаких костылей для этого не нужно, просто Wayland это меньше чем иксы, поверх него можно реализовать и нечто очень близкое к иксам по всем параметрам, просто не нужно. Это как раз тот самый юниксвей, когда вместо одного блоба в единственной реализации мы получаем протокол, маленькую либу и заменимую реализацию собственно «оконной системы» (любой композитор, как независимый, так и на WCL, например).

Psych218 ★★★★★
()
Последнее исправление: Psych218 (всего исправлений: 1)
Ответ на: комментарий от saahriktu

GNU/Linux - это не семейство Unix, это Unix-like. Это абсолютно разные вещи. И он не обязан следовать изжившей себя лет 20 назад концепции. Где, скажи, сейчас оригинальные юниксы, следующие этой концепции? В Жопе! А вот macOS, настоящий, сертифицированный Unix, избавился от этих пережитков прошлого, и давно мейнстрим. И GNU/Linux точно также, потихоньку избавляется от этих древних рудиментов. Первый шаг сделан - systemd. Следующий шаг - Wayland

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

При чём тут ядра? Ты хоть немного в графической составляющей ОС разбираешься? Производительность OpenGL одинакова что в винде, что в Linux

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

И GNU/Linux точно также, потихоньку избавляется от этих древних рудиментов. Первый шаг сделан - systemd. Следующий шаг - Wayland

Wayland и systemd противоположны по отношению к этой концепции. systemd как раз очень близок к иксам.

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

Если уж начинать избавляться от пережитков прошлого, то надо было начать с монолитного ядра, написав микроядро, а еще лучше - гибридное ядро. Об этом еще говорил Таненбаум. И это одна из причин, почему юниксы многие сейчас на дне и почему MacOS поднялась с колен. И никакие иксы тут не причем.

Lowes ★★
() автор топика
Последнее исправление: Lowes (всего исправлений: 1)

There is a lesson here for ambitious system architects: the most dangerous enemy of a better solution is an existing codebase that is just good enough.

ESR

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

Монолитные ядра очень плохо работают на CISC, коим является x86. К тому же Linux - не монолитен, а модульный. Это несколько разные вещи

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

Монолитные ядра очень плохо работают на CISC, коим является x86. К тому же Linux - не монолитен, а модульный. Это несколько разные вещи.

Но он не гибридный, как MacOS или Windows

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

В DragonFlyBSD гибридное ядро, и чо?

А DragonFlyBSD написан с нуля как Windows NT или XNU?

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

Но ограничения для обычных пользователей и запущенных от их имени программ были реализованы задолго до винды и даже доса (где этих ограничений не было вообще) как раз в Unix. И это реальная необходимость

К сожалению, да. Это те костыли, с которыми приходится мириться, поскольку ситуации бывают разные. И возникло всё это для разграничения ресурсов между разными юзерами в те годы, когда машины были большими и дорогими, и куча юзеров работала на одной машине через терминалы. Но, это не значит, что, якобы, ситуацию можно и нужно усугублять дополнительными ограничениями юзера. Когда-то нужно и точку поставить.

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

Маня, раз уж ты в википедии прочитал такие умные слова, как «гибридное ядро» - будь добр выскажи свою точку зрения технически. Потому что гибридное ядро, на самом деле, далеко не такое крутое, каким ты себе его представляешь

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

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

Значит. Только ограничения эти на практике не для юзера, а для программ. И без этого никак. Ситуацию позволяет до некоторой степени «усугубить» firejail (или AppArmor или SELinux), но иксы всё равно остаются «отверстием в виде огромной дырки», с которым ничего не поделать.

Когда-то нужно и точку поставить.

Когда пользователь сможет безопасно пускать софт без использования лютых костылей типа Xneur, тогда и пора. Wayland как раз это позволяет. В основном ради этого его и жду.

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

GNU/Linux - это не семейство Unix

Нет, это именно семейство UNIX. На схемах они рисуются так: https://www.tutorialspoint.com/unix/images/unix_architecture.jpg

А ОС других семейств выглядят иначе: http://2we26u4fam7n16rz3a44uhbe1bq2.wpengine.netdna-cdn.com/wp-content/upload... , https://upload.wikimedia.org/wikipedia/commons/f/f2/Diagram_of_Mac_OS_X_archi...

systemd

Больше чем 70 дистрибутивов на systemd не перешли. Да и в том же Debian'е в репозитории есть sysvinit.

Wayland

И с ним будет аналогично, если он не самозакопается через некоторое время. Очередные 70 дистрибутивов на него не перейдут, а в репозиториях ряда мейнстримовых дистрибутивов будут продолжать присутствовать иксы.

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

Нет, это именно семейство UNIX. На схемах они рисуются так:

BSD - это семейство Unix. Но никак не GNU/Linux.

Больше чем 70 дистрибутивов на systemd не перешли. Да и в том же Debian'е в репозитории есть sysvinit.

Кто все эти дистрибутивы? Кому они нужны? И что что в Debian он остался?

И с ним будет аналогично, если он не самозакопается через некоторое время. Очередные 70 дистрибутивов на него не перейдут, а в репозиториях ряда мейнстримовых дистрибутивов будут продолжать присутствовать иксы.

Вангую что в Fedora 30 иксы выкинут из репов.

Sunderland93 ★★★★★
()
Последнее исправление: Sunderland93 (всего исправлений: 1)
Ответ на: комментарий от Sunderland93

Маня, раз уж ты в википедии прочитал такие умные слова, как «гибридное ядро» - будь добр выскажи свою точку зрения технически. Потому что гибридное ядро, на самом деле, далеко не такое крутое, каким ты себе его представляешь

Давайте обойдемся без оскорблений. Гибридное ядро позволяет запускать как в пространстве ядра, так и в пространстве пользователя ПО. А монолитное ядро позволяет запускать ПО только в пространстве ядра все подряд, как и микроядро - только в пространстве пользователя. В результате чего только суперпользователь может например, монтировать диск в монолитном ядре, а в микроядре нельзя например, создать низкоуровневые драйвера того же антивируса, чтобы их нельзя было скушать из пользовательского пространства. У них конечно тоже есть недостатки, но допотопное монолитное ядро Linux, это такой же монстр, как и иксы, только еще в себе и не несущий никакой пользы для GNU.

Lowes ★★
() автор топика
Последнее исправление: Lowes (всего исправлений: 1)
Ответ на: комментарий от bender

и так нормально.

Тем кто не программирует для непосредственно иксов да :). Хотя, я не знаю получилось ли у вяленого не превратиться в монстра.

true_admin ★★★★★
()

Wayland- это без нормальной поддержки оборудования

Разве оно не дружит с иксовыми дровами? Где-то краем уха про это слышал, лень гуглить.

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

Гибридное ядро позволяет запускать как в пространстве ядра, так и в пространстве пользователя ПО

Нет, не позволяет.

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

Откуда ты этого бреда понабрался? Ты знаешь что такое FHS? Знаешь вообще принцип работы файловой системы в никсах?

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

Некомпетентность обсирающих иксы во все поля.

Я их и не обсераю.

ls-h ★★★★★
()
Ответ на: комментарий от Sunderland93

Откуда ты этого бреда понабрался? Ты знаешь что такое FHS? Знаешь вообще принцип работы файловой системы в никсах?

Но тогда объясни уж неграмотному, почему у Windows, у которой 90% доли на дескопах, или у MacOS, у которой 7-8% дескопов - гибридное ядро, а у Linux, у которого допотопное монолитное ядро - 2%? Android в пример не приводить, ибо там ядро - лишь пускалка, на ее месте может быть любая Unix-подобная ОС.

Lowes ★★
() автор топика
Последнее исправление: Lowes (всего исправлений: 1)
Ответ на: комментарий от Quasar

давно никто не пишет

!= есть куча старого софта

И кстати, никто не запрещает писать на самой xlib (особенно учитывая что xcb еще более низкоуровневое, лол)

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

Ядро NT пошло от OS/2, у Макоси современной ядро наследуется от NeXTSTEP, у которой оно было микроядром, кроме того - гибридное ядро у DragonFlyBSD, у которой доля вообще на грани погрешности. Но я не пойму где ты тут уловил связь между ядром, популярностью ОС и производительностью графики

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

Я не думаю, что рынок десктопов зависит от типа ядра. 90% пользователей даже не знают таких слов.

Но зато знают те, кто пишут драйвера и софт, а их качество уже влияет на выбор пользователя.

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

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

Следующий вопрос, который возможно прояснит ситуацию: Почему тогда несмотря на все усилия Valve, так до сих пор в Nvidia не смогли создать нормальных драйверов для Linux за 5 лет и до сих пор FPS в Windows на таких же играх выше? Привычка? Синдром утенка? Или все же допотопное монолитное ядро мешает?

Lowes ★★
() автор топика
Последнее исправление: Lowes (всего исправлений: 2)
Ответ на: комментарий от Lowes

Разработчики драйверов пишут их исходя из популярности ОС. Под линакс их пилят в последнюю очередь.

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

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

Unicode4all ★★★★★
()
Последнее исправление: Unicode4all (всего исправлений: 1)
Ответ на: комментарий от Lowes

С чего не смогли? OpenGL драйвер нвидии общий для всех ОС, которые они поддерживают, и его производительность везде одинакова. Не бери в пример кривые порты игр через транслятор. И у многих игр FPS выше, чем в винде. У меня во всяком случае

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

И все же, почему допотопные иксы выкидывать нужно, допотопный Init нужно, а допотопное монолитное ядро в пользу гибридного, как у Windows и MacOS - нет?

Lowes ★★
() автор топика
Последнее исправление: Lowes (всего исправлений: 1)
Ответ на: комментарий от Lowes

С чего оно допотопное? Отличное, современное ядро, постоянно вносятся новые подсистемы, рефакторятся старые. А иксы - устаревшее говно. Ещё раз - с чего ты решил что гибридное ядро лучше? Кто тебе сказал такое и какие технические аргументы могут это подтвердить?

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

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

о_О
Ну ты сказал! Про FUSE ты наверное ничего не слышал. Мало того, что не надо быть root'ом для монтирования, так и сам драйвер в пространстве пользователя.

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

Микроядерное ядро не означает отсутствия изоляции процессов.

но допотопное монолитное ядро Linux, это такой же монстр, как и иксы, только еще в себе и не несущий никакой пользы для GNU.

И где ядро от проекта GNU? На самом деле мне жаль, что HURD не взлетел. Но он не взлетел.

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