[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Имя запущенной программы



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-директория" там не подумали.


Reply to: