LINUX.ORG.RU
решено ФорумTalks

Наглядная демонстрация, почему Wayland и близко не готов

 , ,


0

1

Когда ставили обновления, заметили, что от libgtk-layer-shell0 зависит mate-panel. Решили вновь поставить и потыкать (под Wayfire), как она там поживает.

Мы неоднократно распинались на ЛОРе перед Wayland-фанатиками, почему оно ущербное по сравнению с иксами: этого нет, того нет. А тут всё (ну, не всё, но многое) наглядно представлено в удобоваримом для тупых хомячков виде: https://pic4a.ru/09/A66.png

Как вы собираетесь решать эти проблемы, Wayland-фанатики? Ну про wlr-foreign-toplevel-management-unstable Мы наслышаны, часть проблем он должен решить (если взлетит). Но что, например, с треем? Вместо XEmbed-трея, который суть полноценные мини-окна (произвольных пропорций, кстати), переводить всё на квадратно-гнездовое SNI-убожество? не смешно.

А впрочем, виртуальные рабочие столы wlr-foreign-toplevel-management-unstable вроде не покрывает. Так что даже это не полностью ;)

mertvoprog
() автор топика

Какая разница от того, что чего-то нет? Wayland новый, значит он лучше, чем старые «иксы», которыми пользовались инженеры в 80-х. Миллениалы выбирают Wayland! А то что не работает чё-то - ну и чё, браузер же работает. Чё тебе ещё надо? Оффлайн-софт уже в прошлом, он не нужен, потому что интернет уже дешёвый и быстрый.

ZenitharChampion ★★★★★
()

Вместо XEmbed-трея, который суть полноценные мини-окна (произвольных пропорций, кстати), переводить всё на квадратно-гнездовое SNI-убожество? не смешно.

В тренде именно квадратно-гнездовое убожество.

У меня вообще давно ощущение, что наступил мир из «Идиократии».

Тут к знакомой заходил. У ней сын мне гордо показывал, как он из Лего айфон собирает. Я-то думал, это просто прямоугольная заготовка под какую-то крупную фигню.

Я в его возрасте схемы паял. 👿

wandrien ★★
()

Ну про wlr-foreign-toplevel-management-unstable Мы наслышаны

      <entry name="maximized"  value="0" summary="the toplevel is maximized"/>
      <entry name="minimized"  value="1" summary="the toplevel is minimized"/>
      <entry name="activated"  value="2" summary="the toplevel is active"/>
      <entry name="fullscreen" value="3" summary="the toplevel is fullscreen" since="2"/>

Интеллектуальное убожество как оно есть.

На полном серьёзе люди сидят и переизобретают технологии конца 80-х. Того и гляди изобретут Windows 95.

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

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

Я в его возрасте схемы паял. 👿

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

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

Дитё разобрало комп и обратно не собрало. Проц в утиль. Комп, правда, старый был, но и на старый детали не бесплатные.

Мне дано ответственное задание поехать с дитём на барахолку, купить детали и вместе с ним всё собрать.

Буду приобщать к IT. :)

wandrien ★★
()

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

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

Дитё разобрало комп и обратно не собрало. Проц в утиль. Комп, правда, старый был, но и на старый детали не бесплатные.

Так ведь так и учатся. Я, между прочим, свой первый компьютер, купленный за свои первые заработанные деньги (!!!), сжёг к такой-то матери, когда провод для «флоппика» запихнул в разъём для вентилятора. Зато теперь без страха жонглирую «ряженками», как заправский циркач, ибо теперь точно понимаю, что, куда и нах… Ну, вы поняли.

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

Хотите изменить? Пилите X12, с SSH-соединениями и изоляцией клиентов.

Я бы начал с того, что нужна абстракция «сеанс», в рамках которого функционируют «приложения». Все - оконные, консольные, со звуковым интерфейсом, какие угодно. В качестве отправной точки существующий d-bus сойдёт. Но можно взять и протокол обмена клиентскими сообщениями от X11.

