Графічна оболонка X-Windows System

[ виправити ] текст може містити помилки, будь ласка перевіряйте перш ніж використовувати.

скачати

Основна ідея X Windows Отже, повторимо Що ми з цього маємо Чого нам це коштує Як це запускається Бібліотеки, Motif, і війна круглих і квадратних кнопок Конфігурування X Windows Запуск X Windows Установки для користувача оточення X Windows Установки window-manager'a

Для початку трохи історії та загальних місць. Уявімо, що нам потрібно написати програму, яка буде працювати в графічному режимі. Нам буде потрібно: опитувати клавіатуру, знімати події і координати миші, малювати на екрані, ... Як це робилося на MS-DOSе? Дуже просто. Пишемо одну велику програму, в ній - усе: і логіка, і обробка подій, і стеження за переміщеннями миші, ну, а коли потрібно щось намалювати, ми даємо команду на запис в порти EGA контролера, малюємо піксель ... Через рік з'являється контролер VGA, ще через рік SVGA 800x600, 16 кольорів, слідом за ним UVGA 1024x768, 256 кольорів, потім XGA 1280x1024, 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


Додати в блог або на сайт

Цей текст може містити помилки.

Програмування, комп'ютери, інформатика і кібернетика | Доповідь
15.6кб. | скачати


Схожі роботи:
UNIX System V
Робота з гарячими клавішами в ОС Windows Призначення гарячих клавіш в ОС WINDOWS -функції
Пошук даних в ОС Windows Основні прийоми роботи із пошуком в ОС WINDOWS
Операційні системи WINDOWS NT NetWare UNIX Оперцiйна система Windows NT
Система обробки скарг (service recovery system) у сфері банківських послуг
Налаштування локальної мережі і підключення до мережі інтернет для Windows XP і Windows 7
Географічна оболонка
Газова оболонка Землі
Графічна бібліотека OpenGl
© Усі права захищені
написати до нас