LINUX.ORG.RU

Почему дистрибутивы Linux не отказываются от D-Bus

 binder,


0

4

В пользу Binder из Android?

как было бы удобно, если бы везде всё было одинаково!

https://github.com/hungys/binder-for-linux/blob/master/README.md
«binder-for-linux is an experimental project to evaluate the feasibility of porting Android Binder IPC subsystem to Ubuntu Linux.»

https://github.com/hiking90/binder-linux
«Goal of this project is to use Android Binder at Linux desktop environment.»

★★★

Последнее исправление: Shushundr (всего исправлений: 4)

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

Ну и что? Ядро в андроиде и в дебиане одинаковое. Ну часть и часть? Выкинули бы DBus и сделали бы как у людей в андроиде.

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

Оно вам надо?

Я не знаю, у вас спрашиваю. Что такого хорошего в том, чтобы быть линуксом?

Может быть D-Bus умеет что-то такое, чего не умеет Binder? Что же это такое?

Пока я вижу, что Binder круче, так как в нём меньше копирований.

Shushundr ★★★
() автор топика

и D-Bus не используют, я пытался, проще сокет или fifo использовать, в винде mailslot юзал, зачем D-Bus и Binder со своими ограничениями и правилами, когда сокеты есть, какую программу не возьми tmux, gtksokets используются unix примитивы

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

зачем D-Bus и Binder со своими ограничениями и правилами, когда сокеты есть

Сокеты не позволяют передавать Push-уведомления. Т.е. не по инициативе клиента, а по инициативе сервера.

Ну и протокол в D-Bus уже готовый, а в сокетах его надо будет придумывать.

Shushundr ★★★
() автор топика
Ответ на: комментарий от s-warus

Ну и что? Из ядра в системную шину информация не через сокеты идёт, там специальный механизм. Ради него весь этот D-Bus и накрутили.

Shushundr ★★★
() автор топика

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

firkax ★★★★★
()
Ответ на: комментарий от s-warus

То-то push стал доступен только в протоколе HTTP/2, а раньше всё через фреймворки и лонгполлинг выкручивались

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

Причём тут http, что ты несёшь? Push, как термин, это вообще вебнёвые выдумки - в вебе решали проблемы, до этого ими же созданные.

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

зачем тебе нужны проблемы новодела D-Bus? я таких три штуки насчитал. Без него 45лет сокеты работают. Популярность D-Bus может тебе что то скажет?

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

Популярность D-Bus может тебе что то скажет?

По-моему всё отлично с ней. Популярное.

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

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

Ниправда, D-Bus был унификацией между Gnome и KDE. В KDE всё с D-Bus тоже хорошо, адоптирован.

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

D-Bus был унификацией между Gnome и KDE

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

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

«D-Bus was developed as part of the freedesktop.org project, initiated by GNOME developer Havoc Pennington»

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

Ну и что? Из ядра в системную шину информация не через сокеты идёт, там специальный механизм. Ради него весь этот D-Bus и накрутили.

wiki чётко и ясно говорит что D-Bus на базе Unix sockets работает:

The libdbus library (or its equivalent) internally uses a native lower-level IPC mechanism to transport the required D-Bus messages between the two processes in both ends of the D-Bus connection. D-Bus specification does not mandate which particular IPC transport mechanisms should be available to use, as it is the communications library that decides what transport methods it supports. For instance, in Unix-like operating systems such as Linux libdbus typically uses Unix domain sockets as the underlying transport method, but it also supports TCP sockets.

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

На суде надо говорить всю правду

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

Shushundr ★★★
() автор топика

В пользу Binder из Android?

Попахивает. Уже пробовали bus1 сделать, не взлетело.

не отказываются от D-Bus

Проект Fedora перешёл по умолчанию на dbus-broker в 2019 году.
Arch Linux перешёл на использование dbus-broker

Эталонную реализацию замещают аналогом. DBus как протокол всех устраивает.

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

push стал доступен только в протоколе HTTP/2

lol

i-rinat ★★★★★
()

потому, что софтописатели не отказываются от dbus. /thread

серьезно, вот когда будет это не «experimental project», а что-то хотя бы на уровне вяленого по поддержке и обратной совместимости (т.е. когда научится эмулировать dbus), тогда и приходи.

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

DBus- онли текстовый протокол, минус бинарные данные не очень, из за этого долго utf8 добавляли, есть ограничения по размеру, да зачем юзай сокеты и проблем не будет, плюс его глюков избежишь. Некоторые программы DBus юзают, но чаще что то своё, самому начинать использовать DBus если не обязан, зачем? Это как использовать gconf когда можешь свой конфиг.

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

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

s-warus ★★★
()

Зачем в ядро тащить что-то прикладное? Нет.

thegoldone
()

Потому что никто не будет переписывать весь тот обьём говнокода, что уже имеется и умеет связываться по dbus между собой. Пересунуть условный гнум на биндер задача вполне обозримая, но никто этим без крайней необходимости заниматься не будет. У кедорасов был свой dcop, который выпилили ради унификации с гномосеками и после этого уже вряд-ли кто-то что-то будет прям переделывать. Типа безобразно, зато единообразно.

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

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

Потому что может себе позволить. Это же Гугл!

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

У кедорасов был свой dcop, который выпилили

Что говорит о том, что можно выпилить и ещё раз.
Главное - это принять стратегическое решение.

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

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

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

Shushundr ★★★
() автор топика

Потому, что нафиг не нужно тащить в ядро очередной хлам. То, что может работать в юзерспейсе пусть работает в юзерспейсе.

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

я бы сказал «и», kdbus мертв. Обе две попытки засунуть IPC для юзерспейсных программ в ядро не удались.

arkhnchul ★★
()

открывал тему, думая «все правильно, прослойки для IPC не нужны, весь гуй использует сокеты и в ус не дует», и т.п., а тут… Держи, мужик, клоуна 🤡

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

Потому что Android – серьёзный коммерческий продукт в отличии от. Там не могут позволить кривые поделки от Гномеров.

X512 ★★★★★
()

Почему дистрибутивы Linux не отказываются от D-Bus

Потому что к D-Bus уже очень много чего прибито, например systemd, GTK, Wayland portals. Гномеры вряд-ли добровольно откажутся от своего D-Bus.

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

Гномеры вряд-ли добровольно откажутся от своего D-Bus.

Гномеры вполне могут обьявить dbus ненужной фичей и выпилить его в следующем минорном релизе.

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

Это проблема разработчиков андроид, а андроид не нужен, как и dbus.

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

Зато гуглоподелки вовсю позволяют. «Серьёзность» тут ни при чём, обычный NIH.

firkax ★★★★★
()
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.