LINUX.ORG.RU
ФорумTalks

Начинается эра D-BUS для построения GUI. Разве это хорошо?


0

0

Новая спецификация области уведомлений для рабочего стола использует D-BUS. Разработчики пишут о том как это здорово, будет единый вид, например когда вы запускаете KDE приложение в Gnome и т.п.
Но есть проблема, X - сетевая архитектура, а D-BUS - нет, т.е. получается что если приложения перейдут на новый стандарт уведомлений, то уведомления будут выводиться не на той машине. :)

То же самое и с новым глобальным меню. Есть реализация глобального меню, для Gnome, которая использует свойства окна, для описания структуры меню, все меню кладется в свойство окна _NET_GLOBALMENU_MENU_CONTEXT, аплет на панельке его считывает и рисует менюшки. Вместо того, чтобы сделать тоже и для Qt приложений это решили выпилить и заменить на D-BUS. Какая от этого польза?

Вообще, зачем плодить лишние сущности?
Меню можно нарисовать в отдельном (дочернем) X-окне, а если у пользователя стоит настройка «Выводить меню в верхней части экрана», то это окно можно встроить в панель используя XEmbed.
Надо единый вид для приложений разных сред? Так средства приведения Qt и GTK приложений к одному виду уже давно есть.

Какая польза от создания дополнительных сущностей?
Давно хотел об этом написать, а тут еще наткнулся на статью от обрастании X11 костылями.
http://julien.danjou.info/blog/index.html#Thoughts%20and%20rambling%20on%20th...

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

>За одну уродскую систему путей надо руки оторвать авторам

Хорошо хоть не XML.

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

>ненавижу dbus. За одну уродскую систему путей надо руки оторвать авторам
Тоже не понимаю почему они все так сделали.

ls-h ★★★★★
() автор топика

Xembed - как раз таки костыль, от кторого давно хотят уйти разработчики как КДЕ, таки и гнома. Думаю неспроста.

Что же касается D-BUS и сети - вопрос довольно интересный. Но, в большинстве случаев сеть в иксах не используется. Или используется совместо с тем же nx, который работает в том числе и со своим собственным рабочим столом.
Так что, тут приходиться выбирать, или dbus и унификация look&feel, которая без него оставляет желать лучшего. Или сетевая архитектура иксов и костыли типа Xembed.

CyberTribe ★★
()

Добавить клиент/сервер в случае dbus при необходимости не составит проблем. Не вижу ничего плохого в его использовании.

PolarFox ★★★★★
()

Просто достали все эти костыли. НЕ, не достали, задолбали своей ииновационностью и глючностью!

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

Чем не устраивает dbus?
Только без эмоций, конкретно и с фактами?
Ссылки на багрепорты, с проблемами, которые вас раздражают?

Пост почитал, человек пишет достаточно интересно и обоснованно.

Но, возвращаясь к теме, чем же вам не угодил dbus?
Вполне, имхо, адекватный подход. Есть демон, который DE независимый (ему вообще иксы не нужны). Есть приложения, которые в нём регистрируют некоторые методы доступа к своим функциям. Есть приложения эти функции использующие. Всё достаточно логично и продуманно, имхо.

CyberTribe ★★
()

Всё правильно делают. Менять лишний протокол довольно трудозатратно.
По поводу сущностей: проще выкинуть иксы. А сетевую прозрачность обеспечить, например, 9p (имхо dbus вполне неплохо будет смотреться 9p-сервером)

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

по сети не работает(то что реализовано работой назвать нельзя), код уродский(это уже имхо), API мне не понравился.

Скорее претензии к реализации.

true_admin ★★★★★
()

Пожалуйста сохраняйте спокойствие. Для сетевой прозрачности приделают ещё один костыль.

OpenOffice уже отказывается запускаться через ssh -X. Поубивал бы.

Shimuuar
()

D-bus сам по себе это хорошо, на мой взгляд, подобная унифицированная система необходима, правда его система путей мне тоже кажется не слишком простой.

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

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

Lee_Noox ★★★
()

>Какая польза от создания дополнительных сущностей?

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

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

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

DBus нужен. Правда система путей действительно идиотская. Каждый раз, когда смотрю в qdbusviewer, так и не понимаю, что и зачем надо звать %)

Для нотификаций вообще это хорошо, как по мне, а вот меню через DBus это какие-то феерические извращения.

Deleted
()

dbus не нужен, GUI не нужен, глобальное меню не нужно.

Deleted
()

