Графічна оболонка x-windows system.

Відео: Як встановити графічну оболонку XRDP на Fedora 14

На початку трохи історії. Уявімо, що нам потрібно написати програму, яка буде працювати в графічному режимі. Нам буде потрібно: опитувати клавіатуру, знімати події і координати миші, малювати на екрані.

Як це робилося на MS-DOSе? Дуже просто. Пишемо одну велику програму, в ній - все: і логіка, і обробка подій, і стеження за переміщеннями миші, ну а коли потрібно щось намалювати, ми даємо команду на запис в порти EGA контролера, малюємо піксель ... Через рік з`являється контролер VGA, ще через рік SVGA 800 600, 16 кольорів, слідом за ним UVGA 1024 768, 256 кольорів, потім XGA 1280 1024, 16Мб квітів ...



Основна ідея X Windows.
Є дві незалежні програми. Одна з них ,вміє малювати на графічному моніторі, і обслуговувати все це залізо. І називається вона X-сервер. друга програма - клієнт X Windows, малювати фізично не вміє. Але вона знає, що саме треба малювати, і вміє командувати. Команди типу: «намалювати прямокутник», «провести лінію», «відкрити вікно», «вивести символ в заданому Фонте», «опитати координати миші», і т.п. передаються X-серверу, а той їх виконує - малює. Формат і специфікації цих команд опубліковані, стандартизовані, і широко відомі. Всі разом вони називаються «Протокол X Windows«.
Отже:
X-сервер. Програма, яка написана спеціально під конкретну фізичну пристрій (мається на увазі - монітор, графконтроллер, миша і клавіатура), вміє на ньому малювати, і вміє розуміти команди малювання по протоколу X Windows System.
X-клієнт. Прикладна програма, що забезпечує графічний інтерфейс з користувачем. Команди для малювання на екрані передає X сервера по протоколу X Windows System.
X-термінал. Ящик (монітор, графконтроллер, миша, клавіатура, ну і, природно, процесор і оперативна пам`ять), на якому запущена програма X-сервер.
X-терміналом може служити звичайнісінька графічна Unix-робоча станція, на якій X сервер виконується, як одна з багатьох прикладних задач.
Спеціалізований X-terminal - ящик, на якому запускається тільки X сервер, і нічого крім. Можна використовувати PC під MS-DOSом, на якому запущена DOSовская програма, яка реалізує X сервер.
Xlib - бібліотека C-ішних функцій, що реалізують протокол X Windows System. За допомогою цієї бібліотеки можна писати графічні програми - X-клієнти.
Що з цього получається.
Ми отримуємо універсальний GAPI - (Graphical Application Programming Interface) - засіб програмування графічних додатків. Призначені для користувача графічні програми при цьому повністю відв`язані від заліза, від конкретного графконтроллера.О залозі нехай турбується X-сервер. протокол X Windows вміє «їздити» по мережі: наприклад по TCP / IP, або по DEC-net. Тому X сервер може крутитися на одній машині, а X-клієнт - на інший. Тобто, картинка малюється на одній машині, а програма, яка її забезпечує - крутиться на інший.
X-сервер здатний обслуговувати відразу багато клієнтів, причому всіх - одночасно.
На нашому графічному екрані може бути відкрито відразу багато вікон - кожне вікно породжується його власним X клієнтом. Клієнти ці можуть бути запущені і на нашій машині (до якої підключена графічна підсистема), і на віддалених машинах, з`єднаних з нами по мережі.
Чого нам це коштує.
Зрозуміло чого. Ресурсів. X Windows дуже любить ресурси - пам`ять, процесор, діск.Способен з`їсти їх в необмежених кількостях. А ще ж треба програмувати. (На щастя, не всім треба). Хто бачив, як виглядають програми для MS Windows або Mac, може уявити собі зовнішній вигляд вихідних текстів X-овой програми.
Як це запускається.
Нехай в нашій мережі є машина з графічною підсистемою і X сервером, і мережеву адресу цієї машини pcat107.foms.msk.ru на pcat107 потрібно виконати команду:
xhost + # дозволити X-овим програмами з БУДЬ машини # малювати на екрані машини pcat107Запускаем на нашому комп`ютері X-овую програму, так, щоб її віконце малювалося на моніторі pcat107. Для цього на нашому комп`ютері потрібно виконати команду:
xterm -display pcat107: 0.0 Бібліотеки, Motif, і війна круглих і квадратних кнопок.
Можна писати X-ові програми, використовуючи бібліотеку Xlib. Багато так і пишуть, хоча це дуже важко - аж надто невисокий рівень Xlib`а. На допомогу програмістам було створено кілька toolkit`ов - бібліотек більш високого рівня, в яких реалізовані різні widget`и. Widget - неперекладний термін X Windows. Склеєний з двох слів - Window і Gadget (пристосування), є графічним об`єктом з прив`язаними до нього властивостями і реакціями на дії користувача. Приклади widgetow: «кнопка», «менюшка», «віконце з текстом»,
«Лінійка прокрутки», ...
Відомі такі toolkit`и:
Xaw - Anthena Widgets. Дуже чорно-білий, дуже плоский, дуже небагатий.
Зате - безкоштовний. Подивіться, як виглядають програми xterm, xedit, xman.
Вони зроблені на Xaw.
xview - Набір бібліотек і об`єктів, використаних в реалізації набору призначених для користувача утиліт Sun-івської версії X Windows - «Open Windows».
Вельми сімпатічно.Круглие кнопки, «шприци-голки» (чудова річ!), Дуже добре продуманий інтерфейс користувача, в тому числі активно використовувана трьох-кнопкова миша. Вихідні тексти бібліотек xview відкриті, надаються безкоштовно. Однак набір DeskSet - 15 призначених для користувача утиліт входять до OpenWindows, зроблений на бібліотеці xview, SunSoft готовий надати тільки за плату. У бінарному вигляді - досить дешево ($ 100). У вихідних текстах - дуже дорого ($ 200K)
Motif - Бібліотека поставляються організацією OSF за не зовсім маленьку плату. Вихідні тексти бібліотек недоступні, або надмірно дороги. Кнопки - квадратні, та й взагалі Motif`овскіе додатки до неподобства нагадують MS Windows (Що, IMHO, є серйозним злочином)
У боротьбі BSD і Unix V переміг, як відомо, System V, а у війні круглих і квадратних кнопок виграв Motif.
конфігурація X Windows
У Linux використовується X11 в реалізації XFree86. Щоб його конфігурувати, виконайте команду xf86config
запуск X Windows.
На деяких машинах він сам запускається. А також іноді вдається запустити його вручну командами: startx і / або openwin Solaris:

