- Графические интерфейсы Linux: Перспектива.
- Графические интерфейсы Linux
- Budgie — графическая оболочка
- Cinnamon — среда рабочего стола
- Enlightenment
- GNOME — среда рабочего стола
- KDE (Plasma) — среда рабочего стола
- LXDE — lightweight desktop environment
- LXQt — легковесная среда рабочего стола
- MATE — продолжение развития классического Gnome
- Openbox — быстрый оконный менеджер
- Window Maker
- Создание GUI в Linux. Часть 1
Графические интерфейсы Linux: Перспектива.
Сейчас существуют два самых распространенных графических интерфейса под Linux:
1) KDE — K Desktop Environment.
2) GNOME — GNU Network Object Model Environment.
Оба этих проекта имеют большое значение в продвижении Linux и в конкуренции Линукса с Windows.
GUI — это набор иконок, меню, диалогов, панелей, окон, и других графических элементов, позволяющих пользователям легко работать с компьютером и приложениями. Развитие графических интерфейсов началось в начале 80-х годов. Идея GUI как замены командной строки впервые возникла в исследовательском центре Xerox’s Palo Alto Research Center. Apple впервые применила ее в компьютере Lisa и позже в Macintosh. Следом за ними в Microsoft стали делать свой графический интерефейс под названием Windows. Он и используется сейчас в 95% десктопов, и благодаря ему персональные компьютеры сейчас так широко распространились.
Развитие GUI для Linux началось с работы Фонда бесплатного программного обеспечения, когда была сделана попытка разработать единый графический интерфейс для всех Юниксов. OSF выступала за развитие юзабельности Unix и за создание единого графического интерфейса для всех вариантов Unix. Эта работа привела к созданию X Window System и OSF/Motif, и общим результатом стала CDE (Common Desktop Enviroment — общая десктопная среда). В 1996 году технология CDE была передана The Open Group.
Структура, разработанная в CDE, стала общей для всех десктопных сред Unix/Linux:
* Интерфейс взаимодействия с железом. Система X Window формирует базу всех Open Source графических интерфейсов. Она предоставляет простейшие графические возможности (цвета, рисование графических примитивов, вывод текста, и т.д.), и она запущена как сервер, к которому подключаются программы и дают различные команды. X Window работает одинаково на любой железе и в любой OS. Например, клиентские программы могут быть запущены под Unix, а сервер — под Windows.
* Набор элементов. В CDE это Motif. Набор элементов содержит библиотеки для написания приложений, использующих меню, кнопки, иконки и другие графические элементы. Он является ответственным за то, каким образом X Window будет все это отрисовывать.
* Графическая среда. Использует интерфейс взаимодействия с железом, набор элементов и различные дополнения, которые могут включать: -менеджер окон, контролирующий расположение и внешний вид окон; -менеджер сессий, контролирующий пользовательские элементы и настройки; -файловый менеджер и менеджер рабочего стола; -Приложения (калькулятор, блокнот, etc); -Система связи между приложениями.
В середине 90-х, когда движение Open Source разрабатывало Linux, началась разработка графической среды по аналогу с CDE, но на основе клона X Window System под названием Xfree86. Сначала была разработана KDE, известная сейчас как наиболее полная графическая среда, и позже появился Gnome. Сейчас они могут быть запущены на любом Юниксе, но все равно они по привычке ассоциируются с OS Linux.
Gnome и KDE — почему их два?
В Linux-сообществе постоянно идут дискуссии по этому вопросу. А не лучше ли было бы создать единую графическую среду в противовес Windows, чтобы Linux смотрелся бы в графической среде всегда одинаково? Gnome и KDE имеют различные библиотеки элементов, различное оформление рабочего стола и различные модели разработки.
Таблица 1: Сравнение компонентов: CDE, Gnome и KDE. | |||
CDE | GNOME | KDE | |
Язык программирования | C | C | C++ |
Интерфейс взаимодействия с железом | X Window System | XFree86 | XFree86 |
Chicago (Не знаю, что это такое 🙂 — прим. автора рассылки) | 128,013 | 167,047 | 200,482 |
Библиотеки элементов | Motif/Open Motif (1) | GTK+ based on the GNU Image Manipulation Program (GIMP) toolkit | Qt |
(1) В 2000 году The Open Group выпустила бесплатную версию Open Motif. | |||
Источник: Gartner Research |
Существование двух различных графических сред для Linux обьясняется вопросами лицензирования. Проект KDE, основанный в 1996 году, частично основывался на библиотеках QT от норвежской компании Trolltech, которая предоставляла их под лицензией BSD, отличной от GPL. Поэтому в 1997 году появился проект Gnome, целью которого была разработка графической среды, удовлетворяющей лицензии GPL. Потом Trolltech сменила лицензию QT на более подходящую для Open Source-проектов, но Gnome уже развивался. Сейчас у обоих проектов есть свои энтузиасты и защитники, и идет работа для улучшения их совместимости (например, создан общий стандарт Drag&drop между KDE и Gnome приложениями).
Сходства и различия:
И KDE и Gnome — интегрированные рабочие среды. Пользователи работают с элементами интерфейса и программами. Оба этих проекта пытаются сделать интерфейс пользователя более интуитивным — чтобы любой пользователь, пришедший из Windows, смог работать без проблем. В обоих проектах уже давно есть концепция тем, скинов, etc — чтобы интерфейс можно было изменить полностью.
Различные сравнения приходят к одному выводу, что KDE — более развитая и стабильная графическая среда, а Gnome — более настраиваиваемая. KDE начинала разрабатываться централизованно, поэтому она более интегрированная. А Gnome может использовать различные части от других интерфейсов (например — менеджер окон).
KDE написан на C++, а Gnome — на C, но оба они имеют версии на C, C++ и других языках. Хотя они и базируются на едином X Window System, но на более высоких уровнях они могут конфликтовать. Сейчас сотрудничество между KDE и Gnome — важная тема для разработчиков обоих проектов. Например, если настройки цвета были изменены в Gnome-программе, то нужно сделать, чтобы они работали и под KDE. Один из проектов разрабатывает единый стандарт иконок и миниатюр для файловых менеджеров.
Так же уделяется внимание и совместимости компонентов. KDE разрабатывается на мощной архитектуре компонентов под названием KParts, похожей на Microsoft COM, с собственной системой связи между компонентами. Gnome, написанный на C, имеет псевдоструктуру компонентов под названием Bonobo и использует легкий компонент ORB, базированный на CORBA, для связи между компонентами. Разработчики не могут написать приложения, использующие компоненты обоих сторон одновременно. Компоненты KDE и Gnome на самом деле не связаны между собой. Но Red Hat, Trolltech и несколько других компаний разработали единый протокол drag-and-drop, поддерживающийся обоими системами, и частично сглаживающий несовместимость компонентов.
Лига KDE и организация Gnome:
Недавно сформировалась организация Gnome, после чего появилась лига KDE. Сейчас KDE и Gnome уже можно назвать различными персоналиями — они отличаются не только в техническом отношении, но их поддерживают различные организации и корпорации, они имеют разные лицензии, и их можно различить даже по национальному признаку — проект KDE был основан в Германии, поэтому он часто рассматривается как «Европейский», а Gnome был создан в USA. (Хотя сейчас их разработчики находятся по всему миру). KDE имеет обширную локализацию на более 50 языках, а Gnome в этом вопросе идет позади. KDE относится к различиям лицензий более философски, а различные борцы за чистоту лицензий не включают KDE в свои дистрибутивы (несколько лет KDE даже не входил в Red Hat).
Недавно оба проекта были поставлены на финансовую основу. Но их подходы к этому различны. Организация Gnome открыла конференцию Advisory Board для того, чтобы каждый мог поучаствовать в дальнейшем развитии Gnome. Лига KDE принимает финансовую помощь и помощь в рекламе, но они обещают, что на развитие проекта KDE будут влиять только ее участники, поддерживающие Open Source. Сильный защитник Gnome — это Red Hat, который даже не включал KDE в свои дистрибутивы, пока QT не стала доствпной под лицензией GPL. Caldera и SuSE, наоборот, использовали в дистрибутивах только KDE (но SuSE включил Gnome в последнюю версию). Sun обьявили, что они будут использовать Gnome как графический интерфейс для Solaris. IBM поддерживает обе системы и создает систему распознавания голоса для KDE.
Таблица 2: Компании, поддерживающие KDE и Gnome (краткий список). | ||