Что-то аналитики как-то вяло анализируют. Сессия/ЕГЭ что ли начались?

shahid ★★★★★
()

А кто говорит о новых сущностях? Старое выпилят по готовности и будет счастье.

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

>> Чем не устраивает dbus?

конфиги в xml

а по сети он говорят работает. сам не пробовал.

sergej ★★★★★
()

DBus в данном случае лучше, чем X, но лично мне нравится намного меньше, чем corba, из-за их хумуэльной интроспеции, в которой даже не реализованы такие банальные вещи как наследование интерфейсов и прочее.

Но если оставить сравнение с корбой, то DBus это хорошо потому, что легко делать привязки для разных языков, а это важно, особенно в свете междесктопного взаимодействия. Для X пришлось бы нагородить кучу костылей, чтобы всё это эмулировать, в итоге бы получился тот же DBus, но over X:)

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

Варианты с ембедингом окон и прочие - это жуткие костыли. Представьте, а если мне захочется область уведомления вывести где-нибудь в браузере, но нет возможности эмбедить окно, есть только доступ до dbus и есть js?

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

ixrws ★★★
()

Пути идиотские, а вообще вполне нормальная вещь. Вот X - это самый настоящий костыль, протокол заморозили 100500 лет назад и городят обходные пути.

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

>>ненавижу dbus. За одну уродскую систему путей надо руки оторвать авторам

Тоже не понимаю почему они все так сделали.

а как надо было?

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

Фороникс знатные писаки, но у них на днях проскочил пост о мыслях про X12. Так то еще шевелится. Ну и Wayland есть, но он сырой до ужаса.

madgnu ★★★★★
()

Чего только люди напридумывают, чтобы не использовать FIFO через NFS) Шутка.

vertexua ★★★★★
()

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

По теме, а кто то пользуется DE по сети ???

я так думаю 90% пингвиновых лемингов и не знают про X --query

:)

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

> По теме, а кто то пользуется DE по сети ???

А как же принцип, что Linux - самая гибкая ОС?

vertexua ★★★★★
()

>Но есть проблема, X - сетевая архитектура, а D-BUS - нет, т.е. получается что если приложения перейдут на новый стандарт уведомлений, то уведомления будут выводиться не на той машине. :)

Поднимите руки, у кого X запущен без параметра -nolistentcp

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

>>OpenOffice уже отказывается запускаться через ssh -X

Поднимите руки, у кого X запущен без параметра -nolistentcp

Казалось бы, при чем здесь -nolistentcp...

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

>Казалось бы, при чем здесь -nolistentcp...

Оказывается притом, что unix domain socket — это unix domain socket, который за пределы локалхоста не высунуть. Проксирование через ssh — бред чистой воды.

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

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

Ну то есть, как и ожидалось, ни при чем. Проксирование ssh - то, что доктор прописал для adhoc-использования, несколько раз выручало. Но конечно же, если тебе не нужно - никому не нужно.

vga ★★
()

> Но есть проблема, X - сетевая архитектура, а D-BUS - нет, т.е. получается что если приложения перейдут на новый стандарт уведомлений, то уведомления будут выводиться не на той машине. :)

С какой радости-то? Разве DE не X-приложение, которое будет работать на одном компе с клиентским на общих основаниях? А где X-Server стоит - то никого не волнует.

atrus ★★★★★
()

> Но есть проблема, X - сетевая архитектура, а D-BUS - нет, т.е. получается что если приложения перейдут на новый стандарт уведомлений, то уведомления будут выводиться не на той машине. :)

Если мне приспичит IPC по сети, то ничего не вижу невыполнимого в пробросе того же d-bus по TCP/UDP/whatever. Правда, не вижу, зачем бы мне это приспичивало.

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

> С какой радости-то? Разве DE не X-приложение, которое будет работать на одном компе с клиентским на общих основаниях? А где X-Server стоит - то никого не волнует.

Нененене, Дэвид Блэйн. Представь себе две машинки, на одной какой-то DE с иксами и уведомлялка в трее слушает, кто что имеет сказать. И тут ты запускаешь какую-то пое-нь на другой машине, подсовывая ей свой дисплей. Если эта пое-нь тоже захочет о чем-то уведомлять тебя, нихрена не выйдет, потому что локальном d-bus'у она не видна.

То есть, если раньше была типа полная сетевая прозрачность, то теперь ее меньше.

shimon ★★★★★
()

хм... главное подходить без фанатизма.... с обоих сторон... выбор оставят пусть падаванам юным...

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