В этом «сеансе» имеются «ресурсы», такие как GPU (или удалённые принтеры; что угодно), с которыми можно взаимодействовать через определённые API. Для скоростных устройств есть возможность установки канала связи напрямую, минуя шину сеанса (после первичного обмена пакетами на шине).

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

Получится ядрёный патефон, который имел бы шанс спокойно пережить следующие 40 лет эволюции софта.

Но для этого нужна команда и бабло. А в тренде херак-херак и в продакшен. При чем в случае с вяленым даже продакшен уже 10 лет как всё никак.

Самый прикол, что половина необходимых фич есть в d-bus, и половина в X11. Нужна была просто воля руководства, чтобы объединить сильные стороны технологий в новом решении, а не выкидывать всё на помойку.

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

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

Так же как получилось с gtk2 -> gtk3, только теперь в большем масштабе.

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

Остальным никуда не упёрлость переписывать кучу прикладного софта ради того, чтобы кто-то где-то получил премию.

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

Я бы начал с того, что нужна абстракция «сеанс», в рамках которого функционируют «приложения».

Но не приложение, а его GUI. Ведь если обрывается связь с интернетом, то приложения, использующие его не закрываются тут же сами по себе. Вот так же и с X-сервером надо. Закрылся/упал, ну и пусть, приложение продолжает работать. Запустится новый - приложение переконнектится, и окошки снова появятся.

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

Но не приложение, а его GUI. Ведь если обрывается связь с интернетом, то приложения, использующие его не закрываются тут же сами по себе.

Сеанс должен быть открыт локально. А уже шина устанавливает коннект с другой, удалённой шиной. Если коннект отваливается, приложение просто перестаёт видеть ресурсы другой стороны до переподключения.

Вот так же и с X-сервером надо. Закрылся/упал, ну и пусть, приложение продолжает работать. Запустится новый - приложение переконнектится, и окошки снова появятся.

Даже в случае с X-сервером, падение приложений — не вина протокола, а убогость первой реализации xlib, которая при дисконнекте делала abort().

Ну а потом так и повелось.

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

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

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

Если прикладной код работает с обёртками тулкита, а не с идентификаторами X-ресурсов напрямую, он даже не заметит переподключения.

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

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

xml

Уууу все, вейланд устарел не родившись. Надо переписывать все на yaml. Увидимся через еще 10 лет

Midael ★★★★★
()

переводить всё на квадратно-гнездовое SNI-убожество? не смешно.

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

eternal_sorrow ★★★★★
()

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

papin-aziat ★★★★★
()
Ответ на: комментарий от wandrien

Я в его возрасте схемы паял. 👿

Ага. И смотри, во что ты вырос.

из Лего айфон собирает.

А он вырастет успешным бизнесменом.

i-rinat ★★★★★
()

Зачем на снимке такие громадные кнопки? Они просто угнетают меня своей огромностью. Я буду жаловаться во всемирную лигу сексуальных реформ!

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

Миллениалы

Зумерки же.

А впрочем, Wayland уже достаточно старый, чтобы быть и миллениальским.

mertvoprog
() автор топика
Ответ на: комментарий от ZenitharChampion

браузер же работает

Так он и на ChromeOS работает. Там и не иксы, и не вяленд, а что-то своё (Ozone, кажется). Нафиг тогда GNU/Linux нужен?

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

Зачем на снимке такие громадные кнопки?

+1. Бесит гигантомания.

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

Это естественное следствие сверхопеки, которая в последние десятилетия стала массовой, породив т.н. emerging adulthood, запущенной стадией которого являются хиккикомори.

Детей с детства не учат быть взрослыми, не подпускают ни к чему серьёзному (ОНИЖЕДЕТИ!!!111), потому взрослыми они стать не могут даже после совершеннолетия. Не умеют, не обучены, смысла не видят, да и старшими поколениями давно всё занято (а уходить они не спешат, иначе придётся жить на нищенскую пенсию, или вообще на собственные сбережения в странах, где пенсии нет).

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

