X Window System: відмінності між версіями
[перевірена версія] | [перевірена версія] |
Виправлено джерел: 0; позначено як недійсні: 1. #IABot (v2.0beta15) |
м стиль |
||
(Не показані 26 проміжних версій 13 користувачів) | |||
Рядок 9: | Рядок 9: | ||
|genre=[[віконна система]] |
|genre=[[віконна система]] |
||
|license=[[Ліцензія MIT|MIT]] |
|license=[[Ліцензія MIT|MIT]] |
||
|website=[ |
|website=[https://x.org x.org] |
||
}} |
|||
⚫ | '''X Window System''' — [[віконна система]], що забезпечує стандартні інструменти й [[мережевий протокол|протоколи]] для побудови [[графічний інтерфейс користувача|графічних інтерфейсів користувача]]. Майже всі сучасні [[операційна система|операційні системи]] підтримують {{s|X Window System}}. |
||
⚫ | '''X Window System''' — [[віконна система]], що забезпечує стандартні інструменти й [[мережевий протокол|протоколи]] для побудови [[графічний інтерфейс користувача|графічних інтерфейсів користувача]]. Майже всі сучасні [[операційна система|операційні системи]] підтримують {{s|X Window System}} |
||
{{s|X Window System}} забезпечує базові функції графічного середовища: відображення й переміщення [[Вікно (інформатика)|вікон]] на екрані, взаємодію з [[комп'ютерна миша|мишею]] та [[клавіатура|клавіатурою]]. {{s|X Window System}} не визначає деталей [[інтерфейс користувача|інтерфейсу користувача]] — цим займаються [[Менеджер вікон|менеджери вікон]], яких розроблено безліч. Через це зовнішній вигляд програм у середовищі {{s|X Window System}} може дуже різнитися; різні програми можуть використати цілком несхожі один на одного інтерфейси. |
{{s|X Window System}} забезпечує базові функції графічного середовища: відображення й переміщення [[Вікно (інформатика)|вікон]] на екрані, взаємодію з [[комп'ютерна миша|мишею]] та [[клавіатура|клавіатурою]]. {{s|X Window System}} не визначає деталей [[інтерфейс користувача|інтерфейсу користувача]] — цим займаються [[Менеджер вікон|менеджери вікон]], яких розроблено безліч. Через це зовнішній вигляд програм у середовищі {{s|X Window System}} може дуже різнитися; різні програми можуть використати цілком несхожі один на одного інтерфейси. |
||
Рядок 17: | Рядок 17: | ||
У {{s|X Window System}} передбачена ''[[мережева прозорість]]'': графічні програми можуть виконуватися на іншій машині в [[комп'ютерна мережа|мережі]], інтерфейс при цьому буде передаватися через мережу й відображатись на локальній машині користувача. У {{s|X Window System}} терміни [[технологія «клієнт-сервер»|«клієнт» і «сервер»]] мають незвичне багатьом значення: «сервер» означає локальний дисплей користувача (''дисплейний сервер''), а «клієнт» — програму, яка цей дисплей використовує (вона може виконуватися й на віддаленому комп'ютері). |
У {{s|X Window System}} передбачена ''[[мережева прозорість]]'': графічні програми можуть виконуватися на іншій машині в [[комп'ютерна мережа|мережі]], інтерфейс при цьому буде передаватися через мережу й відображатись на локальній машині користувача. У {{s|X Window System}} терміни [[технологія «клієнт-сервер»|«клієнт» і «сервер»]] мають незвичне багатьом значення: «сервер» означає локальний дисплей користувача (''дисплейний сервер''), а «клієнт» — програму, яка цей дисплей використовує (вона може виконуватися й на віддаленому комп'ютері). |
||
Система {{s|X Window System}} була розроблена в [[Массачусетський технологічний інститут|Массачусетському технологічному інституті]] (MIT) [[1984]] року. Нинішня версія протоколу — ''X11'' (на квітень [[2016]] р. — X11R7.7)— з'явилась у вересні [[1987]] р. |
Система {{s|X Window System}} була розроблена в [[Массачусетський технологічний інститут|Массачусетському технологічному інституті]] (MIT) [[1984]] року. Нинішня версія протоколу — ''X11'' (на квітень [[2016]] р. — X11R7.7)— з'явилась у вересні [[1987]] р. Проєкт X очолюється фондом [[X.Org Foundation]]. Зразкова реалізація ({{lang-en|reference implementation}}) системи [[вільне програмне забезпечення|вільно доступна]] на умові [[ліцензія MIT|ліцензії MIT]] і подібних до неї ліцензій<ref name="xorg-licenses">{{cite web|url=http://ftp.x.org/pub/X11R7.0/doc/html/LICENSE.html|title=Licenses|publisher=The X.Org Foundation|publication-date=март [[2004]]|accessdate=2006-06-29|language=англійською|archiveurl=https://www.webcitation.org/5w60CuY8X?url=http://ftp.x.org/pub/X11R7.0/doc/html/LICENSE.html|archivedate=2011-01-29|deadurl=no}}</ref>. |
||
{{s|X Window System}} часто називають '''X11''' чи '''X''', неформально ''«ікси́»''. |
{{s|X Window System}} часто називають '''X11''' чи '''X''', неформально ''«ікси́»''. |
||
== Клієнт-серверна модель і мережева прозорість == |
== Клієнт-серверна модель і мережева прозорість == |
||
[[Файл:X client sever example uk.svg|frame|В цьому прикладі X-сервер приймає введення з клавіатури й миші та здійснює виведення на екран. На робочій станції користувача виконуються [[браузер| |
[[Файл:X client sever example uk.svg|frame|В цьому прикладі X-сервер приймає введення з клавіатури й миші та здійснює виведення на екран. На робочій станції користувача виконуються [[браузер|веббраузер]] і [[емулятор термінала]]. Програма оновлення системи працює на віддаленому сервері, але керується з машини користувача.]] |
||
X Window System використовує [[технологія «клієнт-сервер»|клієнт-серверну]] модель взаємодії: ''X-сервер'' обмінюється повідомленнями з різними ''клієнтськими'' програмами. Сервер приймає запити виведення графіки (вікон) і відправляє назад введення користувача (з [[клавіатура|клавіатури]], [[комп'ютерна миша|миші]] чи [[сенсорний екран|сенсорного екрану]]). |
X Window System використовує [[технологія «клієнт-сервер»|клієнт-серверну]] модель взаємодії: ''X-сервер'' обмінюється повідомленнями з різними ''клієнтськими'' програмами. Сервер приймає запити виведення графіки (вікон) і відправляє назад введення користувача (з [[клавіатура|клавіатури]], [[комп'ютерна миша|миші]] чи [[сенсорний екран|сенсорного екрану]]). |
||
X-сервер може бути: |
X-сервер може бути: |
||
Рядок 50: | Рядок 50: | ||
* Забезпечуй механізм, а не політику. Зокрема, політика інтерфейсу користувача має бути в руках клієнтів. |
* Забезпечуй механізм, а не політику. Зокрема, політика інтерфейсу користувача має бути в руках клієнтів. |
||
З того часу |
З того часу проєкт X, переважно, дотримувався цих принципів. Демонстраційна реалізація розробляється з розрахунком на розширення й поліпшення, в той же час, вона залишається майже повністю [[зворотна сумісність|сумісною]] з протоколом [[1987]]-го року. |
||
== Інтерфейси користувача == |
== Інтерфейси користувача == |
||
Рядок 59: | Рядок 59: | ||
X Window System навмисно не визначає, як повинен виглядати [[інтерфейс користувача]] програми — кнопки, меню, заголовки вікон і т. д. Ці питання вирішуються на рівні [[менеджер вікон X Window System|віконних менеджерів]], інструментаріїв [[елемент інтерфейсу|елементів інтерфейсу]], [[середовище робочого столу|середовищ робочого столу]] і на рівні окремих застосунків. З цієї причини візуальне подання X-інтерфейсів зазнало величезних змін з плином часу. |
X Window System навмисно не визначає, як повинен виглядати [[інтерфейс користувача]] програми — кнопки, меню, заголовки вікон і т. д. Ці питання вирішуються на рівні [[менеджер вікон X Window System|віконних менеджерів]], інструментаріїв [[елемент інтерфейсу|елементів інтерфейсу]], [[середовище робочого столу|середовищ робочого столу]] і на рівні окремих застосунків. З цієї причини візуальне подання X-інтерфейсів зазнало величезних змін з плином часу. |
||
[[Менеджер вікон X Window System|Віконний менеджер]] керує розміщенням і виглядом вікон застосунків. Він може створювати інтерфейс, подібний [[Microsoft Windows]] або [[Macintosh]] (наприклад, так працюють менеджери вікон [[ |
[[Менеджер вікон X Window System|Віконний менеджер]] керує розміщенням і виглядом вікон застосунків. Він може створювати інтерфейс, подібний [[Microsoft Windows]] або [[Macintosh]] (наприклад, так працюють менеджери вікон [[KWin|KWin]] в [[KDE]] та [[Metacity]] в [[GNOME]]), або зовсім інший стиль (наприклад, в [[Мозаїчний менеджер вікон|фреймових віконних менеджерах]], таких, як [[Ion (менеджер вікон)|Ion]]). Віконний менеджер може бути простим і мінімалістичним (як [[twm]] — базовий віконний менеджер, що постачається з X), а може пропонувати функціональність, близьку до повноцінного робочого середовища (наприклад, [[Enlightenment]]). |
||
Багато користувачів використовують X разом з повним [[середовище робочого столу|середовищем робочого столу]], яке включає в себе віконний менеджер, різні програми та єдиний стиль інтерфейсу. Найпопулярніші середовища робочого столу — [[GNOME]] та [[KDE]]. У стандарті [[POSIX|Single UNIX Specification]] вказане середовище [[CDE]]. |
Багато користувачів використовують X разом з повним [[середовище робочого столу|середовищем робочого столу]], яке включає в себе віконний менеджер, різні програми та єдиний стиль інтерфейсу. Найпопулярніші середовища робочого столу — [[GNOME]] та [[KDE]]. У стандарті [[POSIX|Single UNIX Specification]] вказане середовище [[CDE]]. Проєкт [[freedesktop.org]] намагається забезпечити взаємодію між різними середовищами, а також компоненти, необхідні для конкурентоспроможного робочого столу на основі X. |
||
== Реалізації == |
== Реалізації == |
||
Референсна (зразкова) реалізація ({{lang-en|reference implementation}}) від фонду X.Org Foundation, звана [[X.Org Server]], є канонічною реалізацією X Window System. Оскільки вона поширюється на умовах досить ліберальної [[ліцензія|ліцензії]], з'явилися кілька її різновидів: (як [[Вільне програмне забезпечення|вільних]], так і [[ |
Референсна (зразкова) реалізація ({{lang-en|reference implementation}}) від фонду X.Org Foundation, звана [[X.Org Server]], є канонічною реалізацією X Window System. Оскільки вона поширюється на умовах досить ліберальної [[ліцензія|ліцензії]], з'явилися кілька її різновидів: (як [[Вільне програмне забезпечення|вільних]], так і [[Пропрієтарне програмне забезпечення|пропрієтарних]]). Комерційні постачальники [[UNIX]] часто беруть референсну реалізацію та адаптують її до власного [[апаратне забезпечення|апаратного забезпечення]], зазвичай сильно модифікуючи її та додаючи пропрієтарні розширення. |
||
Аж до [[2004]]-го |
Аж до [[2004]]-го проєкт [[XFree86]] був найпоширенішим варіантом X для вільних UNIX-подібних операційних систем. XFree86 виник як [[Портування|порт]] ''X'' на [[I386|386]]-сумісні персональні комп'ютери. До кінця [[1990-ті|1990-х]] цей проєкт став головним джерелом технічних інновацій в X Window System і ''де-факто'' керував розробкою X. <ref>{{cite web|url=http://www.xfree86.org/pipermail/forum/2004-February/003945.html|title=Лист у форум XFree86|author=[[Геттіс, Джим|Джим Геттіс]].|accessdate=4 січня 2007|archiveurl=https://www.webcitation.org/6Ha4rYQWg?url=http://www.xfree86.org/pipermail/forum/2004-February/003945.html|archivedate=2013-06-23|deadurl=yes}}</ref> Проте в 2004 році XFree86 змінила умови ліцензії та реалізація X.Org Server (яка є [[форк]]ом XFree86, але з вільною ліцензією) стала поширенішою. |
||
<!-- [[Файл:X11 и GIMP в Mac OS X.jpg|thumb|left|[[X11.app]] виконується без кореневого вікна на [[Mac OS X]]. У середовищі X запущений графічний редактор [[GIMP ]].]] |
<!-- [[Файл:X11 и GIMP в Mac OS X.jpg|thumb|left|[[X11.app]] виконується без кореневого вікна на [[Mac OS X]]. У середовищі X запущений графічний редактор [[GIMP ]].]] |
||
Хоча X Window System найчастіше асоціюється з UNIX, X-сервери можуть також існувати всередині інших графічних середовищ. [[OpenVMS]] — операційна система компанії [[Hewlett-Packard]] — як стандартне середовище робочого столу використовує версію X разом з [[CDE]], відому як [[DECwindows]]. До складу операційних систем [[Mac OS X 10.3]](Panther) і вище від [[Apple]] входить [[X11.app]], заснована на XFree86 4.3 і X11R6.6, з повнішою інтеграцією в Mac OS X. |
Хоча X Window System найчастіше асоціюється з UNIX, X-сервери можуть також існувати всередині інших графічних середовищ. [[OpenVMS]] — операційна система компанії [[Hewlett-Packard]] — як стандартне середовище робочого столу використовує версію X разом з [[CDE]], відому як [[DECwindows]]. До складу операційних систем [[Mac OS X 10.3]](Panther) і вище від [[Apple]] входить [[X11.app]], заснована на XFree86 4.3 і X11R6.6, з повнішою інтеграцією в Mac OS X. |
||
[[Файл:X11 в Windows XP.jpg|thumb|[[Cygwin/X]] виконується без кореневого вікна на [[Windows XP|Microsoft Windows XP]]. X-застосунки ([[xeyes]], [[xclock]], [[xterm]]) працюють на одному екрані |
[[Файл:X11 в Windows XP.jpg|thumb|[[Cygwin/X]] виконується без кореневого вікна на [[Windows XP|Microsoft Windows XP]]. X-застосунки ([[xeyes]], [[xclock]], [[xterm]]) працюють на одному екрані зі звичайними програмами [[Microsoft Windows|Windows]] (Дата/Час, Калькулятор)]]. |
||
[[Microsoft Windows]] не |
[[Microsoft Windows]] не передбачає підтримки X, але існують численні сторонні реалізації: як вільні ([[Cygwin/X]], [[Xming]], [[X-Deep/32]], [[WeirdMind] ], [[WeirdX]]), так і пропрієтарні ([[Xmanager]], [[WiredX]], [[Exceed]], [[X-Win32]]). Зазвичай вони використовуються для управління віддаленими X-клієнтами. |
||
--> |
--> |
||
Коли X Window System виконується всередині іншої віконної системи (наприклад, віконної підсистеми Microsoft Windows або Mac OS), вона зазвичай працює в режимі ''без кореневого вікна'' ({{lang-en|rootless}}). Це означає, що кореневе вікно (фон екрану і пов'язані з ним меню) управляється зовнішньою віконною системою, а не власне X Window System. При цьому зовнішня віконна система також управляє геометрією X-вікон, створюваних всередині неї. Однак деякі сервери (наприклад, Exceed, Xming або Cygwin/X) здатні створювати й кореневе вікно — в такому разі клієнти відображаються в окремому вікні зовнішньої системи. |
Коли X Window System виконується всередині іншої віконної системи (наприклад, віконної підсистеми Microsoft Windows або Mac OS), вона зазвичай працює в режимі ''без кореневого вікна'' ({{lang-en|rootless}}). Це означає, що кореневе вікно (фон екрану і пов'язані з ним меню) управляється зовнішньою віконною системою, а не власне X Window System. При цьому зовнішня віконна система також управляє геометрією X-вікон, створюваних всередині неї. Однак деякі сервери (наприклад, Exceed, Xming або Cygwin/X) здатні створювати й кореневе вікно — в такому разі клієнти відображаються в окремому вікні зовнішньої системи. |
||
Рядок 81: | Рядок 81: | ||
X-термінали можуть вивчати [[комп'ютерна мережа|мережу]] (в межах локального [[широкомовний домен|широкомовного домену]]) з використанням [[мережевий протокол|протоколу]] [[XDMCP]], складаючи при цьому список вузлів мережі, з яких вони можуть запускати клієнтів. На початковому вузлі повинен виконуватися [[дисплейний менеджер]] X ({{lang-en|X display manager}}). |
X-термінали можуть вивчати [[комп'ютерна мережа|мережу]] (в межах локального [[широкомовний домен|широкомовного домену]]) з використанням [[мережевий протокол|протоколу]] [[XDMCP]], складаючи при цьому список вузлів мережі, з яких вони можуть запускати клієнтів. На початковому вузлі повинен виконуватися [[дисплейний менеджер]] X ({{lang-en|X display manager}}). |
||
Зараз виділені (апаратні) X-термінали не користуються широкою популярністю: зазвичай [[персональний комп'ютер]] з X-сервером забезпечує ту ж функціональність при меншій вартості. |
Зараз{{коли}} виділені (апаратні) X-термінали не користуються широкою популярністю: зазвичай [[персональний комп'ютер]] з X-сервером забезпечує ту ж функціональність при меншій вартості. |
||
== Розширення == |
== Розширення == |
||
Рядок 115: | Рядок 115: | ||
|archivedate = 2011-01-29 |
|archivedate = 2011-01-29 |
||
|deadurl = no |
|deadurl = no |
||
}}</ref> присвячена проблемам X у кінці [[1980-ті|1980-х]] — на початку [[1990-ті|1990-х років]]. Стаття ''«Why X Is Not Our Ideal Window System»''<ref> |
}}</ref> присвячена проблемам X у кінці [[1980-ті|1980-х]] — на початку [[1990-ті|1990-х років]]. Стаття ''«Why X Is Not Our Ideal Window System»''<ref>{{стаття |
||
| author=Ханя Жаевска, Марк Менес, Джоел Маккормак |
| author=Ханя Жаевска, Марк Менес, Джоел Маккормак |
||
| title=Why X Is Not Our Ideal Window System |
| title=Why X Is Not Our Ideal Window System |
||
Рядок 123: | Рядок 123: | ||
| Тому=20 |
| Тому=20 |
||
| Номер=S2 |
| Номер=S2 |
||
| accessdate=2008-01-04 |
|||
⚫ | |||
| archivedate=2014-09-10 |
|||
| archiveurl=https://web.archive.org/web/20140910192613/http://www.std.org/~msm/common/protocol.pdf |
|||
⚫ | |||
=== Відеоапаратура === |
=== Відеоапаратура === |
||
Сьогодні межа продуктивності графічних комп'ютерних систем пролягає в галузі найпередовіших графічних функцій. Виробники [[Апаратне забезпечення|апаратного забезпечення]], як правило, реалізують ці можливості у [[Власницьке програмне забезпечення|пропрієтарних]] [[драйвер]]ах, причому ці драйвери звичайно пишуться |
Сьогодні межа продуктивності графічних комп'ютерних систем пролягає в галузі найпередовіших графічних функцій. Виробники [[Апаратне забезпечення|апаратного забезпечення]], як правило, реалізують ці можливості у [[Власницьке програмне забезпечення|пропрієтарних]] [[драйвер]]ах, причому ці драйвери звичайно пишуться насамперед для систем [[Microsoft Windows]] (як для найрозповсюдженіших на ринку). Драйвери багатьох старих [[Відеокарта|графічних плат]] зазнали [[Зворотна розробка|зворотної розробки]] в рамках проєктів [[XFree86]] та [[X.Org]]. Проте деякі виробники розглядають свої розробки в області високопродуктивного відео як [[комерційна таємниця|комерційну таємницю]], або ж як [[патент]]овані винаходи, які не хочуть розкривати. |
||
Багато нинішніх реалізації X керують відеоапаратурою напряму. Нестійкий X-сервер може зробити дисплей непридатним до використання навіть тоді, коли сама [[операційна система]] продовжує нормально функціонувати. При цьому може знадобитися [[перезавантаження]] всієї системи. Технологія [[Direct Rendering Infrastructure]] (DRI) покликана усунути цю проблему. |
Багато нинішніх реалізації X керують відеоапаратурою напряму. Нестійкий X-сервер може зробити дисплей непридатним до використання навіть тоді, коли сама [[операційна система]] продовжує нормально функціонувати. При цьому може знадобитися [[перезавантаження]] всієї системи. Технологія [[Direct Rendering Infrastructure]] (DRI) покликана усунути цю проблему. |
||
=== Функції інтерфейсу користувача === |
=== Функції інтерфейсу користувача === |
||
X Window System навмисно не включає в себе специфікації [[інтерфейс користувача|інтерфейсу користувача]], так само, як і більшої частини міжпрограмної взаємодії. Завдяки цьому виникли різноманітні інтерфейси, а також застосунки, що не завжди правильно працюють один з одним. Існує специфікація взаємодії клієнтів [[ICCCM]], але вона |
X Window System навмисно не включає в себе специфікації [[інтерфейс користувача|інтерфейсу користувача]], так само, як і більшої частини міжпрограмної взаємодії. Завдяки цьому виникли різноманітні інтерфейси, а також застосунки, що не завжди правильно працюють один з одним. Існує специфікація взаємодії клієнтів [[ICCCM]], але вона знана як важка для правильної реалізації. Подальші спроби стандартизації (такі, як інструментарій [[Motif]] і середовище [[CDE]]) не виправили становища. Все це заважає як користувачам, так і [[програміст]]ам. <ref>{{Cite web |url=http://lists.debian.org/debian-user/1996/11/msg00637.html |title=Re: X is painful <!-- Заголовок доданий ботом --> |accessdate=4 січня 2008 |archive-date=6 липня 2017 |archive-url=https://web.archive.org/web/20170706132237/http://lists.debian.org/debian-user/1996/11/msg00637.html }}</ref> В наш час{{коли}} розробники зазвичай домагаються єдиного стилю в застосунках, орієнтуючись на одне конкретне [[середовище стільниці]] або на конкретний інструментарій. Це також дозволяє уникнути безпосередньої роботи з ICCCM. |
||
Протокол X не надає ніяких засобів для роботи зі [[звук]]ом. Підтримка звукової апаратури та відтворення звуків покладається на операційну систему. Оскільки користувачам все частіше необхідний звук, ця ситуація призвела до появи різних несумісних один з одним звукових підсистем. У минулому багато програмістів ігнорували [[комп'ютерна мережа|мережеві]] проблеми й просто використовували локальні звукові [[Прикладний програмний інтерфейс|API]] операційної системи. |
Протокол X не надає ніяких засобів для роботи зі [[звук]]ом. Підтримка звукової апаратури та відтворення звуків покладається на операційну систему. Оскільки користувачам все частіше необхідний звук, ця ситуація призвела до появи різних несумісних один з одним звукових підсистем. У минулому багато програмістів ігнорували [[комп'ютерна мережа|мережеві]] проблеми й просто використовували локальні звукові [[Прикладний програмний інтерфейс|API]] операційної системи. До першого покоління [[технологія «клієнт-сервер»|клієнт-серверних]] звукових систем належать [[rplay]] та [[Network Audio System]]. Сучасніші системи — [[PulseAudio]], [[esound]] в [[GNOME]] та [[aRts]] в [[KDE]]. Також розпочато розробку нової системи — [[Media Application Server]]. |
||
До недавнього часу X Window System не містила доброго рішення для [[поліграфія|друку]] вмісту дисплеїв. Багато X-клієнтів друкують у форматі [[PostScript]] незалежно від X-сервера. Механізм [[Xprint]] уперше з'явився в X11R6.3; його клієнтська частина працювала добре, на відміну від багатьох серверних реалізацій. Версії X11R6.8 і вище функціонують нормально<ref>{{cite web |
До недавнього часу X Window System не містила доброго рішення для [[поліграфія|друку]] вмісту дисплеїв. Багато X-клієнтів друкують у форматі [[PostScript]] незалежно від X-сервера. Механізм [[Xprint]] уперше з'явився в X11R6.3; його клієнтська частина працювала добре, на відміну від багатьох серверних реалізацій. Версії X11R6.8 і вище функціонують нормально<ref>{{cite web |
||
Рядок 149: | Рядок 152: | ||
[[Файл:X11 ssh tunnelling.png|thumb|Приклад тунелювання програми X11 поверх SSH]] |
[[Файл:X11 ssh tunnelling.png|thumb|Приклад тунелювання програми X11 поверх SSH]] |
||
Дані, що передаються мережею між X-сервером і віддаленими X-клієнтами, зазвичай не [[шифрування|шифруються]]. Зловмисник може за допомогою [[Аналізатор трафіку|сніфера]] перехопити та прочитати ці дані. Для запобігання цьому, як правило, X [[тунельний протокол|тунелюють]] |
Дані, що передаються мережею між X-сервером і віддаленими X-клієнтами, зазвичай не [[шифрування|шифруються]]. Зловмисник може за допомогою [[Аналізатор трафіку|сніфера]] перехопити та прочитати ці дані. Для запобігання цьому, як правило, X [[тунельний протокол|тунелюють]] через [[SSH]]. Більшість реалізацій SSH підтримує тунелювання X-застосунків, хоча іноді ці функції типово вимкнені. |
||
Незалежність від апаратури та відділення клієнтів від серверів впливає на [[продуктивність]] системи. Мережева прозорість X вимагає, щоб клієнти і сервер працювали окремо один від одного. У минулому це істотно знижувало продуктивність окремо системи (порівняно з [[Microsoft Windows]] та [[Mac OS]], де віконна підсистема вбудована глибоко в саму операційну систему). Для нормальної роботи X Window System рекомендувалося від 4 до 8 [[мегабайт|Мб]] [[оперативна пам'ять|оперативної пам'яті]] — |
Незалежність від апаратури та відділення клієнтів від серверів впливає на [[продуктивність]] системи. Мережева прозорість X вимагає, щоб клієнти і сервер працювали окремо один від одного. У минулому це істотно знижувало продуктивність окремо системи (порівняно з [[Microsoft Windows]] та [[Mac OS]], де віконна підсистема вбудована глибоко в саму операційну систему). Для нормальної роботи X Window System рекомендувалося від 4 до 8 [[мегабайт|Мб]] [[оперативна пам'ять|оперативної пам'яті]] — набагато більше (на ті часи), ніж для Windows або Mac OS. |
||
Поточні версії Windows і [[Mac OS X]] мають внутрішній поділ графічної підсистеми, схожий на клієнт-серверний поділ в X, і мають приблизно ті ж вимоги до ресурсів, що й X з [[KDE]] або [[GNOME]]. Велика частина накладних витрат у X тепер припадає на затримку при передачі даних мережею між клієнтом і сервером. Існує поширений міф, згідно з яким при ''локальному'' використанні X Window System її мережеві можливості непотрібні й тому негативно позначаються на продуктивності. Насправді сучасні реалізації X використовують в такому разі локальні [[сокет (програмний інтерфейс)|сокети]] та [[спільна пам'ять|загальну пам'ять]] (напр. [[MIT-SHM]]), вимагаючи дуже незначних накладних витрат. |
Поточні версії Windows і [[Mac OS X]] мають внутрішній поділ графічної підсистеми, схожий на клієнт-серверний поділ в X, і мають приблизно ті ж вимоги до ресурсів, що й X з [[KDE]] або [[GNOME]]. Велика частина накладних витрат у X тепер припадає на затримку при передачі даних мережею між клієнтом і сервером. Існує поширений міф, згідно з яким при ''локальному'' використанні X Window System її мережеві можливості непотрібні й тому негативно позначаються на продуктивності. Насправді сучасні реалізації X використовують в такому разі локальні [[сокет (програмний інтерфейс)|сокети]] та [[спільна пам'ять|загальну пам'ять]] (напр. [[MIT-SHM]]), вимагаючи дуже незначних накладних витрат. |
||
== Конкуренти X == |
== Конкуренти X == |
||
В [[Unix-подібна операційна система|UNIX-подібних операційних системах]] для виведення графіки майже завжди використовується X Window System. |
В [[Unix-подібна операційна система|UNIX-подібних операційних системах]] для виведення графіки майже завжди використовується X Window System. Однак, історія знає декілька спроб створення альтернативи або заміни X. Серед них: [[NeWS]] компанії [[Sun Microsystems]], не завоювала популярність на ринку, і [[Display PostScript]] компанії [[NeXT]], яка згодом перетворилася на Apple [[Aqua (інтерфейс)|Aqua]] для [[Mac OS X]]. |
||
Проводилися і спроби вирішити проблеми X шляхом повної її заміни; в тому числі — |
Проводилися і спроби вирішити проблеми X шляхом повної її заміни; в тому числі — проєкти Berlin/[[Fresco]] та [[Y Window System]]. Однак ці проєкти не отримали практично ніякого розповсюдження. |
||
Інші конкуренти намагаються уникнути накладних витрат, що виникають в X, шляхом роботи безпосередньо з [[апаратне забезпечення|апаратним забезпеченням]]. Прикладами таких |
Інші конкуренти намагаються уникнути накладних витрат, що виникають в X, шляхом роботи безпосередньо з [[апаратне забезпечення|апаратним забезпеченням]]. Прикладами таких проєктів є [[DirectFB]] і дуже маленький [[FBUI]]. Механізм [[Direct Rendering Infrastructure]] (спроба створити надійний [[Ядро операційної системи|ядерний]] [[інтерфейс]] до [[відеобуфер]]у) може зробити ці проєкти непотрібними. |
||
Є й інші способи домогтися мережевої прозорості графічних служб: |
Є й інші способи домогтися мережевої прозорості графічних служб: |
||
* [[VNC]] ({{lang-en|Virtual Network Computing}}) — дуже низькорівнева система, яка пересилає стислі [[растрова графіка|растрові зображення]] по мережі. Реалізація для [[UNIX]] |
* [[VNC]] ({{lang-en|Virtual Network Computing}}) — дуже низькорівнева система, яка пересилає стислі [[растрова графіка|растрові зображення]] по мережі. Реалізація для [[UNIX]] містить у собі X-сервер. |
||
* [[Citrix MetaFrame]] — подібний X продукт для [[Microsoft Windows]]. |
* [[Citrix MetaFrame]] — подібний X продукт для [[Microsoft Windows]]. |
||
* [[Tarantella]], Inc. — Компанія, яка постачає [[Java]]-клієнт для використання у |
* [[Tarantella]], Inc. — Компанія, яка постачає [[Java]]-клієнт для використання у веббраузерах. |
||
* Технологія [[NX NoMachine]] — вузькосмуговий [[мережевий протокол|протокол]] для віддалених дисплеїв. |
* Технологія [[NX NoMachine]] — вузькосмуговий [[мережевий протокол|протокол]] для віддалених дисплеїв. |
||
* SVG Terminal<ref> |
* SVG Terminal<ref>{{Cite web |url=http://networkimprov.net/airwrx/awscene.html |title=airWRX — SVG Terminal <!-- Заголовок долучено ботом --> |accessdate=4 січня 2008 |archive-date=17 грудня 2007 |archive-url=https://web.archive.org/web/20071217132508/http://networkimprov.net/airwrx/awscene.html }}</ref> — протокол для оновлення [[SVG]]-вмісту в [[браузер|веббраузері]] майже в [[реальний час|реальному часі]]. |
||
== Історія == |
== Історія == |
||
=== Попередники === |
=== Попередники === |
||
До появи X існувало кілька растрових дисплейних систем. Із [[Xerox]] прийшли [[Xerox Alto|Alto]] ([[1973]]) та [[Xerox Star|Star]] ([[1981]]). В [[Apple]] були розроблені [[Apple Lisa|Lisa]] ([[1983]]) та [[Macintosh]] ([[1984]]). У світі [[UNIX]] існували термінал [[Blit]] [[Пайк, Роб|Роба Пайка]] ([[1984]]) та |
До появи X існувало кілька растрових дисплейних систем. Із [[Xerox]] прийшли [[Xerox Alto|Alto]] ([[1973]]) та [[Xerox Star|Star]] ([[1981]]). В [[Apple]] були розроблені [[Apple Lisa|Lisa]] ([[1983]]) та [[Macintosh]] ([[1984]]). У світі [[UNIX]] існували термінал [[Blit]] [[Пайк, Роб|Роба Пайка]] ([[1984]]) та проєкт [[Andrew]] ([[1982]]). |
||
X отримала своє ім'я як спадкоємиця віконної системи [[W Window System]] (у [[латинський алфавіт|латинському алфавіті]] буква X слідує відразу за буквою W). Система W працювала під управлінням [[V (операційна система)|операційної системи V]]. W використовувала [[мережевий протокол]] з підтримкою термінальних та графічних вікон, при цьому [[сервер]] підтримував списки дисплеїв. |
X отримала своє ім'я як спадкоємиця віконної системи [[W Window System]] (у [[латинський алфавіт|латинському алфавіті]] буква X слідує відразу за буквою W). Система W працювала під управлінням [[V (операційна система)|операційної системи V]]. W використовувала [[мережевий протокол]] з підтримкою термінальних та графічних вікон, при цьому [[сервер]] підтримував списки дисплеїв. |
||
=== Витоки і ранні розробки === |
=== Витоки і ранні розробки === |
||
Первісна ідея X Window System виникла в [[Массачусетський технологічний інститут|Массачусетському технологічному інституті]] (MIT) в [[1984]] у в результаті співробітництва [[Геттіс, Джим|Джима Геттіса]] (з |
Первісна ідея X Window System виникла в [[Массачусетський технологічний інститут|Массачусетському технологічному інституті]] (MIT) в [[1984]] у в результаті співробітництва [[Геттіс, Джим|Джима Геттіса]] (з проєкту [[Athena]] ) та [[Шейфлер, Боб|Боба Шейфлера]] (з лабораторії інформатики MIT). Шейфлеру було необхідно придатне до використання дисплейне середовище для [[зневадник|зневадження]] системи Argus. Проєкт Athena (спільний проєкт [[Digital Equipment Corporation|DEC]], MIT і [[IBM]] з надання легкого доступу до комп'ютерів для студентів) потребував платформо-незалежного графічного рішення, щоб з'єднати воєдино свої гетерогенні системи, що складаються з продуктів різних постачальників. У той час в рамках проєкту [[Andrew]] в [[Університет Карнегі-Меллон|університеті Карнегі-Меллон]] велася робота над віконною системою, але для неї не були доступні [[ліцензія|ліцензії]], а альтернатив не існувало. |
||
Проєкт вирішив ці проблеми шляхом створення [[мережевий протокол|протоколу]], який підтримував як локальні програми, так і виклик віддалених програм. У середині [[1983]]-го початковий [[Портування|порт]] W на [[UNIX]] працював уп'ятеро повільніше, ніж в [[V (операційна система)|системі V]]. У травні 1984 року Шейфлер замінив синхронний протокол на асинхронний, а списки дисплеїв — на безпосереднє виведення графіки. Таким чином вийшла X Window System версії 1.x, одна з перших віконних систем, які забезпечують незалежність від [[апаратне забезпечення|апаратного забезпечення]]. |
|||
Шейфлер, Геттіс і [[Ньюмен, Рон|Рон Ньюмен]] |
Шейфлер, Геттіс і [[Ньюмен, Рон|Рон Ньюмен]] взялися за роботу; X стала швидко розвиватися. У січні [[1985]]-го року була випущена версія 6. Компанія [[Digital Equipment Corporation|DEC]], яка в той час готувалася до випуску своєї першої [[робоча станція|робочої станції]] [[Ultrix]], вирішила, що X — єдина віконна система, яка може бути завершена до потрібного терміну. Інженери DEC портувати X6 на дисплей QVSS на [[MicroVAX]]. |
||
У другому кварталі 1985 року в X була реалізована підтримка [[Колір|кольорів]] для роботи під DEC [[VAXstation]]-II/GPX. Ця версія стала |
У другому кварталі 1985 року в X була реалізована підтримка [[Колір|кольорів]] для роботи під DEC [[VAXstation]]-II/GPX. Ця версія стала знана як версія 9. Раніше MIT ліцензував X6 деяким стороннім групами за плату. Однак тепер було вирішено поширювати X9 і майбутні версії [[Вільне програмне забезпечення|вільно]] — на умовах, які отримали назву [[Ліцензія MIT|ліцензії MIT]]. X9 з'явилася у вересні 1985 року. |
||
Група з [[Браунський університет|Браунського університету]] портувала версію 9 на [[IBM]] [[RT/PC]], але проблеми при читанні невпорядкованих даних на RT призвели до несумісних змін в протоколі, |
Група з [[Браунський університет|Браунського університету]] портувала версію 9 на [[IBM]] [[RT/PC]], але проблеми при читанні невпорядкованих даних на RT призвели до несумісних змін в протоколі, внаслідок чого наприкінці 1985 була випущена версія 10. До [[1986]]-го з зовнішніх організацій почали надходити запити на використання X. Випуск X10R2 відбувся в січні 1986 року, X10R3 — у лютому. X10R3 стала першою версією, яка отримала широке поширення; DEC і [[Hewlett-Packard]] випускали засновані на ній продукти. Інші групи портувати X10 на [[Apollo Computers|Apollo]] і на робочі станції [[Sun Microsystems|Sun]], і навіть на [[IBM PC AT]]. У той же час на виставці Autofact були проведені демонстрації першого комерційного застосунку на основі X — інженерної системи, що працює на [[VAX]] і відображалася на [[персональний комп'ютер|персональних комп'ютерах]] з X-сервером. Остання версія X10 — X10R4 — з'явилася в грудні 1986 року. |
||
Хоча X10 володіла цікавою та потужною функціональністю, стало очевидно, що протокол X бажано зробити менш залежним від апаратури ''до того'', як X Window System стане занадто широко поширеною. Однак MIT поодинці не впорався б з настільки великими змінами в протоколі. [[Уоллес, Смоук|Смоук Уоллес]] з лабораторії [[Western Software Laboratory|DEC WSL]] і Джим Геттіс запропонували DEC WSL зайнятися розробкою X11 і зробити її вільно розповсюджується на тих же умовах, що X9 і X10. Цей процес почався в травні 1986 року, протокол був готовий у серпні. [[Альфа-тестування]] програмного забезпечення почалося в лютому [[1987]]-го; [[бета-тестування]] — у травні. Нарешті, [[15 вересня]] 1987 X11 була офіційно випущена. |
Хоча X10 володіла цікавою та потужною функціональністю, стало очевидно, що протокол X бажано зробити менш залежним від апаратури ''до того'', як X Window System стане занадто широко поширеною. Однак MIT поодинці не впорався б з настільки великими змінами в протоколі. [[Уоллес, Смоук|Смоук Уоллес]] з лабораторії [[Western Software Laboratory|DEC WSL]] і Джим Геттіс запропонували DEC WSL зайнятися розробкою X11 і зробити її вільно розповсюджується на тих же умовах, що X9 і X10. Цей процес почався в травні 1986 року, протокол був готовий у серпні. [[Альфа-тестування]] програмного забезпечення почалося в лютому [[1987]]-го; [[бета-тестування]] — у травні. Нарешті, [[15 вересня]] 1987 X11 була офіційно випущена. |
||
Дизайн протоколу X11, яким керував Шейфлер, широко обговорювалося у відкритих [[розсилки електронної пошти|списках розсилки]] раннього [[Інтернет]]у. Таким чином, X можна вважати одним з перших великомасштабних |
Дизайн протоколу X11, яким керував Шейфлер, широко обговорювалося у відкритих [[розсилки електронної пошти|списках розсилки]] раннього [[Інтернет]]у. Таким чином, X можна вважати одним з перших великомасштабних проєктів по створенню [[вільне програмне забезпечення|вільного програмного забезпечення]]. |
||
=== Консорціум X MIT і X Consortium, Inc. === |
=== Консорціум X MIT і X Consortium, Inc. === |
||
[[Файл: DECwindows-openvms-v7.3-1.png|thumb|DECwindows [[CDE]] в [[OpenVMS]] 7.3-1]] |
[[Файл: DECwindows-openvms-v7.3-1.png|thumb|DECwindows [[CDE]] в [[OpenVMS]] 7.3-1]] |
||
В [[1987]]-му, коли успіх X11 став очевидним, [[Массачусетський технологічний інститут|MIT]] побажав відмовитися від подальшого управління |
В [[1987]]-му, коли успіх X11 став очевидним, [[Массачусетський технологічний інститут|MIT]] побажав відмовитися від подальшого управління проєктом X. Однак на зборах дев'яти постачальників, що відбувся в червні 1987 року, постачальники повідомили MIT, що необхідна нейтральна сторона, яка б запобігла розпаду X на ринку. У січні [[1988]]-го була сформована некомерційна група під назвою ''Consortium X MIT'' ({{lang-en|MIT X Consortium}}). Її метою було управління подальшою розробкою X в нейтральній атмосфері, з урахуванням як комерційних, так і освітніх інтересів. Директором Консорціуму став Шейфлер. Джим Фултон і [[Паккард, Кейт|Кейт Паккард]] приєдналися як старші розробники в січні та березні 1988 року відповідно. При цьому Джим працював переважно над [[Xlib]], [[шрифт]]ами, [[менеджер вікон X Window System|віконними менеджерами]] та [[утиліта]]ми; а Кейт займався переробленням сервера. Донна Конверс і Кріс Петерсон приєдналися пізніше в тому ж році; їх зусилля були зосереджені в галузі інструментаріїв та наборів [[елемент інтерфейсу|елементів інтерфейсу]]; вони працювали в тісному зв'язку з Ральфом Свіком з проєкту [[Athena]] інституту MIT. Консорціум X MIT випустив кілька істотних оновлень до X11. Перше з них (X11R2) вийшло в лютому 1988 року. |
||
В [[1993]] році був сформований наступник Consortium X MIT — некомерційна корпорація ''X Consortium, Inc.'' Під її керівництвом [[16 травня]] [[1994]] року була випущена версія X11R6. |
В [[1993]] році був сформований наступник Consortium X MIT — некомерційна корпорація ''X Consortium, Inc.'' Під її керівництвом [[16 травня]] [[1994]] року була випущена версія X11R6. [[1995]] року корпорація взяла на себе управління розробкою інструментарію [[Motif]] та середовища [[CDE]] для [[UNIX]]-систем. X Consortium розпалася в кінці [[1996]]-го, випустивши останню версію, X11R6.3, і залишивши після себе зростаючий комерційний вплив у розробці.<ref>{{cite web |
||
|author = mako. |
|author = mako. |
||
|url = http://www.advogato.org/article/844.html |
|url = http://www.advogato.org/article/844.html |
||
Рядок 217: | Рядок 220: | ||
=== The Open Group === |
=== The Open Group === |
||
У середині [[1997]] року X Consortium передав керівництво |
У середині [[1997]] року X Consortium передав керівництво проєктом X організації [[The Open Group]], утвореної в [[1996]]-му в результаті злиття [[Open Software Foundation]] та [[X/Open]]. |
||
The Open Group випустила X11R6.4 на початку [[1998]] року. У цій версії було вирішено відмовитися від традиційної ліберальної [[ліцензія|ліцензії]], оскільки The Open Group бажала забезпечити фінансову підтримку розробки X.<ref>{{cite web |
The Open Group випустила X11R6.4 на початку [[1998]] року. У цій версії було вирішено відмовитися від традиційної ліберальної [[ліцензія|ліцензії]], оскільки The Open Group бажала забезпечити фінансову підтримку розробки X.<ref>{{cite web |
||
Рядок 229: | Рядок 232: | ||
|archivedate = 2013-06-23 |
|archivedate = 2013-06-23 |
||
|deadurl = yes |
|deadurl = yes |
||
}}</ref> Нові умови не дозволяли багатьом |
}}</ref> Нові умови не дозволяли багатьом проєктам (наприклад, [[XFree86]]) і навіть деяким комерційним постачальникам прийняти цю версію. Після погроз зробити [[форк]] з боку XFree86.<ref>{{cite web |
||
|author = Меттью Арнісон. |
|author = Меттью Арнісон. |
||
|url = http://www.cat.org.au/maffew/cat/xfree-dawes.html |
|url = http://www.cat.org.au/maffew/cat/xfree-dawes.html |
||
Рядок 246: | Рядок 249: | ||
|language = англійською |
|language = англійською |
||
|archiveurl = https://web.archive.org/web/20080601035445/http://cbbrowne.com/info/x11r6.4.html |
|archiveurl = https://web.archive.org/web/20080601035445/http://cbbrowne.com/info/x11r6.4.html |
||
|archivedate = 1 |
|archivedate = 1 червня 2008 |
||
|deadurl = yes |
|deadurl = yes |
||
}}</ref> Останнім випуском під керівництвом The Open Group став X11R6.4 patch 3. |
}}</ref> Останнім випуском під керівництвом The Open Group став X11R6.4 patch 3. |
||
=== X. Org і XFree86 === |
=== X. Org і XFree86 === |
||
Проєкт [[XFree86]] виник у [[1992]] році із сервера X386 для [[IBM PC]]-сумісних комп'ютерів. X386 був написаний Томасом Роеллом і Марком Снітілі, пожертвуваний Консорціуму X MIT компанією ''Snitily Graphics Consulting Services'' (SGCS) і включений до складу X11R5 в [[1991]]році. З часом XFree86 перетворився з просто окремо взятого порту X в провідну й найпопулярнішу реалізацію системи, і став ''де-факто'' керувати розробкою X.<ref>{{cite web |
|||
|url = http://www.xfree86.org/pipermail/forum/2004-February/003945.html |
|||
|title = [forum] Re: Announcement: Modification to the base XFree86™ license |
|||
|deadurl = yes |
|||
|archiveurl = https://web.archive.org/web/20080908070612/http://www.xfree86.org/pipermail/forum/2004-February/003945.html |
|||
|archivedate = 2008-09-08 |
|||
|language = en |
|||
|accessdate = 2008-01-04 |
|||
}}</ref> |
|||
У травні [[1999]] року [[The Open Group]] заснувала [[X. Org]]. X. Org контролювала випуск версій X11R6.5.1 і вище. У цей час розробка X практично зупинилася<ref>{{cite web |
У травні [[1999]] року [[The Open Group]] заснувала [[X. Org]]. X. Org контролювала випуск версій X11R6.5.1 і вище. У цей час розробка X практично зупинилася<ref>{{cite web |
||
Рядок 264: | Рядок 275: | ||
|archivedate = 2011-08-23 |
|archivedate = 2011-08-23 |
||
|deadurl = no |
|deadurl = no |
||
}}</ref>; технічні інновації відбувалися |
}}</ref>; технічні інновації відбувалися переважно в рамках проєкту XFree86.<ref>{{cite web |
||
|author = [[Паккард, Кейт|Кейт Паккард]]. |
|author = [[Паккард, Кейт|Кейт Паккард]]. |
||
|url = http://keithp.com/~keithp/talks/Xarchitecture/Talk.htm |
|url = http://keithp.com/~keithp/talks/Xarchitecture/Talk.htm |
||
Рядок 274: | Рядок 285: | ||
|archivedate = 2011-01-29 |
|archivedate = 2011-01-29 |
||
|deadurl = no |
|deadurl = no |
||
}}</ref> У [[1999]] році команда XFree86 увійшла до складу X. Org як почесний член<ref>{{Cite web |url=http://xfree86.org/pipermail/forum/2003-March/000418.html |title=[forum] |
}}</ref> У [[1999]] році команда XFree86 увійшла до складу X. Org як почесний член<ref>{{Cite web |url=http://xfree86.org/pipermail/forum/2003-March/000418.html |title=[forum] A Call For Open Governance Of X Development |accessdate=4.7.2010 |archiveurl=https://web.archive.org/web/20050212012732/http://xfree86.org/pipermail/forum/2003-March/000418.html |archivedate=2005-02-12 |deadurl=yes }}</ref>, чому сприяли різні компанії-виробники апаратного забезпечення<ref>{{cite web |
||
|url=http://slashdot.org/article.pl?sid=99/12/01/1342251 |
|||
|title=XFree86 joins X. Org as Honorary Member |
|||
|publisher=Slashdot |
|||
|date=1999-12-01 |
|||
|accessdate=2006-06-29 |
|||
|language=en |
|||
|archiveurl=https://www.webcitation.org/6194jCsqa?url=http://tech.slashdot.org/story/99/12/01/1342251/XFree86-joins-XOrg-as-Honorary-Member |
|||
|archivedate=2011-08-23 |
|||
|deadurl=no |
|||
}}</ref>, зацікавлені у використанні XFree86 разом з [[GNU/Linux]] і в його статусі як найпопулярнішої версії X. |
}}</ref>, зацікавлені у використанні XFree86 разом з [[GNU/Linux]] і в його статусі як найпопулярнішої версії X. |
||
Аж до [[2003]] року, поки популярність GNU/Linux (і, як наслідок, поширеність X) зростала, X. Org не діяла<ref>{{Cite web |url=http://xfree86.org/pipermail/forum/2003-April/003127.html |title=[forum] |
Аж до [[2003]] року, поки популярність GNU/Linux (і, як наслідок, поширеність X) зростала, X. Org не діяла<ref>{{Cite web |url=http://xfree86.org/pipermail/forum/2003-April/003127.html |title=[forum] Another teleconference partial edited transcript |accessdate=4 липня 2010 |archiveurl=https://web.archive.org/web/20050212013335/http://xfree86.org/pipermail/forum/2003-April/003127.html |archivedate=12 лютого 2005 |deadurl=yes }}</ref>, й основна розробка відбувалася в XFree86. Проєкт XFree86 страждав від занадто закритою моделі розробки: [[програміст]]и не могли отримати доступ на запис в [[CVS]]-репозитарій, і постачальникам доводилося підтримувати великі набори [[патч]]ів.<ref>{{cite web |
||
|author=mharris. |
|||
|url=http://www.advogato.org/person/mharris/diary.html?start=5 |
|||
|title=Diary for mharris |
|||
|date=9.1.2003 |
|||
|accessdate=2006-06-29 |
|||
|language=en |
|||
|archiveurl=https://www.webcitation.org/5w60IOpdC?url=http://www.advogato.org/person/mharris/diary.html?start=5 |
|||
|archivedate=2011-01-29 |
|||
|deadurl=no |
|||
}}</ref> У березні 2003 року організація XFree86 виключила [[Паккард, Кейт|Кейта Паккарда]], який приєднався до XFree86 після розпаду Консорціуму X MIT; зроблено це було у вельми недружній обстановці.<ref>{{Cite web |url=http://www.xfree86.org/pipermail/forum/2003-March/001997.html |title=[forum] |
}}</ref> У березні 2003 року організація XFree86 виключила [[Паккард, Кейт|Кейта Паккарда]], який приєднався до XFree86 після розпаду Консорціуму X MIT; зроблено це було у вельми недружній обстановці.<ref>{{Cite web |url=http://www.xfree86.org/pipermail/forum/2003-March/001997.html |title=[forum] Invitation for public discussion about the future of X |accessdate=4.7.2010 |archiveurl=https://web.archive.org/web/20050212013104/http://www.xfree86.org/pipermail/forum/2003-March/001997.html |archivedate=2005-02-12 |deadurl=yes }}</ref><ref>{{Cite web |url=http://www.xfree86.org/pipermail/forum/2003-March/002165.html |title=[forum] A Call For Open Governance Of X Development |accessdate=4.7.2010 |archiveurl=https://web.archive.org/web/20050212012809/http://www.xfree86.org/pipermail/forum/2003-March/002165.html |archivedate=2005-02-12 |deadurl=yes }}</ref><ref>{{Cite web |url=http://www.xfree86.org/pipermail/forum/2003-April/003016.html |title=[forum] Notes from a teleconference held 2003-3-27 |accessdate=2010-07-04 |archiveurl=https://web.archive.org/web/20050212013506/http://www.xfree86.org/pipermail/forum/2003-April/003016.html |archivedate=2005-02-12 |deadurl=yes }}</ref> |
||
X. Org і XFree86 почали обговорювати реорганізацію, щоб забезпечити повноцінну розробку X.<ref>{{Cite web |url=http://www.xfree86.org/pipermail/forum/2003-March/000554.html |title=[forum] |
X. Org і XFree86 почали обговорювати реорганізацію, щоб забезпечити повноцінну розробку X.<ref>{{Cite web |url=http://www.xfree86.org/pipermail/forum/2003-March/000554.html |title=[forum] A Call For Open Governance Of X Development |accessdate=4 липня 2010 |archiveurl=https://web.archive.org/web/20041222151738/http://www.xfree86.org/pipermail/forum/2003-March/000554.html |archivedate=2004-12-22 |deadurl=yes }}</ref><ref>{{Cite web |url=http://www.xfree86.org/pipermail/forum/2003-March/002415.html |title=[forum] A Call For Open Governance Of X Development |accessdate=4.7.2010 |archiveurl=https://web.archive.org/web/20050106075606/http://www.xfree86.org/pipermail/forum/2003-March/002415.html |archivedate=2005-01-06 |deadurl=yes }}</ref><ref>{{Cite web |
||
|url=http://xfree86.org/pipermail/forum/2003-April/003144.html |
|||
|title=[forum]Discussing issues |
|||
|archiveurl=https://web.archive.org/web/20041227204437/http://xfree86.org/pipermail/forum/2003-April/003144.html |
|||
|archivedate=2004-12-27 |
|||
|accessdate=4.7.2010 |
|||
|deadurl=yes |
|||
|language=en }}</ref> [[Геттіс, Джим|Джим Геттіс]] наполягав на переході до відкритої моделі розробки принаймні з 2000 року. <ref name="gettys-usenix-2000" /> Геттіс, Паккард і інші почали докладно обговорювати зміни, які потрібно внести для переходу до ефективної відкритої розробки X. |
|||
Нарешті, в лютому [[2004]] року |
Нарешті, в лютому [[2004]] року проєкт XFree86 випустив версію 4.4 під обмеженішою [[ліцензія|ліцензією]]: у неї був доданий пункт, аналогічний ''рекламному пункту'' ({{lang-en|advertising clause}}) оригінальної [[ліцензія BSD|ліцензії BSD]]. Багато проєктів, що покладалися на X, вважають таку ліцензію неприйнятною. [[Фонд вільного програмного забезпечення|FSF]] та [[Debian]] визнали доданий пункт несумісним з умовами [[GNU General Public License|GNU GPL]].<ref name="wheeler-xfree86">{{cite web |
||
|author = [[ |
|author = [[Девід Вілер]]. |
||
|url = http://www.dwheeler.com/essays/gpl-compatible.html#xfree86 |
|url = http://www.dwheeler.com/essays/gpl-compatible.html#xfree86 |
||
|title = The Cautionary Tale of XFree86 |
|title = The Cautionary Tale of XFree86 |
||
Рядок 307: | Рядок 325: | ||
|date = 2005-02-16 |
|date = 2005-02-16 |
||
|accessdate = 2006-06-29 |
|accessdate = 2006-06-29 |
||
|language |
|language=en |
||
|archiveurl = https://www.webcitation.org/6Ha4ta4S8?url=http://www.dwheeler.com/essays/gpl-compatible.html#xfree86#xfree86 |
|archiveurl = https://www.webcitation.org/6Ha4ta4S8?url=http://www.dwheeler.com/essays/gpl-compatible.html#xfree86#xfree86 |
||
|archivedate = 2013-06-23 |
|archivedate = 2013-06-23 |
||
|deadurl |
|deadurl=no |
||
}}</ref> Інші групи (наприклад, [[OpenBSD]]) вважали, що накладення додаткових ліцензійних обмежень суперечить "споконвічному духу" X. Через ці ліцензійні проблеми, на тлі закритості XFree86 склалася відповідна атмосфера для створення [[форк]]у. |
}}</ref> Інші групи (наприклад, [[OpenBSD]]) вважали, що накладення додаткових ліцензійних обмежень суперечить "споконвічному духу" X. Через ці ліцензійні проблеми, на тлі закритості XFree86 склалася відповідна атмосфера для створення [[форк]]у. |
||
Рядок 316: | Рядок 334: | ||
На початку [[2004]] а представники [[X.Org]] та [[freedesktop.org]] заснували фонд [[X.Org Foundation]]. [[The Open Group]] передала йому управління [[доменне ім'я|доменним ім'ям]] <code> x.org </code>. Це стало корінною зміною в розробці X. У той час як розпорядники X з 1988 року (включаючи попередню X. Org) були організаціями постачальників, X. Org Foundation був заснований самими розробниками програмного забезпечення, і в ньому використовувалася відкрита модель розробки, що опирається на вклад ззовні. Було відкрито членство для приватних осіб, а корпоративне членство представлено у вигляді спонсорства. В наш час{{коли}} фонд X. Org Foundation підтримується декількома великими корпораціями, такими, як [[Hewlett-Packard]] та [[Sun Microsystems]]. |
На початку [[2004]] а представники [[X.Org]] та [[freedesktop.org]] заснували фонд [[X.Org Foundation]]. [[The Open Group]] передала йому управління [[доменне ім'я|доменним ім'ям]] <code> x.org </code>. Це стало корінною зміною в розробці X. У той час як розпорядники X з 1988 року (включаючи попередню X. Org) були організаціями постачальників, X. Org Foundation був заснований самими розробниками програмного забезпечення, і в ньому використовувалася відкрита модель розробки, що опирається на вклад ззовні. Було відкрито членство для приватних осіб, а корпоративне членство представлено у вигляді спонсорства. В наш час{{коли}} фонд X. Org Foundation підтримується декількома великими корпораціями, такими, як [[Hewlett-Packard]] та [[Sun Microsystems]]. |
||
Фонд випустив X11R6.7 — [[X.Org Server]] — у квітні 2004 року. Ця версія була заснована на [[XFree86]] 4.4RC2 (останньої версії XFree86, випущеної під старою [[ліцензія|ліцензією]]), з доданими змінами X11R6.6. Завдяки впровадженню відкритої моделі розробки та збереженню сумісності з [[GNU General Public License|GNU GPL]] |
Фонд випустив X11R6.7 — [[X.Org Server]] — у квітні 2004 року. Ця версія була заснована на [[XFree86]] 4.4RC2 (останньої версії XFree86, випущеної під старою [[ліцензія|ліцензією]]), з доданими змінами X11R6.6. Завдяки впровадженню відкритої моделі розробки та збереженню сумісності з [[GNU General Public License|GNU GPL]] проєкт привернув багатьох колишніх розробників XFree86.<ref name="wheeler-xfree86" /> |
||
X11R6.8 вийшла у вересні 2004 року. До неї було включено значні нововведення, в тому числі попередня підтримка прозорих вікон й інших складних візуальних ефектів, [[екранна лупа|екранних луп]] та мініатюр, а також засоби для інтеграції з тривимірними дисплейними системами (такими, як |
X11R6.8 вийшла у вересні 2004 року. До неї було включено значні нововведення, в тому числі попередня підтримка прозорих вікон й інших складних візуальних ефектів, [[екранна лупа|екранних луп]] та мініатюр, а також засоби для інтеграції з тривимірними дисплейними системами (такими, як проєкт [[Looking Glass]] від Sun і проєкт [[Croquet]]). Політику зовнішнього вигляду надають сторонні застосунки, які називають ''[[Композитний менеджер вікон|композитними менеджерами вікон]]'' ({{lang-en|compositing window managers}}). |
||
== Подальші розробки == |
== Подальші розробки == |
||
Рядок 332: | Рядок 350: | ||
|archivedate = 2011-08-23 |
|archivedate = 2011-08-23 |
||
|deadurl = no |
|deadurl = no |
||
}}</ref> X11R6.9 — монолітне дерево [[сирцевий код|сирцевого коду]] для застарілих систем, і X11R7.0 — той же сирцевий код, розбитий на незалежні модулі, які можуть підтримуватися в рамках окремих |
}}</ref> X11R6.9 — монолітне дерево [[сирцевий код|сирцевого коду]] для застарілих систем, і X11R7.0 — той же сирцевий код, розбитий на незалежні модулі, які можуть підтримуватися в рамках окремих проєктів.<ref>{{cite web |
||
|author = Пол Андерсон, Алан Куперсміт, Егберт Ейк, Адам Джексон, Кевін Мартін, Кейт Паккард. |
|author = Пол Андерсон, Алан Куперсміт, Егберт Ейк, Адам Джексон, Кевін Мартін, Кейт Паккард. |
||
|url = http://wiki.x.org/wiki/ModularizationProposal |
|url = http://wiki.x.org/wiki/ModularizationProposal |
||
Рядок 352: | Рядок 370: | ||
}}</ref> |
}}</ref> |
||
Планується, що в майбутньому X-сервер буде отримувати доступ до відеоапаратури |
Планується, що в майбутньому X-сервер буде отримувати доступ до відеоапаратури суто за допомогою [[OpenGL]] та [[Direct Rendering Infrastructure]] (DRI) на тих комбінаціях [[апаратне забезпечення|апаратного забезпечення]] та [[операційна система|операційних систем]], які підтримують такий доступ. Інфраструктура DRI вперше з'явилася в [[XFree86]] версії 4.0 і стала стандартною в X11R6.7 та пізніших версіях.<ref>{{cite web |
||
|author = [[Паккард, Кейт|Кейт Паккард]]. |
|author = [[Паккард, Кейт|Кейт Паккард]]. |
||
|url = http://keithp.com/~keithp/talks/xserver_ols2004 |
|url = http://keithp.com/~keithp/talks/xserver_ols2004 |
||
Рядок 480: | Рядок 498: | ||
|X11R6.7.0 |
|X11R6.7.0 |
||
|[[6 квітня]] [[2004]] |
|[[6 квітня]] [[2004]] |
||
|Перший випуск від фонду [[X.Org Foundation]], |
|Перший випуск від фонду [[X.Org Foundation]], що містить XFree86 4.4RC2. Повний комплект для кінцевого користувача. Видалення XIE, [[PHIGS|PEX]] та libxml2.<ref>{{cite web |
||
|url = http://lwn.net/Articles/79302/ |
|url = http://lwn.net/Articles/79302/ |
||
|title = X.Org Foundation releases X Window System X11R6.7 |
|title = X.Org Foundation releases X Window System X11R6.7 |
||
Рядок 547: | Рядок 565: | ||
|[[6 вересня]] [[2007]] |
|[[6 вересня]] [[2007]] |
||
|Xorg server 1.4 — see Server14Branch for more details. Highlights: |
|Xorg server 1.4 — see Server14Branch for more details. Highlights: |
||
* RandR 1.2 з підтримкою гарячого під'єднання монітора (з реконфігурацією «на льоту» і перемиканням режиму) |
|||
* RandR 1.2: RandR 1.2 offers output hotplug, as well as on-the-fly output reconfiguration and mode switching. |
|||
* «Гаряче під'єднання» пристроїв вводу, підтримка тачскрінів і планшетів (за допомогою HAL або D-Bus) |
|||
* Input hotplug: Input hotplug allows hotplugging of input devices, and also adds enhanced support for touchscreens and tablets, through either HAL or D-Bus. |
|||
* KDrive: деякі покращення, підтримка множинних пристроїв вводу |
|||
* KDrive: Numerous enhancements have been made to the KDrive codebase, including better support for multiple input devices. |
|||
* Підтримка DTrace на OpenSolaris |
|||
* DTrace: When running on OpenSolaris, DTrace support is available in the X server, allowing detailed accounting of operations inside the server. |
|||
* EXA: покращення |
|||
* EXA: A great deal of work has been done on the EXA framework to make it more usable. |
|||
* |
* Нова програма: xbacklight |
||
* |
* Нові відео-драйвери: xf86-video-glide, xf86-video-vermilion |
||
* |
* Нові сторінки довідника для API: libXinerama, libXcomposite, функції XKB у libX11, функції Xtest у libXtst |
||
* Підтримка каталогів шрифтів у font path |
|||
* Support for font catalogue directories in font path |
|||
* xdm: |
* xdm: додано підтримку Xft<ref>{{cite web |
||
|url = http://www.x.org/wiki/Releases/7.3 |
|url = http://www.x.org/wiki/Releases/7.3 |
||
|title = 7.3 Release notes |
|title = 7.3 Release notes |
||
Рядок 569: | Рядок 587: | ||
|X11R7.4 |
|X11R7.4 |
||
|[[23 вересня]] [[2008]] |
|[[23 вересня]] [[2008]] |
||
|XServer 1.5.1, XACE, переробка PCI, оптимізація EXA, _X_EXPORT, [[GLX]] 1.4, прискорений запуск та вимкнення.<ref> |
|XServer 1.5.1, XACE, переробка PCI, оптимізація EXA, _X_EXPORT, [[GLX]] 1.4, прискорений запуск та вимкнення.<ref>{{Cite web |url=http://x.org/wiki/Releases/7.4 |title=X.Org Foundation Releases X7.4 |accessdate=4 липня 2010 |archive-date=1 серпня 2009 |archive-url=https://web.archive.org/web/20090801072526/http://www.x.org/wiki/Releases/7.4 }}</ref> |
||
|- |
|- |
||
|'''X11R7.5''' |
|'''X11R7.5''' |
||
|[[26 жовтня]] [[2009]] |
|[[26 жовтня]] [[2009]] |
||
|XServer 1.7.0<ref> |
|XServer 1.7.0<ref>{{Cite web |url=http://x.org/wiki/Releases/7.5 |title=X.Org Foundation Releases X7.5 |accessdate=4 липня 2010 |archive-date=6 липня 2010 |archive-url=https://web.archive.org/web/20100706210255/http://www.x.org/wiki/Releases/7.5 }}</ref> |
||
|- |
|- |
||
|'''X11R8.0''' |
|'''X11R8.0''' |
||
|[[2 квітня]] [[2010]] |
|[[2 квітня]] [[2010]] |
||
|XServer 1.8.0<ref> |
|XServer 1.8.0<ref>{{Cite web |url=http://lists.freedesktop.org/archives/xorg/2010-April/049784.html |title=Архівована копія |accessdate=4 липня 2010 |archive-date=5 квітня 2010 |archive-url=https://web.archive.org/web/20100405121556/http://lists.freedesktop.org/archives/xorg/2010-April/049784.html }}</ref>, перехід від керування пристроями з підсистеми [[HAL (freedesktop.org)|HAL]] ([[Шар апаратних абстракцій]]) на використання бібліотеки [[udev]], можливість створення файлів конфігурації для окремих пристроїв, змінились [[ABI]] інтерфесу, відповідальні за ввід/вивід відео та деякі розширення<ref>{{Cite web |url=http://www.opennet.ru/opennews/art.shtml?num=26069 |title=Архівована копія |accessdate=4 липня 2010 |archive-date=16 червня 2010 |archive-url=https://web.archive.org/web/20100616182308/http://www.opennet.ru/opennews/art.shtml?num=26069 }}</ref> |
||
|} |
|} |
||
Рядок 594: | Рядок 612: | ||
== Джерела == |
== Джерела == |
||
* {{книга |
* {{книга |
||
|автор=Лінда Муі, |
|автор=Лінда Муі, Ерік Пірс. |
||
|заголовок=X Window System Volume 8: X Window System Administrator’s Guide for X11 Release 4 and Release 5 |
|заголовок=X Window System Volume 8: X Window System Administrator’s Guide for X11 Release 4 and Release 5 |
||
|видання=3rd ed |
|видання=3rd ed |
||
Рядок 610: | Рядок 628: | ||
== Посилання == |
== Посилання == |
||
* [http://www.x.org/ X.Org Foundation]{{ref-en}} — офіційний |
* [http://www.x.org/ X.Org Foundation] {{Webarchive|url=https://web.archive.org/web/20210301091855/http://www.x.org/ |date=1 березня 2021 }}{{ref-en}} — офіційний вебсайт. |
||
* {{dmoz|World/Russian/Компьютеры/Программное_обеспечение/Операционные_системы/Графические_подсистемы/X-Window/}} |
* {{dmoz|World/Russian/Компьютеры/Программное_обеспечение/Операционные_системы/Графические_подсистемы/X-Window/}} |
||
* [https://web.archive.org/web/20040805030657/http://xwinman.org/ Window Managers for X]{{ref-en}} — |
* [https://web.archive.org/web/20040805030657/http://xwinman.org/ Window Managers for X]{{ref-en}} — вебсайт, присвячений різним віконним менеджерам X. |
||
* [https://web.archive.org/web/20070515081139/http://dsywindows.sourceforge.net/wiki/index.php/Main_Page DsY]{{ref-en}} — розвиток |
* [https://web.archive.org/web/20070515081139/http://dsywindows.sourceforge.net/wiki/index.php/Main_Page DsY]{{ref-en}} — розвиток проєкту Y Window System. |
||
* {{cite web |
* {{cite web |
||
|author = John Smirl. |
|author = John Smirl. |
||
Рядок 681: | Рядок 699: | ||
}} |
}} |
||
* {{cite web |
* {{cite web |
||
| |
|url = http://h30097.www3.hp.com/docs/dev_doc/DOCUMENTATION/HTML/AR5NHATE/TOC.HTM |
||
| |
|title = Writing a Graphics Device Driver and DDX for the DIGITAL UNIX X Server |
||
| |
|publisher = [[DEC]] |
||
| |
|date = 1997 |
||
| |
|accessdate = 2006-06-29 |
||
| |
|language = англійською |
||
| |
|deadurl = 404 |
||
|archive-date = 26 жовтня 2003 |
|||
|archive-url = https://web.archive.org/web/20031026020615/http://h30097.www3.hp.com/docs/dev_doc/DOCUMENTATION/HTML/AR5NHATE/TOC.HTM |
|||
}} |
}} |
||
* {{cite web |
* {{cite web |
||
Рядок 701: | Рядок 721: | ||
; Помітні реалізації |
; Помітні реалізації |
||
* [http://xorg.freedesktop.org/wiki Референсна реалізація від фонду X.Org]{{ref-en}} |
* [http://xorg.freedesktop.org/wiki Референсна реалізація від фонду X.Org] {{Webarchive|url=https://web.archive.org/web/20071215083500/http://xorg.freedesktop.org/wiki/ |date=15 грудня 2007 }}{{ref-en}} |
||
* [[XFree86]] — протягом багатьох років була найпопулярнішою реалізацією, особливо на відкритих UNIX-подібних системах. |
* [[XFree86]] — протягом багатьох років була найпопулярнішою реалізацією, особливо на відкритих UNIX-подібних системах. |
||
* [http://www.apple.com/macosx/features/x11/ Apple — Mac OS X — X11]{{ref-en}} — [[X11.app]], тісно інтегрована з [[Mac OS X]]. |
* [http://www.apple.com/macosx/features/x11/ Apple — Mac OS X — X11] {{Webarchive|url=https://web.archive.org/web/20090424004748/http://www.apple.com/macosx/features/x11/ |date=24 квітня 2009 }}{{ref-en}} — [[X11.app]], тісно інтегрована з [[Mac OS X]]. |
||
* [https://web.archive.org/web/20080511195725/http://sources.redhat.com/win32-x11/ Win32-x11] — X-сервер під Windows-системи, |
* [https://web.archive.org/web/20080511195725/http://sources.redhat.com/win32-x11/ Win32-x11] — X-сервер під Windows-системи, оснований на GDI/DirectX. |
||
* [http://libw11.free.fr/ LibW11] — реализація Xlib під Windows-системи, що використовує виклики Win32 API. |
* [http://libw11.free.fr/ LibW11] {{Webarchive|url=https://web.archive.org/web/20120127113711/http://libw11.free.fr/ |date=27 січня 2012 }} — реализація Xlib під Windows-системи, що використовує виклики Win32 API. |
||
{{XWinSys}} |
{{XWinSys}} |
||
Рядок 714: | Рядок 734: | ||
[[Категорія:UNIX]] |
[[Категорія:UNIX]] |
||
[[Категорія:Системне програмне забезпечення]] |
[[Категорія:Системне програмне забезпечення]] |
||
[[Категорія:Програмне забезпечення, що використовує ліцензію MIT]] |
Поточна версія на 21:00, 25 грудня 2023
Тип | віконна система |
---|---|
Розробник | X.Org Foundation |
Стабільний випуск | X11R7.7 (6 червня 2012 р.) |
Операційна система | різні |
Ліцензія | MIT |
Вебсайт | x.org |
X Window System — віконна система, що забезпечує стандартні інструменти й протоколи для побудови графічних інтерфейсів користувача. Майже всі сучасні операційні системи підтримують X Window System.
X Window System забезпечує базові функції графічного середовища: відображення й переміщення вікон на екрані, взаємодію з мишею та клавіатурою. X Window System не визначає деталей інтерфейсу користувача — цим займаються менеджери вікон, яких розроблено безліч. Через це зовнішній вигляд програм у середовищі X Window System може дуже різнитися; різні програми можуть використати цілком несхожі один на одного інтерфейси.
У X Window System передбачена мережева прозорість: графічні програми можуть виконуватися на іншій машині в мережі, інтерфейс при цьому буде передаватися через мережу й відображатись на локальній машині користувача. У X Window System терміни «клієнт» і «сервер» мають незвичне багатьом значення: «сервер» означає локальний дисплей користувача (дисплейний сервер), а «клієнт» — програму, яка цей дисплей використовує (вона може виконуватися й на віддаленому комп'ютері).
Система X Window System була розроблена в Массачусетському технологічному інституті (MIT) 1984 року. Нинішня версія протоколу — X11 (на квітень 2016 р. — X11R7.7)— з'явилась у вересні 1987 р. Проєкт X очолюється фондом X.Org Foundation. Зразкова реалізація (англ. reference implementation) системи вільно доступна на умові ліцензії MIT і подібних до неї ліцензій[2].
X Window System часто називають X11 чи X, неформально «ікси́».
X Window System використовує клієнт-серверну модель взаємодії: X-сервер обмінюється повідомленнями з різними клієнтськими програмами. Сервер приймає запити виведення графіки (вікон) і відправляє назад введення користувача (з клавіатури, миші чи сенсорного екрану). X-сервер може бути:
- системною програмою, яка контролює виведення зображення на персональному комп'ютері;
- застосунком, який відображає графіку у вікно іншої дисплейної системи;
- виділеним компонентом аппаратного забезпечення.
Ця клієнт-серверна термінологія — термінал користувача як «сервер» і віддалені програми як «клієнти» — найчастіше заплутує нових користувачів X, оскільки зазвичай ці терміни мають зворотні значення. Але X Window System приймає точку зору програми, а не кінцевого користувача: локальний дисплей надає послуги відображення графіки програмам, тобто виступає в ролі сервера. Віддалені програми користуються цими послугами, а тому відіграють ролі клієнтів.
Протокол, за допомогою якого спілкуються сервер і клієнт, є прозорим для мережі: клієнт і сервер можуть знаходитися як на одній і тій же машині, так і на різних. Зокрема, вони можуть працювати на різних архітектурах під керівництвом різних операційних систем — результат буде однаковим. Клієнт і сервер можуть навіть безпечно взаємодіяти через Інтернет за допомогою тунелювання з'єднання крізь зашифрований мережевий сеанс.
Щоб запустити віддалену клієнтську програму, що виводить графіку на локальний X-сервер, користувач зазвичай відкриває емулятор терміналу та підключається до віддаленої машини за допомогою telnet або SSH. Потім він віддає команду, яка вказує дисплей, на який слід виводити графіку (наприклад, export DISPLAY=[ім'я комп'ютера користувача]:0
при використанні bash). Нарешті, користувач запускає клієнтську програму. Вона підключиться до локального X-сервера та буде відображати графіку на локальний екран і приймати введення від локальних пристроїв введення. Інший варіант — використовувати невелику допоміжну програму, яка підключається до віддаленої машини та запускає на ній потрібну клієнтську програму.
Використання віддалених клієнтів може бути корисно, наприклад, у таких ситуаціях:
- Графічне адміністрування віддаленої машини;
- Виконання інтенсивних ресурсомістких обчислень на віддаленій UNIX-машині та виведення результатів на локальній Windows-машині;
- Виконання графічних програм одночасно на декількох машинах з одним дисплеєм, однією клавіатурою і однією мишею.
В 1984-му Боб Шейфлер та Джим Геттіс зафіксували ранні принципи побудови X:
- Додавай нову функціональність тільки тоді, коли без неї не можна завершити якийсь реальний застосунок.
- Вирішити, чим не є система, настільки ж важливо, наскільки вирішити, чим вона є. Не намагайся задовольнити всі можливі потреби; замість цього зроби систему розширюваною, щоб нові потреби могли бути задоволені сумісним чином.
- Гірше за узагальнення одного прикладу може бути тільки узагальнення взагалі без прикладів.
- Якщо проблема не зрозуміла до кінця, можливо, краще не вирішувати її зовсім.
- Якщо ти можеш добитися 90 відсотків потрібного ефекту, витративши всього 10 відсотків сил, використовуй простіше рішення.
- Якнайкраще ізолюй складні місця.
- Забезпечуй механізм, а не політику. Зокрема, політика інтерфейсу користувача має бути в руках клієнтів.
З того часу проєкт X, переважно, дотримувався цих принципів. Демонстраційна реалізація розробляється з розрахунком на розширення й поліпшення, в той же час, вона залишається майже повністю сумісною з протоколом 1987-го року.
X Window System навмисно не визначає, як повинен виглядати інтерфейс користувача програми — кнопки, меню, заголовки вікон і т. д. Ці питання вирішуються на рівні віконних менеджерів, інструментаріїв елементів інтерфейсу, середовищ робочого столу і на рівні окремих застосунків. З цієї причини візуальне подання X-інтерфейсів зазнало величезних змін з плином часу.
Віконний менеджер керує розміщенням і виглядом вікон застосунків. Він може створювати інтерфейс, подібний Microsoft Windows або Macintosh (наприклад, так працюють менеджери вікон KWin в KDE та Metacity в GNOME), або зовсім інший стиль (наприклад, в фреймових віконних менеджерах, таких, як Ion). Віконний менеджер може бути простим і мінімалістичним (як twm — базовий віконний менеджер, що постачається з X), а може пропонувати функціональність, близьку до повноцінного робочого середовища (наприклад, Enlightenment).
Багато користувачів використовують X разом з повним середовищем робочого столу, яке включає в себе віконний менеджер, різні програми та єдиний стиль інтерфейсу. Найпопулярніші середовища робочого столу — GNOME та KDE. У стандарті Single UNIX Specification вказане середовище CDE. Проєкт freedesktop.org намагається забезпечити взаємодію між різними середовищами, а також компоненти, необхідні для конкурентоспроможного робочого столу на основі X.
Референсна (зразкова) реалізація (англ. reference implementation) від фонду X.Org Foundation, звана X.Org Server, є канонічною реалізацією X Window System. Оскільки вона поширюється на умовах досить ліберальної ліцензії, з'явилися кілька її різновидів: (як вільних, так і пропрієтарних). Комерційні постачальники UNIX часто беруть референсну реалізацію та адаптують її до власного апаратного забезпечення, зазвичай сильно модифікуючи її та додаючи пропрієтарні розширення.
Аж до 2004-го проєкт XFree86 був найпоширенішим варіантом X для вільних UNIX-подібних операційних систем. XFree86 виник як порт X на 386-сумісні персональні комп'ютери. До кінця 1990-х цей проєкт став головним джерелом технічних інновацій в X Window System і де-факто керував розробкою X. [3] Проте в 2004 році XFree86 змінила умови ліцензії та реалізація X.Org Server (яка є форком XFree86, але з вільною ліцензією) стала поширенішою.
Коли X Window System виконується всередині іншої віконної системи (наприклад, віконної підсистеми Microsoft Windows або Mac OS), вона зазвичай працює в режимі без кореневого вікна (англ. rootless). Це означає, що кореневе вікно (фон екрану і пов'язані з ним меню) управляється зовнішньою віконною системою, а не власне X Window System. При цьому зовнішня віконна система також управляє геометрією X-вікон, створюваних всередині неї. Однак деякі сервери (наприклад, Exceed, Xming або Cygwin/X) здатні створювати й кореневе вікно — в такому разі клієнти відображаються в окремому вікні зовнішньої системи.
X-термінал — це виділене апаратне забезпечення, на якому виконується X-сервер і яке служить тонким клієнтом. Ця архітектура завоювала популярність при побудові недорогих термінальних парків, де багато користувачів одночасно використовують один великий сервер застосунків. Таке використання X Window System добре відповідає початковим намірам розробників з MIT.
X-термінали можуть вивчати мережу (в межах локального широкомовного домену) з використанням протоколу XDMCP, складаючи при цьому список вузлів мережі, з яких вони можуть запускати клієнтів. На початковому вузлі повинен виконуватися дисплейний менеджер X (англ. X display manager).
Зараз[коли?] виділені (апаратні) X-термінали не користуються широкою популярністю: зазвичай персональний комп'ютер з X-сервером забезпечує ту ж функціональність при меншій вартості.
X-сервер складається з набору розширень, кожне з яких реалізує певні функції: від промальовування геометричних примітивів до прискорення обробки та виведення на екран тривимірної графіки з використанням можливостей відеоапаратури. Майже кожен з цих модулів можна відключити або налаштувати в конфігураційному файлі.
VESA Display Data Channel(DDC™) — стандарт обміну інформацією між монітором та графічною платою, що дозволяє монітору передавати дані про підтримувану роздільну здатність, частоти розгортки, виробника монітора і т. д. Модуль DDC підтримує версії 1 і 2 специфікації DDC. Відповідно до отриманих даних він встановлює основні параметри екрану або попереджує про невідповідність заданих користувачем параметрів.
X Resize, Rotate and Reflect Extension — розширення X-сервера, що реалізовує функції масштабування, повороту та відображення кореневого вікна. Використовується при зміні роздільної здатності, при динамічній заміні монітора (наприклад, при перемиканні з вбудованого екрану ноутбука на зовнішній монітор). Розсилає застосункам, що працюють, попередження про зміну конфігурації екрану.
X Rendering Extension надає функції для поєднання та виводу зображень на екран. Дозволяє обрізати зображення, накладати маску з кольорами з використанням альфа-каналу, використовувати різні фільтри, готувати й виводити текстову інформацію, а також відображати основні геометричні фігури.
Розширення Shape призначено для поліпшення вигляду інтерфейсу користувача. Серед його можливостей — відкидання тіні елементами інтерфейсу для створення ілюзії тривимірності, вікна та кнопки з округлими краями; можливість створювати різні фігури, відмінні від прямокутних.
Розширення Xinerama дозволяє представити декілька моніторів як один екран. З його допомогою можна виводити узгоджене зображення на великі екрани, складені з багатьох моніторів. Однак багато з існуючих в наш час віконних менеджерів не підтримують (або не повністю підтримують) специфікації Xinerama, і тому показують неадекватне зображення при використанні цього розширення.
X video extension — розширення, що дозволяє прискорити виведення відеофрагментів на екран із використанням можливостей графічної плати (а точніше — її драйвера), зменшуючи навантаження на центральний процесор. Багато графічних плат дозволяють виводити відеозображення у форматах кодування кольору YUV (YUY2, I420 і т. д.), які використовуються в стандартах систем аналогового кольорового телебачення PAL, SECAM, NTSC, не переводячи їх попередньо в формат передачі кольору екрана (RGB16/24/32), а також робити протилежне кодування. Розширення Xv надає інформацію про доступні графічні плати, кількість доступних портів (кожен порт може використовувати тільки один застосунок), підтримувані формати кодування кольору. Всю цю інформацію можна переглянути за допомогою утиліти xvinfo
.
У книзі «The UNIX-HATERS Handbook» (1994) ціла глава[4] присвячена проблемам X у кінці 1980-х — на початку 1990-х років. Стаття «Why X Is Not Our Ideal Window System»[5] («Чому X не є ідеальною віконною системою») (1990) докладно розглядає проблеми протоколу й дає рекомендації щодо поліпшення.
Сьогодні межа продуктивності графічних комп'ютерних систем пролягає в галузі найпередовіших графічних функцій. Виробники апаратного забезпечення, як правило, реалізують ці можливості у пропрієтарних драйверах, причому ці драйвери звичайно пишуться насамперед для систем Microsoft Windows (як для найрозповсюдженіших на ринку). Драйвери багатьох старих графічних плат зазнали зворотної розробки в рамках проєктів XFree86 та X.Org. Проте деякі виробники розглядають свої розробки в області високопродуктивного відео як комерційну таємницю, або ж як патентовані винаходи, які не хочуть розкривати.
Багато нинішніх реалізації X керують відеоапаратурою напряму. Нестійкий X-сервер може зробити дисплей непридатним до використання навіть тоді, коли сама операційна система продовжує нормально функціонувати. При цьому може знадобитися перезавантаження всієї системи. Технологія Direct Rendering Infrastructure (DRI) покликана усунути цю проблему.
X Window System навмисно не включає в себе специфікації інтерфейсу користувача, так само, як і більшої частини міжпрограмної взаємодії. Завдяки цьому виникли різноманітні інтерфейси, а також застосунки, що не завжди правильно працюють один з одним. Існує специфікація взаємодії клієнтів ICCCM, але вона знана як важка для правильної реалізації. Подальші спроби стандартизації (такі, як інструментарій Motif і середовище CDE) не виправили становища. Все це заважає як користувачам, так і програмістам. [6] В наш час[коли?] розробники зазвичай домагаються єдиного стилю в застосунках, орієнтуючись на одне конкретне середовище стільниці або на конкретний інструментарій. Це також дозволяє уникнути безпосередньої роботи з ICCCM.
Протокол X не надає ніяких засобів для роботи зі звуком. Підтримка звукової апаратури та відтворення звуків покладається на операційну систему. Оскільки користувачам все частіше необхідний звук, ця ситуація призвела до появи різних несумісних один з одним звукових підсистем. У минулому багато програмістів ігнорували мережеві проблеми й просто використовували локальні звукові API операційної системи. До першого покоління клієнт-серверних звукових систем належать rplay та Network Audio System. Сучасніші системи — PulseAudio, esound в GNOME та aRts в KDE. Також розпочато розробку нової системи — Media Application Server.
До недавнього часу X Window System не містила доброго рішення для друку вмісту дисплеїв. Багато X-клієнтів друкують у форматі PostScript незалежно від X-сервера. Механізм Xprint уперше з'явився в X11R6.3; його клієнтська частина працювала добре, на відміну від багатьох серверних реалізацій. Версії X11R6.8 і вище функціонують нормально[7] і набирають популярність в інструментарії елементів інтерфейсу.
Станом на червень 2006-го в X Window System немає можливості відключити X-клієнт або сеанс від одного сервера та підключити його до іншого сервера (як у VNC). Робота з додавання цієї функції в X вже ведеться. Існують обхідні механізми (переглядачі VNC: 0), які роблять екран поточного X-сервера доступним через VNC. Або можна використовувати підключення X-клієнту до проксуючого X-сервера (xpra, guievict, xmove, lbxproxy).
Дані, що передаються мережею між X-сервером і віддаленими X-клієнтами, зазвичай не шифруються. Зловмисник може за допомогою сніфера перехопити та прочитати ці дані. Для запобігання цьому, як правило, X тунелюють через SSH. Більшість реалізацій SSH підтримує тунелювання X-застосунків, хоча іноді ці функції типово вимкнені.
Незалежність від апаратури та відділення клієнтів від серверів впливає на продуктивність системи. Мережева прозорість X вимагає, щоб клієнти і сервер працювали окремо один від одного. У минулому це істотно знижувало продуктивність окремо системи (порівняно з Microsoft Windows та Mac OS, де віконна підсистема вбудована глибоко в саму операційну систему). Для нормальної роботи X Window System рекомендувалося від 4 до 8 Мб оперативної пам'яті — набагато більше (на ті часи), ніж для Windows або Mac OS.
Поточні версії Windows і Mac OS X мають внутрішній поділ графічної підсистеми, схожий на клієнт-серверний поділ в X, і мають приблизно ті ж вимоги до ресурсів, що й X з KDE або GNOME. Велика частина накладних витрат у X тепер припадає на затримку при передачі даних мережею між клієнтом і сервером. Існує поширений міф, згідно з яким при локальному використанні X Window System її мережеві можливості непотрібні й тому негативно позначаються на продуктивності. Насправді сучасні реалізації X використовують в такому разі локальні сокети та загальну пам'ять (напр. MIT-SHM), вимагаючи дуже незначних накладних витрат.
В UNIX-подібних операційних системах для виведення графіки майже завжди використовується X Window System. Однак, історія знає декілька спроб створення альтернативи або заміни X. Серед них: NeWS компанії Sun Microsystems, не завоювала популярність на ринку, і Display PostScript компанії NeXT, яка згодом перетворилася на Apple Aqua для Mac OS X.
Проводилися і спроби вирішити проблеми X шляхом повної її заміни; в тому числі — проєкти Berlin/Fresco та Y Window System. Однак ці проєкти не отримали практично ніякого розповсюдження.
Інші конкуренти намагаються уникнути накладних витрат, що виникають в X, шляхом роботи безпосередньо з апаратним забезпеченням. Прикладами таких проєктів є DirectFB і дуже маленький FBUI. Механізм Direct Rendering Infrastructure (спроба створити надійний ядерний інтерфейс до відеобуферу) може зробити ці проєкти непотрібними.
Є й інші способи домогтися мережевої прозорості графічних служб:
- VNC (англ. Virtual Network Computing) — дуже низькорівнева система, яка пересилає стислі растрові зображення по мережі. Реалізація для UNIX містить у собі X-сервер.
- Citrix MetaFrame — подібний X продукт для Microsoft Windows.
- Tarantella, Inc. — Компанія, яка постачає Java-клієнт для використання у веббраузерах.
- Технологія NX NoMachine — вузькосмуговий протокол для віддалених дисплеїв.
- SVG Terminal[8] — протокол для оновлення SVG-вмісту в веббраузері майже в реальному часі.
До появи X існувало кілька растрових дисплейних систем. Із Xerox прийшли Alto (1973) та Star (1981). В Apple були розроблені Lisa (1983) та Macintosh (1984). У світі UNIX існували термінал Blit Роба Пайка (1984) та проєкт Andrew (1982).
X отримала своє ім'я як спадкоємиця віконної системи W Window System (у латинському алфавіті буква X слідує відразу за буквою W). Система W працювала під управлінням операційної системи V. W використовувала мережевий протокол з підтримкою термінальних та графічних вікон, при цьому сервер підтримував списки дисплеїв.
Первісна ідея X Window System виникла в Массачусетському технологічному інституті (MIT) в 1984 у в результаті співробітництва Джима Геттіса (з проєкту Athena ) та Боба Шейфлера (з лабораторії інформатики MIT). Шейфлеру було необхідно придатне до використання дисплейне середовище для зневадження системи Argus. Проєкт Athena (спільний проєкт DEC, MIT і IBM з надання легкого доступу до комп'ютерів для студентів) потребував платформо-незалежного графічного рішення, щоб з'єднати воєдино свої гетерогенні системи, що складаються з продуктів різних постачальників. У той час в рамках проєкту Andrew в університеті Карнегі-Меллон велася робота над віконною системою, але для неї не були доступні ліцензії, а альтернатив не існувало.
Проєкт вирішив ці проблеми шляхом створення протоколу, який підтримував як локальні програми, так і виклик віддалених програм. У середині 1983-го початковий порт W на UNIX працював уп'ятеро повільніше, ніж в системі V. У травні 1984 року Шейфлер замінив синхронний протокол на асинхронний, а списки дисплеїв — на безпосереднє виведення графіки. Таким чином вийшла X Window System версії 1.x, одна з перших віконних систем, які забезпечують незалежність від апаратного забезпечення.
Шейфлер, Геттіс і Рон Ньюмен взялися за роботу; X стала швидко розвиватися. У січні 1985-го року була випущена версія 6. Компанія DEC, яка в той час готувалася до випуску своєї першої робочої станції Ultrix, вирішила, що X — єдина віконна система, яка може бути завершена до потрібного терміну. Інженери DEC портувати X6 на дисплей QVSS на MicroVAX.
У другому кварталі 1985 року в X була реалізована підтримка кольорів для роботи під DEC VAXstation-II/GPX. Ця версія стала знана як версія 9. Раніше MIT ліцензував X6 деяким стороннім групами за плату. Однак тепер було вирішено поширювати X9 і майбутні версії вільно — на умовах, які отримали назву ліцензії MIT. X9 з'явилася у вересні 1985 року.
Група з Браунського університету портувала версію 9 на IBM RT/PC, але проблеми при читанні невпорядкованих даних на RT призвели до несумісних змін в протоколі, внаслідок чого наприкінці 1985 була випущена версія 10. До 1986-го з зовнішніх організацій почали надходити запити на використання X. Випуск X10R2 відбувся в січні 1986 року, X10R3 — у лютому. X10R3 стала першою версією, яка отримала широке поширення; DEC і Hewlett-Packard випускали засновані на ній продукти. Інші групи портувати X10 на Apollo і на робочі станції Sun, і навіть на IBM PC AT. У той же час на виставці Autofact були проведені демонстрації першого комерційного застосунку на основі X — інженерної системи, що працює на VAX і відображалася на персональних комп'ютерах з X-сервером. Остання версія X10 — X10R4 — з'явилася в грудні 1986 року.
Хоча X10 володіла цікавою та потужною функціональністю, стало очевидно, що протокол X бажано зробити менш залежним від апаратури до того, як X Window System стане занадто широко поширеною. Однак MIT поодинці не впорався б з настільки великими змінами в протоколі. Смоук Уоллес з лабораторії DEC WSL і Джим Геттіс запропонували DEC WSL зайнятися розробкою X11 і зробити її вільно розповсюджується на тих же умовах, що X9 і X10. Цей процес почався в травні 1986 року, протокол був готовий у серпні. Альфа-тестування програмного забезпечення почалося в лютому 1987-го; бета-тестування — у травні. Нарешті, 15 вересня 1987 X11 була офіційно випущена.
Дизайн протоколу X11, яким керував Шейфлер, широко обговорювалося у відкритих списках розсилки раннього Інтернету. Таким чином, X можна вважати одним з перших великомасштабних проєктів по створенню вільного програмного забезпечення.
В 1987-му, коли успіх X11 став очевидним, MIT побажав відмовитися від подальшого управління проєктом X. Однак на зборах дев'яти постачальників, що відбувся в червні 1987 року, постачальники повідомили MIT, що необхідна нейтральна сторона, яка б запобігла розпаду X на ринку. У січні 1988-го була сформована некомерційна група під назвою Consortium X MIT (англ. MIT X Consortium). Її метою було управління подальшою розробкою X в нейтральній атмосфері, з урахуванням як комерційних, так і освітніх інтересів. Директором Консорціуму став Шейфлер. Джим Фултон і Кейт Паккард приєдналися як старші розробники в січні та березні 1988 року відповідно. При цьому Джим працював переважно над Xlib, шрифтами, віконними менеджерами та утилітами; а Кейт займався переробленням сервера. Донна Конверс і Кріс Петерсон приєдналися пізніше в тому ж році; їх зусилля були зосереджені в галузі інструментаріїв та наборів елементів інтерфейсу; вони працювали в тісному зв'язку з Ральфом Свіком з проєкту Athena інституту MIT. Консорціум X MIT випустив кілька істотних оновлень до X11. Перше з них (X11R2) вийшло в лютому 1988 року.
В 1993 році був сформований наступник Consortium X MIT — некомерційна корпорація X Consortium, Inc. Під її керівництвом 16 травня 1994 року була випущена версія X11R6. 1995 року корпорація взяла на себе управління розробкою інструментарію Motif та середовища CDE для UNIX-систем. X Consortium розпалася в кінці 1996-го, випустивши останню версію, X11R6.3, і залишивши після себе зростаючий комерційний вплив у розробці.[9] [10]
У середині 1997 року X Consortium передав керівництво проєктом X організації The Open Group, утвореної в 1996-му в результаті злиття Open Software Foundation та X/Open.
The Open Group випустила X11R6.4 на початку 1998 року. У цій версії було вирішено відмовитися від традиційної ліберальної ліцензії, оскільки The Open Group бажала забезпечити фінансову підтримку розробки X.[11] Нові умови не дозволяли багатьом проєктам (наприклад, XFree86) і навіть деяким комерційним постачальникам прийняти цю версію. Після погроз зробити форк з боку XFree86.[12] The Open Group змінила умови розповсюдження X11R6.4 назад на традиційну ліцензію у вересні 1998 року.[13] Останнім випуском під керівництвом The Open Group став X11R6.4 patch 3.
Проєкт XFree86 виник у 1992 році із сервера X386 для IBM PC-сумісних комп'ютерів. X386 був написаний Томасом Роеллом і Марком Снітілі, пожертвуваний Консорціуму X MIT компанією Snitily Graphics Consulting Services (SGCS) і включений до складу X11R5 в 1991році. З часом XFree86 перетворився з просто окремо взятого порту X в провідну й найпопулярнішу реалізацію системи, і став де-факто керувати розробкою X.[14]
У травні 1999 року The Open Group заснувала X. Org. X. Org контролювала випуск версій X11R6.5.1 і вище. У цей час розробка X практично зупинилася[15]; технічні інновації відбувалися переважно в рамках проєкту XFree86.[16] У 1999 році команда XFree86 увійшла до складу X. Org як почесний член[17], чому сприяли різні компанії-виробники апаратного забезпечення[18], зацікавлені у використанні XFree86 разом з GNU/Linux і в його статусі як найпопулярнішої версії X.
Аж до 2003 року, поки популярність GNU/Linux (і, як наслідок, поширеність X) зростала, X. Org не діяла[19], й основна розробка відбувалася в XFree86. Проєкт XFree86 страждав від занадто закритою моделі розробки: програмісти не могли отримати доступ на запис в CVS-репозитарій, і постачальникам доводилося підтримувати великі набори патчів.[20] У березні 2003 року організація XFree86 виключила Кейта Паккарда, який приєднався до XFree86 після розпаду Консорціуму X MIT; зроблено це було у вельми недружній обстановці.[21][22][23]
X. Org і XFree86 почали обговорювати реорганізацію, щоб забезпечити повноцінну розробку X.[24][25][26] Джим Геттіс наполягав на переході до відкритої моделі розробки принаймні з 2000 року. [10] Геттіс, Паккард і інші почали докладно обговорювати зміни, які потрібно внести для переходу до ефективної відкритої розробки X.
Нарешті, в лютому 2004 року проєкт XFree86 випустив версію 4.4 під обмеженішою ліцензією: у неї був доданий пункт, аналогічний рекламному пункту (англ. advertising clause) оригінальної ліцензії BSD. Багато проєктів, що покладалися на X, вважають таку ліцензію неприйнятною. FSF та Debian визнали доданий пункт несумісним з умовами GNU GPL.[27] Інші групи (наприклад, OpenBSD) вважали, що накладення додаткових ліцензійних обмежень суперечить "споконвічному духу" X. Через ці ліцензійні проблеми, на тлі закритості XFree86 склалася відповідна атмосфера для створення форку.
На початку 2004 а представники X.Org та freedesktop.org заснували фонд X.Org Foundation. The Open Group передала йому управління доменним ім'ям x.org
. Це стало корінною зміною в розробці X. У той час як розпорядники X з 1988 року (включаючи попередню X. Org) були організаціями постачальників, X. Org Foundation був заснований самими розробниками програмного забезпечення, і в ньому використовувалася відкрита модель розробки, що опирається на вклад ззовні. Було відкрито членство для приватних осіб, а корпоративне членство представлено у вигляді спонсорства. В наш час[коли?] фонд X. Org Foundation підтримується декількома великими корпораціями, такими, як Hewlett-Packard та Sun Microsystems.
Фонд випустив X11R6.7 — X.Org Server — у квітні 2004 року. Ця версія була заснована на XFree86 4.4RC2 (останньої версії XFree86, випущеної під старою ліцензією), з доданими змінами X11R6.6. Завдяки впровадженню відкритої моделі розробки та збереженню сумісності з GNU GPL проєкт привернув багатьох колишніх розробників XFree86.[27]
X11R6.8 вийшла у вересні 2004 року. До неї було включено значні нововведення, в тому числі попередня підтримка прозорих вікон й інших складних візуальних ефектів, екранних луп та мініатюр, а також засоби для інтеграції з тривимірними дисплейними системами (такими, як проєкт Looking Glass від Sun і проєкт Croquet). Політику зовнішнього вигляду надають сторонні застосунки, які називають композитними менеджерами вікон (англ. compositing window managers).
Завдяки X.Org Foundation та freedesktop.org розробка X Window System знову прискорилася. Розробники планують випускати поточні і майбутні версії як готові до використання продукти, а не просто як основу для продуктів, що створюються постачальниками.
21 грудня 2005-го фонд випустив[28] X11R6.9 — монолітне дерево сирцевого коду для застарілих систем, і X11R7.0 — той же сирцевий код, розбитий на незалежні модулі, які можуть підтримуватися в рамках окремих проєктів.[29] Версія X11R7.1 була випущена 22 травня 2006 року, приблизно через чотири місяці після 7.0, і включає в себе суттєві поліпшення.[30]
Планується, що в майбутньому X-сервер буде отримувати доступ до відеоапаратури суто за допомогою OpenGL та Direct Rendering Infrastructure (DRI) на тих комбінаціях апаратного забезпечення та операційних систем, які підтримують такий доступ. Інфраструктура DRI вперше з'явилася в XFree86 версії 4.0 і стала стандартною в X11R6.7 та пізніших версіях.[31] Багато операційних системи почали додавати відповідну підтримку в ядро. Робота в цій галузі триває.
Комп'ютерні фахівці часто скорочують повну назву «X Window System» до «X11», або просто «X». Термін «X Windows» (на кшталт «Microsoft Windows») офіційно засуджується та вважається невірним, хоча широко використовується з самого початку історії X, в тому числі й навмисно для літературного ефекту (наприклад, в книзі «The UNIX-HATERS Handbook»).
Версія | Дата релізу | Основні зміни |
---|---|---|
X1 | червень 1984 | Вперше використовується назва «X». Фундаментальні зміни, що відрізняють продукт від W. |
X6 | січень 1985 | Перша версія, ліцензована кількома зовнішніми компаніями. |
X9 | вересень 1985 | Підтримка кольорів. Перший випуск на умовах ліцензії MIT. |
X10 | кінець 1985 | IBM RT/PC, AT (під керуванням DOS) та інші. |
X10R2 | січень 1986 | |
X10R3 | лютий 1986 | Перший випуск за межі MIT. uwm стає стандартним віконним менеджером. |
X10R4 | грудень 1986 | Остання версія X10. |
X11 | 15 вересня 1987 | Перший випуск теперішнього протокола. |
X11R2 | лютий 1988 | Перший випуск під керівництвом Консорціуму X MIT.[32] |
X11R3 | 25 жовтня 1988 | XDM. |
X11R4 | 22 грудня 1989 | XDMCP; twm стає стандартним віконним менеджером; покращення в застосунках; розширення Shape; нові шрифти. |
X11R5 | 5 вересня 1991 | PEX; Xcms (керування кольором); сервер шрифтів; X386; розширення Xvideo. |
X11R6 | 16 травня 1994 | ICCCM версії 2.0; Inter-Client Exchange; X Session Management; розширення X Synchronization; розширення X Image; розширення XTEST; X Input; X Big Requests; XC-MISC; зміни в XFree86. |
X11R6.1 | 14 березня 1996 | Розширення X Double Buffer; розширення X keyboard; розширення X Record. |
X11R6.2 X11R6.3 (Broadway) |
23 грудня 1996 | Функціональність WWW; LBX. Останній випуск під керівництвом X Consortium. X11R6.2 — це позначення підмножини X11R6.3, в якій єдиними відмінностями від R6.1 є Xprint та реалізація в Xlib вертикального письма та підтримки символів, заданих користувачами.[33] |
X11R6.4 | 31 березня 1998 | Xinerama.[34] |
X11R6.5 | Внутрішній випуск X.Org; не став доступним широкій публіці. | |
X11R6.5.1 | 20 серпня 2000 | |
X11R6.6 | 4 квітня 2001 | Виправлення багів; зміни в XFree86. |
X11R6.7.0 | 6 квітня 2004 | Перший випуск від фонду X.Org Foundation, що містить XFree86 4.4RC2. Повний комплект для кінцевого користувача. Видалення XIE, PEX та libxml2.[35] |
X11R6.8.0 | 8 вересня 2004 | Прозорість вікон; XDamage; Distributed Multihead X; XFixes; Composite; XEvIE. |
X11R6.8.1 | 17 вересня 2004 | Усунення вразливості в libxpm. |
X11R6.8.2 | 10 лютого 2005 | Усунення багів, оновлення драйверів. |
X11R6.9 X11R7.0 |
21 грудня 2005 | EXA, значний рефакторинг коду.[36] Із одного набору сирцевих кодів отримали модульну версію 7.0 та монолітну версію 6.9. |
X11R7.1 | 22 травня 2006 | Покращення EXA; інтеграція Kdrive; AIGLX; покращення в підтримці ОС та платформ.[37] |
'X11R7.2' | 15 лютого 2007 | Видалення LBX.[38] |
X11R7.3 | 6 вересня 2007 | Xorg server 1.4 — see Server14Branch for more details. Highlights:
|
X11R7.4 | 23 вересня 2008 | XServer 1.5.1, XACE, переробка PCI, оптимізація EXA, _X_EXPORT, GLX 1.4, прискорений запуск та вимкнення.[40] |
X11R7.5 | 26 жовтня 2009 | XServer 1.7.0[41] |
X11R8.0 | 2 квітня 2010 | XServer 1.8.0[42], перехід від керування пристроями з підсистеми HAL (Шар апаратних абстракцій) на використання бібліотеки udev, можливість створення файлів конфігурації для окремих пристроїв, змінились ABI інтерфесу, відповідальні за ввід/вивід відео та деякі розширення[43] |
- ↑ Manual de Administración de LINUX — S&P Global. — С. 17. — ISBN 978-970-10-5882-4
- ↑ Licenses (англійською) . The X.Org Foundation. март 2004. Архів оригіналу за 29 січня 2011. Процитовано 29 червня 2006.
- ↑ Джим Геттіс. Лист у форум XFree86. Архів оригіналу за 23 червня 2013. Процитовано 4 січня 2007.
- ↑ Дон Хопкінс. The X-Windows Disaster. The UNIX-HATERS Handbook (англійською) . Архів оригіналу за 29 січня 2011. Процитовано 29 червня 2006.
- ↑ Ханя Жаевска, Марк Менес, Джоел Маккормак. Why X Is Not Our Ideal Window System // Software - Practice & Experience. — 1990. Архівовано з джерела 10 вересня 2014. Процитовано 2008-01-04.
- ↑ Re: X is painful. Архів оригіналу за 6 липня 2017. Процитовано 4 січня 2008.
- ↑ Xprint Frequently Asked Questions (англійською) . Архів оригіналу за 29 січня 2011. Процитовано 29 червня 2006.
- ↑ airWRX — SVG Terminal. Архів оригіналу за 17 грудня 2007. Процитовано 4 січня 2008.
- ↑ mako. (15 червня 2005). Financing Volunteer Free Software Projects (англійською) . Архів оригіналу за 29 січня 2011. Процитовано 29 червня 2006.
- ↑ а б Джим Геттіс. (2000). Lessons Learned about Open Source (англійською) . Архів оригіналу за 29 січня 2011. Процитовано 29 червня 2006.
- ↑ Shaleh. (2 квітня 1998). xstate (англійською) . Архів оригіналу за 23 червня 2013. Процитовано 29 червня 2006.
- ↑ Меттью Арнісон. (червень 1999). The means to an X for Linux: an interview with David Dawes from XFree86.org (англійською) . Архів оригіналу за 16 вересня 2006. Процитовано 29 червня 2006.
- ↑ Крістофер Браун. X11R6.4 Sample Implementation Changes and Concerns (англійською) . Архів оригіналу за 1 червня 2008. Процитовано 29 червня 2006.
- ↑ [forum] Re: Announcement: Modification to the base XFree86™ license (англ.). Архів оригіналу за 8 вересня 2008. Процитовано 4 січня 2008.
- ↑ Роберт Мітчелл. (4 лютого 2002). Q & A: The X Factor (англійською) . ComputerWorld. Архів оригіналу за 23 серпня 2011. Процитовано 29 червня 2006.
- ↑ Кейт Паккард. (1999). The Evolution of the X Server Architecture (англійською) . Архів оригіналу за 29 січня 2011. Процитовано 29 червня 2006.
- ↑ [forum] A Call For Open Governance Of X Development. Архів оригіналу за 12 лютого 2005. Процитовано 4.7.2010.
- ↑ XFree86 joins X. Org as Honorary Member (англ.). Slashdot. 1 грудня 1999. Архів оригіналу за 23 серпня 2011. Процитовано 29 червня 2006.
- ↑ [forum] Another teleconference partial edited transcript. Архів оригіналу за 12 лютого 2005. Процитовано 4 липня 2010.
- ↑ mharris. (9.1.2003). Diary for mharris (англ.). Архів оригіналу за 29 січня 2011. Процитовано 29 червня 2006.
- ↑ [forum] Invitation for public discussion about the future of X. Архів оригіналу за 12 лютого 2005. Процитовано 4.7.2010.
- ↑ [forum] A Call For Open Governance Of X Development. Архів оригіналу за 12 лютого 2005. Процитовано 4.7.2010.
- ↑ [forum] Notes from a teleconference held 2003-3-27. Архів оригіналу за 12 лютого 2005. Процитовано 4 липня 2010.
- ↑ [forum] A Call For Open Governance Of X Development. Архів оригіналу за 22 грудня 2004. Процитовано 4 липня 2010.
- ↑ [forum] A Call For Open Governance Of X Development. Архів оригіналу за 6 січня 2005. Процитовано 4.7.2010.
- ↑ [forum]Discussing issues (англ.). Архів оригіналу за 27 грудня 2004. Процитовано 4.7.2010.
- ↑ а б Девід Вілер. (16 лютого 2005). The Cautionary Tale of XFree86. Make Your Open Source Software GPL-Compatible. Or Else (англ.). Архів оригіналу за 23 червня 2013. Процитовано 29 червня 2006.
- ↑ X11R6.9 and X11R7.0 Officially Released (англійською) . 21 грудня 2005. Архів оригіналу за 23 серпня 2011. Процитовано 29 червня 2006.
- ↑ Пол Андерсон, Алан Куперсміт, Егберт Ейк, Адам Джексон, Кевін Мартін, Кейт Паккард. (2005). Modularization Proposal (англійською) . Архів оригіналу за 29 січня 2011. Процитовано 29 червня 2006.
- ↑ Proposed Changes for X11R7.1 (англійською) . Архів оригіналу за 29 січня 2011. Процитовано 29 червня 2006.
- ↑ Кейт Паккард. (2004). Getting X Off The Hardware (англійською) . Архів оригіналу за 23 червня 2013. Процитовано 29 червня 2006.
- ↑ The X Window User HOWTO: Getting Started (англійською) . Архів оригіналу за 29 січня 2011. Процитовано 29 червня 2006.
- ↑ XFree86 and X11R6.3. Release Notes for XFree86 3.3.6 (англійською) . XFree86 Project. 31 грудня 1999. Архів оригіналу за 29 січня 2011. Процитовано 29 червня 2006.
- ↑ X Press Release — X11R6.4 (англійською) . The Open Group. 31 березня 1998. Архів оригіналу за 29 січня 2011. Процитовано 29 червня 2006.
- ↑ X.Org Foundation releases X Window System X11R6.7 (англійською) . LWN. 7 квітня 2004. Архів оригіналу за 29 січня 2011. Процитовано 29 червня 2006.
- ↑ ChangesSince68 (англійською) . X.Org Wiki. Архів оригіналу за 23 серпня 2011. Процитовано 29 червня 2006.
- ↑ Release Notes for X11R7.1 (англійською) . X.Org Foundation. 22 березня 2006. Архів оригіналу за 23 серпня 2011. Процитовано 29 червня 2006.
- ↑ ChangesForX11R72 (англійською) . X.Org Wiki. Архів оригіналу за 23 серпня 2011. Процитовано 15 лютого 2007.
- ↑ 7.3 Release notes (англійською) . X.Org Foundation. Архів оригіналу за 23 серпня 2011. Процитовано 13 грудня 2007.
- ↑ X.Org Foundation Releases X7.4. Архів оригіналу за 1 серпня 2009. Процитовано 4 липня 2010.
- ↑ X.Org Foundation Releases X7.5. Архів оригіналу за 6 липня 2010. Процитовано 4 липня 2010.
- ↑ Архівована копія. Архів оригіналу за 5 квітня 2010. Процитовано 4 липня 2010.
{{cite web}}
: Обслуговування CS1: Сторінки з текстом «archived copy» як значення параметру title (посилання) - ↑ Архівована копія. Архів оригіналу за 16 червня 2010. Процитовано 4 липня 2010.
{{cite web}}
: Обслуговування CS1: Сторінки з текстом «archived copy» як значення параметру title (посилання)
- Лінда Муі, Ерік Пірс. X Window System Volume 8: X Window System Administrator’s Guide for X11 Release 4 and Release 5. — 3rd ed. — O’Reilly, 1993. — ISBN 0-937175-83-8.
- Роберт Шейфлер, Джеймс Геттіс. X Window System: Core and extension protocols: X version 11, releases 6 and 6.1. — Digital Press, 1996. — ISBN 1-55558-148-X.
- X.Org Foundation [Архівовано 1 березня 2021 у Wayback Machine.](англ.) — офіційний вебсайт.
- X Window System, каталог посилань Open Directory Project
- Window Managers for X(англ.) — вебсайт, присвячений різним віконним менеджерам X.
- DsY(англ.) — розвиток проєкту Y Window System.
- John Smirl. (30 серпня 2005). The State of Linux Graphics (англійською) . Архів оригіналу за 23 серпня 2011. Процитовано 24 листопада 2007.
- John Smirl. Стан графіки Linux (російською) . Процитовано 24 листопада 2007.
{{cite web}}
: Недійсний|deadurl=unknown-host
(довідка) - Christopher Browne. (2005). 16. On the Thesis that X is Big/Bloated/Obsolete and Should Be Replaced. Christopher Browne’s Web Pages → VI. Operating System-Centric Computing → The X Window System (англійською) . Архів оригіналу за 23 серпня 2011. Процитовано 16 лютого 2009.
- Джим Геттис. (9 грудня 2003). Open Source Desktop Technology Road Map (англійською) . Архів оригіналу за 2 січня 2006. Процитовано 29 червня 2006.
- Оскар Бойкин. (25 лютого 2004). X Marks the Spot: Looking back at X11 Developments of Past Year (англійською) . OSNews. Архів оригіналу за 23 серпня 2011. Процитовано 29 червня 2006.
- Майк Пакетт. (19 серпня 2003). Why Apple didn’t use X for the window system (англійською) . Apple Computer. Архів оригіналу за 23 серпня 2011. Процитовано 29 червня 2006.
- Writing a Graphics Device Driver and DDX for the DIGITAL UNIX X Server (англійською) . DEC. 1997. Архів оригіналу за 26 жовтня 2003. Процитовано 29 червня 2006.
{{cite web}}
: Недійсний|deadurl=404
(довідка) - Кентон Ли. Technical X Window System and Motif WWW Sites (англійською) . Архів оригіналу за 23 серпня 2011. Процитовано 29 червня 2006.
- Помітні реалізації
- Референсна реалізація від фонду X.Org [Архівовано 15 грудня 2007 у Wayback Machine.](англ.)
- XFree86 — протягом багатьох років була найпопулярнішою реалізацією, особливо на відкритих UNIX-подібних системах.
- Apple — Mac OS X — X11 [Архівовано 24 квітня 2009 у Wayback Machine.](англ.) — X11.app, тісно інтегрована з Mac OS X.
- Win32-x11 — X-сервер під Windows-системи, оснований на GDI/DirectX.
- LibW11 [Архівовано 27 січня 2012 у Wayback Machine.] — реализація Xlib під Windows-системи, що використовує виклики Win32 API.