ПЕРЕЛІК ДИСЦИПЛІН:
  • Адміністративне право
  • Арбітражний процес
  • Архітектура
  • Астрологія
  • Астрономія
  • Банківська справа
  • Безпека життєдіяльності
  • Біографії
  • Біологія
  • Біологія і хімія
  • Ботаніка та сільське гос-во
  • Бухгалтерський облік і аудит
  • Валютні відносини
  • Ветеринарія
  • Військова кафедра
  • Географія
  • Геодезія
  • Геологія
  • Етика
  • Держава і право
  • Цивільне право і процес
  • Діловодство
  • Гроші та кредит
  • Природничі науки
  • Журналістика
  • Екологія
  • Видавнича справа та поліграфія
  • Інвестиції
  • Іноземна мова
  • Інформатика
  • Інформатика, програмування
  • Юрист по наследству
  • Історичні особистості
  • Історія
  • Історія техніки
  • Кибернетика
  • Комунікації і зв'язок
  • Комп'ютерні науки
  • Косметологія
  • Короткий зміст творів
  • Криміналістика
  • Кримінологія
  • Криптология
  • Кулінарія
  • Культура і мистецтво
  • Культурологія
  • Російська література
  • Література і російська мова
  • Логіка
  • Логістика
  • Маркетинг
  • Математика
  • Медицина, здоров'я
  • Медичні науки
  • Міжнародне публічне право
  • Міжнародне приватне право
  • Міжнародні відносини
  • Менеджмент
  • Металургія
  • Москвоведение
  • Мовознавство
  • Музика
  • Муніципальне право
  • Податки, оподаткування
  •  
    Бесплатные рефераты
     

     

     

     

     

     

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

     

    Інформатика, програмування
    Графічна оболонка 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

         
     
         
    Реферат Банк
     
    Рефераты
     
    Бесплатные рефераты
     

     

     

     

     

     

     

     
     
     
      Все права защищены. Reff.net.ua - українські реферати ! DMCA.com Protection Status