Графические интерфейсы 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 (краткий список). | |||||||||||||||||||||||||||||||||
Enlightenment
Enlightenment — оконный менеджер с открытым исходным кодом для X Window System. Название переводится как просветление и часто сокращается до одной буквы E.
- Небольшой размер и высокая производительность;
- Развитая система оформления и тем;
- Поддержка анимации для тем, элементов пользовательского интерфейса, пиктограмм, рабочих столов и курсоров;
- Модульная структура, возможна динамическая загрузка внешних модулей для расширения функциональности;
- Расширенная поддержка виртуальных рабочих столов.
xd640
XD640 простой графический рабочий стол для X-Window. Создан быть легким и быстрым для медленных компьютеров (i486 66MHz 16MB) и маленьких экранов (640×480).
Metacity
- Написан на GTK+ 2.x и отлично интегрирован с GNOME
- поддержка тем
Amiwm
- Для ценителей Amiga эмуляция работы в Amiga’s Workbench
- Поддержка множества экранов
XFce является графической оболочкой, построенной на основе инструментального пакета GTK+, используемого в Gnome, но гораздо легче и предназначен для тех, кому нужен простой, эффективно работающий стол, который легко использовать и настраивать. Вот некоторые из достоинств XFce:
- Простой, легкий в обращении рабочий стол
- Полностью настраиваемый при помощи мыши, с интерфейсом «drag and drop»
- Главная панель похожа на CDE, с меню, аплетами и возможностями по быстрому запуску приложений
- Интегрированный оконный менеджер, менеджер файлов, управление звуком, модуль совместимости с Gnome и прочее
- Стандартизованные меню и панели инструментов, комбинации клавиш, цветовые схемы и так далее
- Возможность использования тем (так как использует GTK+)
- Быстрый, легкий и эффективный: идеален для устаревших/слабых машин или машин с ограниченной памятью
WindowMaker
- Поддержка национальных языков через I18N
- Все изменения применяются сразу без перезагрузки Оконного Менеджера
- Встроенная графическая утилита конфигурирования настроек
Athene
По образу этого рабочего стола была разработана система управления MS Windows.
Отличия:
- Оптимизирован под процессоры Intel Pentium
- Используется графическая технология SNAP от SciTech Software вместо X-Window
- Графика быстрее на 17% чем MS Windows и на 25% быстрее X-Window
- Обратная совместимость с X-Window приложениями
- Быстрая загрузка — между 5 и 15 секундами на современном оборудовании
- Редактируемый интерфейс, основанный на XML
- Plug and Play Hardware Support
- Локализация: полная поддержка Unicode
- Гибкая независимая от ОС архитектура
Sawfish
- Основан на скрипт-языке LISP
- Темы и оформление используют GTK+
AfterStep
AfterStep — менеджер окон для X Window System, во время разработки которого была предусмотрена гибкость настройки рабочего стола, улучшенный внешний вид и эффективное использование системных ресурсов. Изначально AfterStep был вариантом FVWM, который воспроизводил графический интерфейс операционной системы NeXTSTEP, но с ходом разработки отдалился от своих корней. AfterStep включает в себя несколько модулей, таких как:
Pager — визуальный инструмент для управления и перемещения между несколькими рабочими столами
WinList — простая панель задач, отображающая активные приложения
Wharf — инструмент управления запуском приложений, панелью, содержащей наиболее часто используемые приложения и аплетами.
AfterStep поддерживает виртуальные экраны. Настройка внешнего вида производится при помощи набора текстовых файлов конфигурации.
fvwm, mwm, twm
F Virtual Window Manager — менеджер окон для X Window System с поддержкой виртуальных экранов. FVWM знаменит высоким качеством исходного кода, который разрабатывался и улучшался в течение многих лет, поэтому многие проекты основаны на нём, среди которых AfterStep, Xfce, Enlightenment и множество других.
XPde — проект, цель которого создание похожего внешне на Windows XP рабочего стола. XPde (XP Desktop Environment) — свободная среда рабочего стола, напоминающая по виду Windows XP. Построена на основе кросс-платформенного инструментария разработки пользовательского интерфейса Qt. В состав входит оконный менеджер XPwm. По замыслу разработчиков, их оконный менеджер должен облегчить пользователям Windows переход на Linux. XPde написан на Kylix.
Metisse
Metisse это основанная на X оконная система, разработанная с двумя целями. Во-первых, она должна облегчить разработку и внедрение инновационных технологий управления окнами для исследователей HCI (HCI — интерфейс «человек-компьютер»). Во-вторых, она должна соответствовать существующим стандартам и быть достаточно эффективной для ежедневного использования, делая ее подходящей платформой для оценки предложенных технологий. Metisse не фокусируется на особенных видах взаимодействия (например 3D) и не должна рассматриваться как предложение нового рабочего стола. Это в большей степени инструмент для создания новых типов окружения рабочих столов.
IceWM
IceWM — менеджер окон для X Window System в Unix-подобных операционных системах. Разработка IceWM началась с нуля в 1997-ом году, проект написан целиком на C++ и выпущен на условиях лицензии GNU LGPL. Цель проекта — создание рабочей среды с удобным и быстрым интуитивным интерфейсом с широкими возможностями для настройки пользователем. В частности, все функции графического интерфейса доступны при использовании только клавиатуры. В то же время в число задач входила максимальная лёгкость IceWM в плане потребляемых ресурсов компьютера — памяти и процессора.
Common Desktop Environment (CDE) — проприетарная среда рабочего стола, основанная на Motif, для UNIX, HP OpenVMS. CDE разработана в The Open Group совместно с Hewlett-Packard, IBM, Novell и Sun Microsystems и основан на VUE (Visual User Environment) от HP. Примерно до 2000 года CDE была промышленным стандартом для UNIX систем, но свободные оболочки для рабочего стола, такие как KDE и GNOME, быстро становились всё более удобными и стали стандартом для многих Linux платформ, которые на этот период уже имели больше пользователей, чем большинство UNIX систем.
Источник