Встановіть змінні оточення:
2.OPENWINHOME = / usr / openwin export OPENWINHOME3. LD_LIBRARY_PATH = / usr / openwin / lib export LD_LIBRARY_PATH4. PATH = / usr / openwin / bin: $ PATH export PATH5. XAPPLERESDIR = / usr / openwin / lib / app-defaults export XAPPLERESDIRЗапустіте X Windows командою openwin
«Нормальні» Unix`и:
Встановіть змінні оточення:
2.PATH = / usr / bin / X11: $ PATH3. XAPPLERESDIR = / usr / lib / X11 / app-defaultsЗапустіте X Windows командою startx
«Ненормальні» Unix`и (Unixware).
Коли реєструєте користувача, дайте відповідь Yes на питання «Хочете графічний DeskTop». Тоді після login`а X Windows буде запускатися автоматично. Якщо ви прогавили, і відповіли No, то ніяким осмисленим способом запустити X Windows для себе вам не вдасться.
Настройки призначеного для користувача оточення X Windows
При наявності користувальницьких настроювальних файлів, що знаходяться в домашньому каталозі користувача, використовуються вони. Якщо їх немає, використовуються стандартні, громадські, зазвичай лежать в каталозі / usr / lib / X11 або / usr / openwin / lib.

Персональні та громадські призначені для користувача настройки зберігаються в файлах:
$ HOME / .Xdefaults $ HOME / .OWdefaults / usr / lib / X11 / Xdefaults / usr / openwin / lib / Xdefaults / usr / openwin / lib / app-defaults / * Оточення (desktop) - тобто програми, які стартують автоматично при запуску  X Windows знаходиться в файлах:
Solaris:
$ HOME / .openwin-init / usr / openwin / lib / openwin-init »нормально» X windows:
$ HOME / .xinitrc / usr / lib / X11 / xinit / xinitrcНастройкі window-manager`a - тобто - поведінка вікон, менюшки користувача, розкладка команд на клавіші мишки, Solaris:
$ HOME / .openwin-menu $ HOME / .openwin-menu- * / usr / openwin / lib / openwin-menu / usr / openwin / lib / openwin-menu- * Linux
$ HOME / .fvwmrc /usr/lib/X11/fvwm/system.fvwmrc

Відео: Як встановити графічну оболонку XRDP на Fedora 16

Поділися в соц мережах:
Cхоже

Увага, тільки СЬОГОДНІ!