LINUX.ORG.RU

30 лет исполнилось X11

 , ,


2

3

Проект X.org празднует 30 лет с момента выхода X11. 15 сентября 1987 года Ральф Свик (Ralph R. Swick) представил первый релиз X Window System Version 11, ознаменовавший переаботку и стабилизацию иксов. Самое удивительное, что протокол X сменил нумерацию от X1 до X11 за три года, а X11 продолжает эксплуатироваться уже 30 лет подряд, обрастая расширениями — Xvideo, X Font Server, XKB и другие.

Были и попытки поменять X.org на другой графический сервер. Berlin, Fresco, Y Window System, Mir — далеко не полный список попыток. Основным аргументом было то, что иксы создавались в совершенно другую эпоху развития PC, а сейчас уже появилась дискретная графика, многоядерные и мобильные системы, изменились требования безопасности. Но к сожалению, пока что никто кроме X, не смог собрать воедино ни разработчиков драйверов, ни разработчиков софта и попытки замены иксов по-прежнему воспринимаются скептически. Единственный (если почему-то не считать Fedora) на сегодняшний день пример удачной замены X.org на Wayland с полным официальным Support — это Raspbian 9.

>>> Подробности

★★

Проверено: Shaman007 ()
Последнее исправление: CYB3R (всего исправлений: 5)
Ответ на: комментарий от ckotinko

если ты не можешь в английский, так бы и сказал.

«Что ж ты, фраер, сдал назад?» Как это: переход на личности - слив. Давай лучше пропой песенки как OpenGL просто отдается драйверу.

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

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

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

Ну а если серьезно - чисто технически разработчики wayland не захотели заморачиваться со всякими топологиями, потому как экран в wayland - это не обязательно плоскость,

Я тоже видел то видео, но уверяю никто в реале такой хренью страдать не будет, десктопы плоские и координаты у окон есть. А если кто и будет окна в 3д развешивать, то вполне смог бы обойтись X и Y координатами на текущей стене. И список окон у вейланд сервера тоже есть, альттаб же не божьим проведением работает. Чего у них нет, так эти желания ради дурацких хотелок создавать дыры. У них чёткая концепция: программа может распоряжаться только внутри своего окна и ни на другие, ни в десктоп лезть на должна.

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

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

Куда уж мне до твоих бессмертных:«OpenGL обращается к серверу», «Отрисовка идет прямо в драйвер», «Отдаются прямо готовые картинки». Хотя, с одной стороны цитировать «GPU path cache stores the tessellated triangle mesh resulting from tessellation per path», а с другой утверждать про отсутствие путей не менее прекрасно. Какие еще тайны я не знаю, о которых тебе нашептывают твои тайные друзья? Постоянная Больцмана плавает от времени суток и вообще может меняться усилием воли? Что еще?

Ты больной. Тебе надо к врачу.

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

так еще позиционировать менюшки надо. вот пример - я хочу сделать popup над своим окном. у меня например круглое меню.

при этом мне НАДО знать, где находятся края экрана, т.к. от этого зависит сколько элементов я вмещу на «диск» менюшки. И меню сдвигать нельзя. Ну вот мне захотелось. В wayland решили, что мне это не требуется, потому что они самые умные. ну ок, дайте мне тогда возможность запросить геометрию создаваемого окна с подсказками куда я хочу расширять меню. Нету. Да ёпт.

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

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

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

да ты и по русски плохо понимаешь.

по-русски. У нас так принято. Учи язык.

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

Я же не Дельфийский оракул, чтобы искать смысл в твоем бреду. (Насколько я понял, это были оправдание попыток использования универсальных конвейеров для 2d и 3d графики. Наверное. К обсуждаемой теме имеет отношение чуть меньше чем никакое.) И почему кастрелеголовый?

Еще раз, коротко: ты сильно болен. У тебя бессвязная речь и беспричинная обидчивость.

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

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

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

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

попробуй не писать мне свои бессвязные тексты. мне правда не интересно.

«Три дня я гналась за вами, что бы сказать как вы мне безразличны».(C) Ты не вздумай учудить там ничего с горя, лучше еще раз документацию почитай.

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

Там кроме примитивов много проблем

Возможно. Вызывает сомнение предложенный способ их решения.

и опять же - легаси!

Вэйланду десятый годок скоро пойдёт уже. Тоже легаси. Давайте его перепишем на javascript и будем запускать в браузере.

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

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

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

я даже честно посмотрел в протокол вяленного. ну вот правда, там атас, я был лучшего мнения. неудивительно что багтрекеры qt и gtk полны сообщениями про misplaced menu.

