У процесі навчання тим, що робити певні речі в програмуванні GUI (наприклад, резервування місця на екрані для програми), я повинен дізнатися більше про Менеджер вікон, як правило, X11 в Linux (я не впевнений, чи існують навіть дистрибутиви , де використовується що-небудь інше, ніж X11, хоча я чув про Wayland , який ще не реалізований.)
Я зовсім новачок у програмуванні і нетерплячий; тому я просто занурююся в це. Зараз я читаю ICCCM, з надією дізнатися більше. Цей документ, однак, спрямований на громадськість, яка знає (до речі) більше, ніж я. Тож я натрапив на якусь інформацію, і я хотів би отримати деякі роз’яснення.
Розділ 2 цитує ICCCM:
Зауважте, що всі дані, передані між власником та запитувачем, зазвичай повинні надходити за допомогою сервера в середовищі X Версії 11. Клієнт не може припустити, що інший клієнт може відкривати ті самі файли або навіть безпосередньо спілкуватися. Інший клієнт може спілкуватися з сервером за допомогою зовсім іншого механізму мереж (наприклад, один клієнт може бути DECnet, а інший TCP / IP). Таким чином, передавання непрямих посилань на дані (наприклад, назви файлів, імена хостів та номери портів тощо) дозволяється лише за умови, що обидва клієнта конкретно погоджуються.
Наскільки я розумію, X Window Manager побудований на вершині X Server (завдяки Wikipedia). У цитаті вище: він говорить, що клієнт може спілкуватися з сервером за допомогою DECnet або TCP / IP. Поки я вважав, що "сервер" є фігурою мови, зараз я сумніваюся: чи X сервер - це сервер, як на "веб-сервері"? Як я повинен зрозуміти його функцію / визначення?
Тоді часто є посилання на X11, Xorg, X Server та / або X Window Manager. Це стає заплутаним: чи пакет X11 включає в себе Xorg та X Window Manager? Якщо так, чи є ще щось у цьому комплекті X11?
X також потрібна миша, клавіатура або будь-який інший тип вводу: це також частина функцій X Server? Чи X Window Manager чітко доглядає лише за дисплеєм?
Нарешті, наведена вище цитата також зазначає, що клієнт спілкувався чи ні один з одним: це нагадало мені D-Bus, який я трохи використав для навчальних цілей. За допомогою D-Bus ви також можете викликати події вікна. Це мене трохи збентежило, як програми повинні спілкуватися між собою: * яка різниця між програмами, що взаємодіють за допомогою X Server або D-Bus? *
Прикро, що ця інформація залишається якось незрозумілою, це ускладнює навчання, але, сподіваємось, ви зможете пронести трохи світла на це :) Дякую.