x сервер и клиенты приложений

Мне нужны пояснения по поводу X-сервера и приложений. Как описано в вики: протоколы и архитектура системы X Window, "X-сервер является посредником для пользовательские и клиентские программы, ...,"

Мой вопрос заключается в том, что после запуска ПК с Linux, например, CentOS, в начале X Server начинает работать (принимая клавиатуру, мышь, мониторы),

  1. X Server обслуживает ввод-вывод для всех последующих прикладных программ? Если нет, то как сделать программу A через X-сервер, а программу B не через X-сервер?

  2. как насчет других программ с графическим интерфейсом, например. Если у меня есть программа Qt, она также проходит через x-сервер, например, клавиатура/монитор ‹-> X Server ‹-> Qt? Если нет, то как решается эта ситуация?


person pepero    schedule 02.09.2011    source источник


Ответы (2)


  1. Да. Даже консольные приложения будут работать в терминальном приложении, которое будет клиентом X.

  2. Да. Программы Qt проходят через X.

person Didier Trosset    schedule 02.09.2011
comment
Спасибо Дидье за ​​ответ. Тогда есть ли прикладная программа, которая не проходит через X-сервер? или же X Server берет на себя весь ввод-вывод? Кроме того, когда я разрабатываю приложение с графическим интерфейсом с помощью wxWindows или qt framework, почему я не заметил такой X-сервер посередине? например, у этих фреймворков есть некоторые виджеты событий, такие как MouseClick, поэтому все эти события проходили через X-сервер? Как насчет tty или pexpect? А как насчет ввода-вывода ОС? есть ли какая-нибудь книга или ресурс для объяснения отношений между X Server и другими программами? - person pepero; 02.09.2011
comment
Как только вам нужно графическое приложение, оно проходит через X. Обратите внимание, что X — это очень низкий уровень по сравнению с wxWidgets или Qt. В X нет понятия виджета. Типичной операцией X является рисование линии или установка пикселя. - person Didier Trosset; 02.09.2011
comment
Я понимаю. это действительно хорошая информация. Знаете ли вы, относится ли это также ко всем событиям клавиатуры и мыши? - person pepero; 02.09.2011

X11 — это система для пересылки графического интерфейса программы, она работает с каждой программой системы, поддерживающей X11. X11 в значительной степени пересылает на удаленный компьютер все набранные клавиши и все клики, сделанные на компьютере, отправляет их на удаленный компьютер, а затем удаленный компьютер обрабатывает последующие действия (например, вызывает появление окна). Подводя итог, Xserver перенаправляет вывод программы на экран (кнопки, текстовые поля и т. д.) и отправляет обратно на удаленную машину все входные данные (например, щелчки, нажатия клавиш клавиатуры и т. д.).

person MrJackV    schedule 02.09.2011