если мне нужен popup, то наверно я даже соглашусь танцевать от моего окна, но! давайте я будут танцевать от точки в этом окне, и сообщу мои пожелания о том, в какую сторону может/хочет расти popup. а мне в ответ дадут приемлемую геометрию окна. окей, это чудесно бы было. А что имеем? А вот что:

wl_shell_surface::set_popup - make the surface a popup surface

seat
    wl_seat - seat whose pointer is used
serial
    uint - serial number of the implicit grab on the pointer
parent
    wl_surface - parent surface
x
    int - surface-local x coordinate
y
    int - surface-local y coordinate
flags
    wl_shell_surface::transient (uint) - transient surface behavior

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

предлагали расширение:

https://lists.freedesktop.org/archives/wayland-devel/2013-February/007340.html

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

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

Двое из разработчиков X.Org и один — Wayland (котрый в xorg за пределы XWayland не вылезает) работают в тандеме.

Так правильно.

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

Я, честно говоря, не понял, почему WM обязан обрезать X и Y координаты. Размеры вашего окна и попапа у вас должны быть (это ж вейланд, тут все окна растровые), так что, по идее, рисовать попапы выравненые по правому краю должно быть несложно. В том предложении, как я понял, хотели просто убедиться, что часть окна не выходит за пределы экрана и не перекрывается другим окном.

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

там проблема в том, что весь этот стафф работает только в самых примитивных сценариях и как бог WMу на душу положит. поэтому сплошняком misplaced menus. у разрабов вяленого опыта разработки GUI походу нет вообще, зато есть куча восхитительных идей как (как им кажется) оно должно работать.

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

Во-вторых, я думаю, что вы не очень-то разбираетесь в том, как работает графика, например тот же OpenGL. Он не обращается к «серверу». Отрисовка идет прямо в драйвер, а отдаются уже готовые картинки. Тот же wayland как раз и занимается передачей картинок.

Причем здесь вообще OpenGL?

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

Речь идет о Гуе + текст, сложную графику можно и картинками отдавать.

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

либо считается вредным

А вот и вся суть: то, что придаёт гибкость системе, но не нужно большинству обезьянок и препятствует превращению линукса в пародию на винду, разработчиками вяленого объявляется вредным.

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

то, что придаёт гибкость системе

Тут палка о двух концах.

Или ты гибок. Или ты безопасен.

Ты хочешь что бы система была небезопасной как винда?

Это конечно утрирование, но обычно гибкость не дается просто так.

За гибкость приходится платить.

Весь вопрос в приемлемости цены.

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

OpenGL здесь при том, что в современных видеокартах нет 2D ускорения.

Современные видеокарты - это intel, да?

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

Ты хочешь что бы система была небезопасной как винда? Это конечно утрирование

Плохое утрирование. Десктопный линукс врядл ли чем безопаснее венды. Но принцип неуловимого Джо спасает.

Чего там с гуевой изоляцией в венде, чего вот-вот в линукс добавляют? С Vista?

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

Ну нет и что с того? Причем здесь графический сервер?

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

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

Слово вряд ли - спасает ситуацию.

Иначе бы было чистым гоневом.

Раньше болтали без оговорок о десктопном. Теперь, когда на серверах windows в загонах, уже не болтают.

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

Или ты гибок. Или ты безопасен.

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

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

Да на здоровье.

Приемлемая плата за гибкость: есть некая группа пользователей, которой разрешён доступ к API, реализующему аналог xdotool. Есть список программ, которым разрешены подобные фокусы. По умолчанию он пуст, кому нужен, тот заполняет. Почему в Wayland нельзя реализовать подобное, чем это плохо для безопасности?

(Более радикальный вопрос - почему это нельзя было вообще реализовать как расширение к X11 и не ломать совместимость вообще, но это вопрос отдельный.)

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

Исходный посыл второго юзкейса какой? Что JS в аккаунте bolvan-а может загадить чем-то нехорошим его домашний каталог, хотя работает в песочнице?

P.S. У меня тоже есть периодически сносимый аккаунт для рискованных экспериментов, kamikadze называется :)

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

P.S. У меня тоже есть периодически сносимый аккаунт для рискованных экспериментов, kamikadze называется :)