Местные и хабровские пердуны вон кичатся, как они шлялись где попало, всякую дичь взрывали, и т.д. и т.п. Как это возможно в нынешние времена, когда киндеры массово обвешаны GPS-маячками, чтобы никуда не сбежали? А в этом году вообще на карантинах сидят дома взаперти, не имея права никуда отлучиться без сопровождения взрослых.

Этот новомодный эйджизм необходимо искоренять, иначе Идиократия точно наступит ;)

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

с SSH-соединениями

Иксы отлично поверх SSH пробрасываются, зачем их сливать? Это не юниксвейно.

и изоляцией клиентов

Так это как раз главное идеологическое ненужно, которым Wayland пропитан. Не надо никого изолировать, по крайней мере принудительно. Если нужно изолировать что-то сенситивное, можно (и надёжнее) просто запустить его в контейнере или виртуалке.

mertvoprog
() автор топика
Ответ на: комментарий от wandrien

нужна абстракция «сеанс»

systemd --user?

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

Если всё так радужно — почему микросервисные ядра до сих пор в жопе, несмотря на рост мощностей?

ниша уже давно плотно занята

Она в конце 00-х уже вроде бы была плотно занята. А сейчас от того, чем она была занята, ничего не осталось, кроме MTK OS разве что.

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

Как предки обходились без enum…

Утерянные технологии исчезнувшей цивилизации.

$ xprop -root _NET_SUPPORTED

_NET_SUPPORTED(ATOM) = _NET_SUPPORTING_WM_CHECK, _NET_WM_FULL_PLACEMENT, _NET_CURRENT_DESKTOP, _NET_NUMBER_OF_DESKTOPS, _NET_DESKTOP_GEOMETRY, _NET_DESKTOP_VIEWPORT, _NET_ACTIVE_WINDOW, _NET_WORKAREA, _NET_CLIENT_LIST, _NET_CLIENT_LIST_STACKING, _NET_DESKTOP_NAMES, _NET_CLOSE_WINDOW, _NET_DESKTOP_LAYOUT, _NET_SHOWING_DESKTOP, _NET_WM_NAME, _NET_WM_VISIBLE_NAME, _NET_WM_ICON_NAME, _NET_WM_VISIBLE_ICON_NAME, _NET_WM_DESKTOP, _NET_WM_STRUT, _NET_WM_STRUT_PARTIAL, _NET_WM_ICON, _NET_WM_ICON_GEOMETRY, _NET_WM_WINDOW_TYPE, _NET_WM_WINDOW_TYPE_DESKTOP, _NET_WM_WINDOW_TYPE_DOCK, _NET_WM_WINDOW_TYPE_TOOLBAR, _NET_WM_WINDOW_TYPE_MENU, _NET_WM_WINDOW_TYPE_UTILITY, _NET_WM_WINDOW_TYPE_SPLASH, _NET_WM_WINDOW_TYPE_DIALOG, _NET_WM_WINDOW_TYPE_NORMAL, _NET_WM_ALLOWED_ACTIONS, _NET_WM_WINDOW_OPACITY, _NET_WM_ACTION_MOVE, _NET_WM_ACTION_RESIZE, _NET_WM_ACTION_MINIMIZE, _NET_WM_ACTION_SHADE, _NET_WM_ACTION_MAXIMIZE_HORZ, _NET_WM_ACTION_MAXIMIZE_VERT, _NET_WM_ACTION_FULLSCREEN, _NET_WM_ACTION_CHANGE_DESKTOP, _NET_WM_ACTION_CLOSE, _NET_WM_ACTION_ABOVE, _NET_WM_ACTION_BELOW, _NET_WM_STATE, _NET_WM_STATE_MODAL, _NET_WM_STATE_MAXIMIZED_VERT, _NET_WM_STATE_MAXIMIZED_HORZ, _NET_WM_STATE_SHADED, _NET_WM_STATE_SKIP_TASKBAR, _NET_WM_STATE_SKIP_PAGER, _NET_WM_STATE_HIDDEN, _NET_WM_STATE_FULLSCREEN, _NET_WM_STATE_ABOVE, _NET_WM_STATE_BELOW, _NET_WM_STATE_DEMANDS_ATTENTION, _NET_MOVERESIZE_WINDOW, _NET_WM_MOVERESIZE, _NET_WM_USER_TIME, _NET_FRAME_EXTENTS, _NET_REQUEST_FRAME_EXTENTS, _NET_RESTACK_WINDOW, _NET_STARTUP_ID, _NET_WM_SYNC_REQUEST, _NET_WM_SYNC_REQUEST_COUNTER, _NET_WM_PID, _NET_WM_PING, _KDE_WM_CHANGE_STATE, _KDE_NET_WM_FRAME_STRUT, _KDE_NET_WM_WINDOW_TYPE_OVERRIDE, _OB_WM_ACTION_UNDECORATE, _OB_WM_STATE_UNDECORATED, _OPENBOX_PID, _OB_THEME, _OB_CONFIG_FILE, _OB_CONTROL, _OB_VERSION, _OB_APP_ROLE, _OB_APP_TITLE, _OB_APP_NAME, _OB_APP_CLASS, _OB_APP_GROUP_NAME, _OB_APP_GROUP_CLASS, _OB_APP_TYPE

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

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

