Принт-сервер, скорее всего, тоже зря выкинули. Насчёт звукового - точно не могу сказать. С одной стороны, в целях сетевой прозрачности он там весьма полезен. С другой, для большинства применений это очередная ненужная прокладка по типу pulse/pipewire, лучше работать непосредственно с alsa или другим ядерным звуком.
юниксвейный
Я ничего не писал про юниксвейность.
Оригинальный икс-сервер был готовым решением для всех десктоповых применений, который поддерживал все варианты железа и все варианты софта. Сейчас те же нубы, которые делают убогий вайланд, стараются обрезать иксы чтобы свести их чисто к транслятору картинки на монитор, которой вайланд и является.
Я менеджер, специализация - финансовый менеджмент и предпринимательская деятельность. Но да, я информатику и матстатистику ещё с помощью Turbo Pascal изучал, и то, что файл можно потрогать из стандартной библиотеки, знаю.
Этой штуке ВООБЩЕ не место в XServer. Потому что если у меня не одна из самых популярных програм то такой пользователем идёт лесом. Этими делами должен заниматься WM.
Xserver вообще никакие гуи-клиенты запускать не должен и не должен рассчитывать на то, что на компе, где он запущен, они есть. Это то же самое, как сделать графический редактор, а для операции «нарисовать круг» этот редактор будет запускать xdotool, который выводит курсором круг на рабочей зоне редактора.
В иксах почти нет мусора, там есть код который нубы с FDo не осилили понять и решили сделать примитивную поделку без него.
В иксах просто дохерища мусора и исторического кала. Хватит хотя бы того факта, что без расширений протокола там несколько мониторов не поддерживаются нормально.
Этой штуке ВООБЩЕ не место в XServer. Потому что если у меня не одна из самых популярных програм то такой пользователем идёт лесом. Этими делами должен заниматься WM.
Вообще, можно просто договориться об имени бинарника, который будет вызываться X-сервером с передачей ему нужных данных. А DE/WM уже будет этот бинарник предоставлять. Как это могло бы быть с xdg-open. Такой вариант тоже может быть рабочим.
Правда, в итоге xdg-open делает примерно как в том PR по ссылке. Если хочешь понять, почему никто не любит долбонавтов из Freedesktop, просто сделать less $(which xdg-open) на своей системе и охреней от увиденного.
И опять отвечу: ни DE/WM, ни прочие юзерские проги не должны предоставлять никаких бинарников X-серверу. Они должны с ним общаться только через сокет (в случае если сокет локальный ещё допускается слать ему данные через shm, но в качестве опции с обязательным фолбеком на традиционную отправку). В частности, задавание вопросов можно отсылать событиями в WM и от него же ждать ответов.
Не сработает. Откройте пр по ссылке и промотайте ниже - там у каждой из утилит абсолютно несовместимые аргументы и способы вызова. Кроме того, как правильно заметили:
Утилит может стоять несколько, первая попавшаяся таким образом может не работать в моем текущем режиме
Это не работа иксов, полагаться на гуи-утилиты для собственной работы. Если у меня вместо xdg-open browser будет ошибка - насрать. А в ПР это предлагалось для критичного момента с блокировкой другого приложения
Расширения протокола считай давно его часть. То, что они до сих пор в статусе именно расширений - лишь для того, чтобы при обнаружении на том конце старого сервера/старого клиента никто не сломался, а просто перешёл в режим работы без расширений.
Сработает, если сделать нормально. Так-то я согласен, что это не работа иксов. Проблема в том, что всё равно придётся на что-то завязываться. Сейчас для этого пилят XDG порталы, в которые надо долбиться через dbus. Готов ли ты завязывать иксы на dbus и определённый api в нём?
Лялексу нужны нормальные IPC и система провайдеров разных сервисов. Пока что этого нет и не предвидится.
Расширения протокола считай давно его часть. То, что они до сих пор в статусе именно расширений - лишь для того, чтобы при обнаружении на том конце старого сервера/старого клиента никто не сломался, а просто перешёл в режим работы без расширений.
Мне вот интересно, а этот сценарий кто-нибудь тестировал? Потому что мне что-то кажется, что никто в здравом уме не будет пускать софт на GTK4 под какой-нибудь соляркой с Xsun. И наоборот, на бинарную совместимость с древним софтом в лялексе всем 100% насрать.
Так что сдаётся мне, толку от этого «просто перешёл в режим работы без расширений» нет никакого, потому что всё равно не будет работать.
Зависит от используемого софта. gtk4, вероятно, без ряда расширений работать не будет. Часть моих гуи-прог прибита к Xshm (но довольно легко докодить фолбек к работе без него), остальные расширениями не пользуются.
И наоборот, на бинарную совместимость с древним софтом в лялексе всем 100% насрать.
Ну так, осуждаю. А они поэтому и пытаются испортить иксы тем или иным способом.
Как бы то ни было, если и на клиенте и на сервере расширения есть (а это сейчас дефолтная ситуация и сложно найти другую), то они работают как часть иксового протокола и никакой вторичности в их поддержке не заметно.
А какую задачу мы пытаемся решить, показать диалог с подтверждением потенциально небезопасного действия? Нужно ли это хоть кому-то без wm/de? Могут конфигом обойтись.
Потому что сам вяленый голый ничего не содержит и ничего не умеет. Всё вынесли в WMы, без которых он бесполезен.
Нет, ты не понял. Подавляющее большинство протоколов Wayland реально не требуют dbus. Т.е. примерно почти всё можно без dbus делать. dbus нужен для порталов и ещё кое какой фигни.
Оригинальный икс-сервер был готовым решением для всех десктоповых применений, который поддерживал все варианты железа и все варианты софта.
Ох да не гони ты. Оригинальный X-сервер нормально два монитора не умел, какие в жопу все варианты. Попробуй запустить иксы без Xinerama и Randr и перетащить окно с одного экрана на другой.
С другой, для большинства применений это очередная ненужная прокладка по типу pulse/pipewire, лучше работать непосредственно с alsa или другим ядерным звуком.
pipewire как раз нужна прокладка, поскольку позволяет нормально сделать роутинг звука. ALSA же – полное днище. Причём не только в сравнение с Pipewire, но и даже со своим предшественником OSS. Каждый раз, когда я читаю про говнокостыли типа ALSA, я прямо ощущаю как это было построено на руинах древней высокоразвитой цивилизации.
Речь не про поддержку экзотических хотелок, а про поддержку разных сущностей: любая платформа, любая ОС, любая видеокарта, любой гуи-клиент (начиная от самых древних). Тебе не надо думать о том, чтобы твоё железо/ОС/прога были совместимы в плане графики, ты просто запускаешь X-сервер и он работает: позволяет проге вывести своё гуи на монитор. В том числе - не требуя от ОС ни поддержки графики вообще, ни поддержки бинарного формата, в котором предоставлен драйвер видеокарты (это к вопросу о вредителях, удаливших из иксов свой ОС-независимый лоадер бинарников всех возможных форматов).
pipewire как раз нужна прокладка
Ну вот, с таким отношением осуждать то же самое в иксах странно.
когда я читаю про говнокостыли типа ALSA
Я знаю, что ты знаешь, что от алса у тебя в любом случае будет использоваться. Так что запишем как вброс.
Это не экзотическая хотелка. Первый Doom из 1994 года поддерживал многомониторную конфигурации. А иксы не поддерживали.
про поддержку разных сущностей: любая платформа, любая ОС, любая видеокарта, любой гуи-клиент (начиная от самых древних). Тебе не надо думать о том, чтобы твоё железо/ОС/прога были совместимы в плане графики, ты просто запускаешь X-сервер и он работает: позволяет проге вывести своё гуи на монитор.
А что делать-то, если монитора два? Или две видеокарты? Или одна видеокарта, но двухголовая? Было просто дохренища вариантов железа, которые не поддерживались в иксах, и они не были экзотическими.
Ну вот, с таким отношением осуждать то же самое в иксах странно.
Никто не осуждает то же в иксах. Проблема иксов в том, что там всё это было реализовано криво, наполовину и через жопу.
когда я читаю про говнокостыли типа ALSA
Я знаю, что ты знаешь, что от алса у тебя в любом случае будет использоваться.
ALSA здесь становится малозначительной деталью реализации, а не пользовательским интерфейсом. С pipewire мне больше не нужно задумываться как настроить миксер в ALSA или как пустить звук сразу на два вывода. И это мы про сравнительно простые случаи.
У меня тут подключена звуковая приблуда с 4 входами и 4 выходами (Minifuse 4), и я даже близко не представляю как её в ALSA настроить, потому что там левые и правые каналы отдельно идут. Pipewire же это без проблем делает.
А что делать-то, если монитора два? Или две видеокарты? Или одна видеокарта, но двухголовая? Было просто дохренища вариантов железа, которые не поддерживались в иксах, и они не были экзотическими.
Повторяю, ты можешь запустить иксы и они позволят нарисовать картинку на мониторе твоей проге. Пусть не на обоих, но позволят - это главное, не думая о взаимной совместимости чего бы то ни было.
Никто не осуждает то же в иксах. Проблема иксов в том, что там всё это было реализовано криво, наполовину и через жопу.
Значит надо было доработать, а не удалять как эти вредители.
Повторяю, ты можешь запустить иксы и они позволят нарисовать картинку на мониторе твоей проге. Пусть не на обоих, но позволят - это главное.
А точно могу? Ты уверен? А если иксы валятся? У них же нет даже подобия safe mode. У меня одно время было любимым развлечением отлаживать xorg.conf, руководствуясь стектрейсами от сегфолтом ксорга.
Значит надо было доработать, а не удалять как эти вредители.
Ехехех.. есть вполне обоснованное мнение, что проще было заново сделать нормально чем допилить иксы. Просто потому что допил сломал бы совместимость с существующим софтом. Вяляндовцы, к сожалению, нормально заново сделать не смогли. Получилось то же говно, что в иксах, только с другого ракурса :(
Things we'd need to add/extend in X Window software (protocol+server+manager+fonts+...):
1) Extend font server and services to vend outlines and antialiased masks, support more font types, handle font subsetting.
2) Extend drawing primitives to include PS-like path operations.
3) Add dithering and phase controls.
4) Add ColorSync support for drawing and imaging operations, display calibration
5) Add broad alpha channel support and Porter-Duff compositing, both for drawing in a window and for interactions between windows.
6) Add support for general affine transforms of windows
7) Add support for mesh-warps of windows
8) Make sure that OpenGL and special video playback hardware support is integrated, and behaves well with all above changes.
9) We find that we typically stream 200 Mb/sec of commands and textures for interactive OpenGL use, so transport efficiency could be an issue.
So, yes, it looks like we can use X for Quartz. All we need do is define extensions for and upgrade the font server, add dithering with phase controls to the X marking engine, add a transparency model to X imaging with Porter-Duff compositing support, make sure GLX gets in, upgrade the window buffering to include transparency, mesh warps, and really good resampling, and maybe augment the transport layer a bit.
Ummm... There doesn't appear to be much code left from the original X server in the drawing path or windowing machinery, and it doesn't appear that apps relying on these extensions can work with any other X server. Just what did we gain from this?
Oh, yeah. My mom can run an xterm session on her desktop now without downloading the Apple X11 package, a shareware X server or buying a software package.
Вообще, есть известное определение фашизма. На его основе я составил своё собственное, более простое и сложное одновременно.
Вот, допустим, ситуация. Некий начальник прессует подчинённого, причём не сам, а при использовании посторонних лиц. Подчинённый же, видя это всё и понимая, ведёт себя практически идеально, и не ведётся на всю эту шляпу, чего от него очевидно ждут.
Вопроса два. Первый. Являются ли действия начальника самостоятельными? Нет, хоть это и не отменяет юридической ответственности. И второй. Фашист ли начальник? Тоже нет. Пока нет.