Некоторые такое и на ЛОРе практикуют (:

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

А вот и вся суть: то, что придаёт гибкость системе,

Лет 30 назад человечество осознало, что программа делает то что хочет пользователь только если её автор проявил великодушие. Поэтому старое представление о компьютерной безопасности в виде ugo- или даже acl-прав никуда не годится, защищаться нужно не от людей, а от программ. В том числе и другие программы, которые написаны добрыми программистами и должны иметь возможность удостовериться, что пользователь согласен. Соответственно, как бы не было жаль, такой инструмент костыльной работы как xdotool просто не должен существовать в принципе.

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

Приемлемая плата за гибкость: есть некая группа пользователей, которой разрешён доступ к API, реализующему аналог xdotool. Есть список программ, которым разрешены подобные фокусы. По умолчанию он пуст, кому нужен, тот заполняет. Почему в Wayland нельзя реализовать подобное, чем это плохо для безопасности?

Потому что нет никакого Wayland'а, в котором можно было бы реализовывать всю эту хрень. Wayland - это протокол для управления окнами. Городить подмножество протокола, которое будет недоступно почти всегда, + требовать от сервера обеспечение аутентификации приложений, чтоб убедиться, что именно оно было добавлено в белый список, что в него не внедрён левый код через LD_PRELOAD просто тупо. Ещё тупее потом вырезать это подмножество потому, что слишком многие научились эксплуатировать эту дыру. Если необходим подобный функционал, можно реализовать его в дисплейном сервере напрямую (как уже сделано для скриншотов), либо как плагин/расширение, либо просто добавить сбоку собственный протокол для управления кишками дислпейного сервера.

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

Соответственно, как бы не было жаль, такой инструмент костыльной работы как xdotool просто не должен существовать в принципе.

В чём костыльность-то? И как сделать то же самое (автоматизировать данные, подаваемые на вход программы) не костыльно?

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

Что значит «можно»? Это будет сделано (как стандартный способ), или нет?

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

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

Соответственно, как бы не было жаль, такой инструмент костыльной работы как xdotool просто не должен существовать в принципе.

Похоже, дизайн wayland проходил по следующей процедуре:

1. Выбрать подможножество фич, которые проще всего реализовать не особо напрягаясь.

2. Убедить остальных, что кроме этого им ничего не нужно.

3. ?????

4. ВЫГОДА!

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

Тут палка о двух концах. Или ты гибок. Или ты безопасен.

твои рассуждения слишком абстрактны и поэтому практически неверны

какая безопасность теряется от наличия https://en.wikipedia.org/wiki/Virtual_desktop в их классической форме (десктоп-1, десктоп-2, ...) и приобретается от их отсутствия?

и если даже тебе внезапно и удастся что-то высосать из пальца на эту тему, то эта (без)опасность будет намного меньше профита

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

Или ты гибок. Или ты безопасен. За гибкость приходится платить.

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

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

В чём костыльность-то? И как сделать то же самое (автоматизировать данные, подаваемые на вход программы) не костыльно?

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

Что значит «можно»? Это будет сделано (как стандартный способ), или нет?

Где будет сделано? Будет ли добавлено в протокол Weyland? Наверняка нет. Будет ли создан универсальное приложение типа xdotool, которое будет принимать команды из параметров запуска и работать везде? Нет. Будет ли реализовано в виде записи экранных макросов в каком-нибудь маргинальном дисплейсервере для оправдания его существования? Весьма вероятно. Будет ли реализовано в специальном дисплейсервере для автоматического тестирования UI? Наверняка.

Тут анонимус правильно сказал - линукс потихоньку превращают в бесплатную пародию на винду.

Да неправильно он сказал. Это в старых виндах как раз широта возможностей, когда каждая удобная утилитка, типа того же пунтосвитчера внедрялась в чужие процессы как к себе домой и хорошо если не лезла в ядро. Помню, была утилитка, которая могла кнопки нажимать, посылать менять enabled/disabled у контролов и т.п., никто не говорил, что существование этой утилиты превращает винду в линукс. Сторонники десктопного линукса как раз всегда чесали бороду и говорили о прелести работы в защищённой среде с проверенным софтом из реп.

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

1. Выбрать подможножество фич, которые проще всего реализовать не особо напрягаясь.
2. Убедить остальных, что кроме этого им ничего не нужно.

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

Или они заботятся об удобстве для разработчиков дисплейсерверов? Тогда чего сложного в реализации этих функций в сервере? Список окон по альттабу показывается, видимо эта функция уже реализована. И клавиатура как-то работает, видимо авторы weston/mutter/kwin как-то осилили вставку нажатий в окно, которое у них отмечено как имеющее фокус.

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

Вот предположим вы - разработчик протокола Wayland. Чего вообще сложного для вас в том, чтоб добавить в описание 2 функции...

Такие таланты. В очередной раз ниасилили. Для них это нормально.

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

Wayland - это протокол для управления окнами.

окнами

Невнимательно читал протокол Wayland. Там не ОКНА, там ПОВЕРХНОСТИ. Т.е. wayland даже не оконная система, это композитор поверхностей. У поверхности нет состояния модальная, или свернутая, или развернутая на весь рабочий стол. Эти состояния появляются только если разработчики композитора проявили великодушие.

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

Так вот, ты ведь не использовал три года назад на этом Pentium-1 самое распоследнее ядро и какой-то современный дистр?

Распоследнее ядро — конечно нет, нафига? Обновление ядер (в особенности Linux) имеет смысл только при появлении неподдерживаемого железа.

Что касается «современного дистра», то, пардон, Openwall считать таковым или нет? Я, честно говоря, не знаю. NB: в нём всё ещё LILO, и я его люблю в том числе и за это.

Установить старый, но ещё поддерживаемый Linux-дистрибутив

Так-с, ну-ка, давай, покажи мне такой «старый, но ещё поддерживаемый», где нету systemd. Вопрос не праздный, на моей основной машине убунта 2009 года, в своё время установленная ради поддержки нового принтера «из коробки» и превращённая воооот такими ножницами в слабое подобие нормального юникса, выдержала два или три дистапгрейда, попутно превратившись в debian, но сейчас уже всё, любые попытки дёрнуть apt-get приводят к простыне несовместимостей, на чём всё и заканчивается.

Железа новее, чем пять лет от роду, у меня нет и не бывает, так что bleeding-edge мне не просто не нужны, меня от них тошнит и воротит. Проблема в том, что, по моим ощущениям, вот этого вот «старый, но всё ещё поддерживаемый» в природе не существует.

Ну не будет же мир подстраиваться под тебя лично и забивать на разработку чего-то нового, только потому что тебе нравится использовать X.Org и его функционал на P-I и EeePC.

Мне всё ещё кажется, что мир в какой-то момент должен осознать бесперспективность и мракобесную сущность оголтелого ньюфажства. Реального прогресса я не наблюдаю уже лет двадцать — вместо этого получается «теперь для тех же задач и того же уровня профита нам нужны процессоры, греющие воздух впятеро сильнее».

Тебе дают свободу выбора? Да.

Судя по тому, как оперативно systemd отравил все основные дистрибутивы, никто мне ничего не даёт. Остаётся разве что вооружиться компилятором и взять эту свободу выбора самому.

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

Мне приходится в NoScript временно разрешать доступ сайтам к жс

Я пробовал NoScript, но, во-первых, современные уЁбдезигнеры делают сайты так, что они с NoScript несовместимы даже после нажатия на «разрешить всё на этой странице», а во-вторых, кому попало разрешать выполнять JS, если браузер запущен из-под моего основного акка — это, извините, эксгибиционизм какой-то.

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

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

Представь, что ты разрабатываешь ДЕ, имея в своем арсенале только базовый протокол Wayland. Нормальную ДЕ ты не получишь... Нормально получится только после прикручивания чего-то подобного https://fedoraproject.org/wiki/Wayland_features (там еще одна ссылка была с более подробным списком, её чет не найду).

По сути, примерно половина этого списка должна быть описана в протоколе Wayland изначально, а не прикручиваться в попыхах в реализациях. В той же КДЕ получится аналогичный список, только уже несовместимый с гномом...

P.S. Более вероятно, что это эпический фиал разарботчиков Wayland, а не мифическая забота о безопасности.

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

хотя работает в песочнице?

Это не песочница, видимость одна.

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

Я пробовал NoScript, но, во-первых, современные уЁбдезигнеры делают сайты так, что они с NoScript несовместимы даже после нажатия на «разрешить всё на этой странице»

Есть такое.

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

Тоже верно.

Ещё некоторые ставят баннер «БЕЗ ЖС НИЗЯ!!!!111», благо, что это можно обойти.

awesomelackware
()

wayland везде потключал, ибо потерял то, что прекрасно работало.

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

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

Вот предположим, что у вас есть описание http и языка html, достаточно ли этого, чтоб написать собственный веб сервер? В http нет ни слова о том, будут ли пользовательские программы запускаться на каждый запрос, как cgi, или обработка запросов ведётся одним процессом в потоках или асинхронно. Ни слова не говорится о том, должен ли существовать шаблон затормозить и как он должен быть организован. С вейландом то же самое, не удивительно, что большая часть функционала отдана серверу на его усмотрение.

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

Вот предположим вы - разработчик протокола Wayland.

Я, между прочим, воздерживался от оскорблений в этом треде. Давайте и Вы не будете.

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

твои рассуждения слишком абстрактны и поэтому практически неверны

Я же сказал, что это утрирование:

Это конечно утрирование, но обычно гибкость не дается просто так.

Практически любую проблему можно решить по другому расставив приоритеты.

Но тут уже вопрос выбора. Кто-то запихнет в сервер код проверяющий безопасность каждого вызова, кто-то забъет на безопасность, а кто-то вырежет функциональность.

Вон у QNX последнего есть несколько вариантов сборок ядра. Какой хочешь выбирай, хочешь - скорость, хочешь безопасность. Но и то, и то не получится.

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