Ну и приложения с WebGUI типа syncthing или taskwarrior-web так и работают.

Да и в Android изначально заложена концепция разделения UI (Activity) и фоновых сервисов. Но по факту немногие приложения её толково реализуют, не восстанавливаясь полноценно после выгрузки Activity.

mertvoprog
() автор топика
Ответ на: комментарий от wandrien

Утерянные технологии исчезнувшей цивилизации.

А ведь и правда утерянные. Я не видел ни одной книжки про написание GUI системы. Про то, как это делается знают немногие.

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

Если всё так радужно — почему микросервисные ядра до сих пор в жопе, несмотря на рост мощностей?

Потому что легаси огромное.

Если всё так радужно

Всё точно так же, как и в X11, и в Wayland: сначала обмен любезностями про протоколу, потом передача токена и прямой вызов сисколлов ядра. Вопрос производительности высосан из пальца, т.к. низовая архитектура не меняется. Дебилушки выкидывают только верхние слои абстракции. Чтобы пакостить в нижних, их пока не хватает.

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

В теории не нужен, а на практике куча приложений, которые на нём завязаны. Особенно виндузятные, которые работают поверх Wine. И уж у Wine поверх Wayland перспектив вообще никаких; тупая обёртка для запуска полноэкранных игр не считается.

mertvoprog
() автор топика
Ответ на: комментарий от papin-aziat

однако вяленый победил и точка

Винда победила и точка. Что Вы делаете на сайте про проигравшую ОС? Дуйте ликовать на технет.

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

Почему не во фреймбуферной консоли?

Не всем нужна фреймбуферная консоль.

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

Ну интересно человеку самому с собой поговорить. Чего ты его одергиваешь?

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

Так это как раз главное идеологическое ненужно, которым Wayland пропитан. Не надо никого изолировать, по крайней мере принудительно. Если нужно изолировать что-то сенситивное, можно (и надёжнее) просто запустить его в контейнере или виртуалке.

Нужно просто по умолчанию отобрать права получать контент чужих окон и слушать ввод, когда фокус не в твоём окне.

И дать их тем, кому надо: панелям, WM-ам, тулзам для хоткеев и т.п.

Т.к. пакеты в линуксе ставятся централизованно, засунуть правила в какой-нибудь условный /usr/lib/X11/policy/$appname.conf не составит большого труда. А если в каком-то случае разраб забыл прописать правильный policy, то я руками пропишу и багрепорт отправлю, не обломаюсь.

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