On 2008.12.31 at 11:39:12 +0200, Eugene V. Lyubimkin wrote: > On Wed, Dec 31, 2008 at 10:53:27AM +0300, Victor Wagner wrote: > > Э, а в какой property написан хост, на котором этот pid искать? > > Или "правильные клиенты" это "клиенты соблюдающие рекомендации > > freedesktop.org, авторы которых и понятия не имеют о сетевых > > возможностяъ X-ов, поэтому изобретают всякие dbus-ы"? > Я, наверное, сейчас глупый вопрос задам... А разве dbus ограничивается X-овыми > приложениями? Помнится, демон от wicd общался с клиентом через dbus, и > сомнительно, что в этом демоне было что-то от иксов.
Проблема в том, что спецификация D-Bus не учитывает существенной части возможностей X-ов. Точнее, в спецификации кое-какие закладки на эту возможность есть, но в реализации - увы. Да, действительно, единой информационной шины, по которой могли бы общаться как X-овые программы, так и программы, не имеющие GUI в Unix не хватало. Но при разработке спецификаций freedesktop как-то упустили из виду, что десктоп - это ни разу не компьютер. Это набор приложений и аппаратных устройств, с которыми взаимодействует пользователь в рамках сессии, а где физически расположены процессоры, исполняющие данные приложения, пользователя волновать не должно. По хорошему счету понятие сессии кроме дисплея, клавиатуры и мыши (взаимодействие с которыми более-менее успешно виртуализует X-протокол) должно включать в себя как минимум устройства ввода-вывода звука, а как максимум еще и съемные устройства хранения данных, веб-камеру, сканер и так далее. Вместо того чтобы аккуратно расширить X-овое понятие сессии, включив туда все прочие, необходимые современному пользователю, усторойства, и разрабатывать набор протоколов для работы с этим хозяйстовом, понятие сессии безжалостно урезали, практически исключив удаленные приложения из рассмотрения. Понятно, что есть концептуальные трудности, например при работе с файловыми системами в такой гетерогенной сессии. Программу, работающую на удаленной машине мы запускаем именно там, как правило, ровно потому, что она должна работать с данными, содержащимися там. И этот принцип конфликтует с идеей что воткнутая юзером в свой X-терминал флэшка должна быть доступна всем приложениям данной сессии. Но аккуратно, и, главное, очевидным для пользователя способом, решить эту проблему никто и не пытался. В результате современное, так сказать, развитие урезало возможности X-ов до такой степени, что многие справедливо удивляются - а нафига такие сложности, сетевые протоколы и все такое. Не проще ли взять какую Qtopia в качестве основы GUI. Примером такого урезания возможностей был отказ во всяких Gtk и Qt от использования X resource database. Там как раз все очень продумано на тему того, что есть настройки per-user, per-display, per-machine и per-application, и есть механизмы слияния всего этого в набор настроек текущей сессии. Они достаточно сложны и не совсем очевидны, но есть. В gconf такого нет. Потому что подумать о том, что мир несколько сложнее чем "один юзер - одна машина - один дисплей - одна home-директория" там не подумали. -- To UNSUBSCRIBE, email to [email protected] with a subject of "unsubscribe". Trouble? Contact [email protected]

