Gui линукс что это

Графические интерфейсы 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 приложениями).

Читайте также:  Как разблокировать загрузчик windows 10

Сходства и различия:

И 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.

Совместимость с другими системами:

Motif и CDE. Традиционно Gnome и KDE ассоциируются с Linux, и на других Юниксах их использование менее принято. Motif и CDE, как традиционные графически среды для Unix, тоже развивались вместе с Gnome и KDE. Open Group выпустил Open Motif для поднятия интереса к этой графической среде, но главное направление сейчас — замена традиционных Unix-интерфейсов на более продвинутые интерфейсы Linux. Это направление усилилось, когда HP и Sun Microsystems обьявили об использовании Gnome в своих операционных системах HP-UX и Solaris.

Windows. Сервер X Window можно запусить на любой платформе. Библиотеки QT от KDE — кроссплатформенные для всех Юниксов, Windows и Mac OS X. Так же новые библиотеки Gnome 2.0 портированы на Win32. Более высокий уровень графического интерфейса портирован еще не был, но ведется работа над портом KDE 1 на Win32. Так же начинается работа над взаимодействием Linux и Windows программ — например, электронные таблицы Gnumeric могут взаимодействовать с Excel.

Java. Хотя в сообществе Linux традиционные языки программирования — это C и C++, но Java тоже немного продвинулась вперед. Red Hat, ведущая компания Linux, пока не предлагет свою JVM (Java Virtual Machine) по причиам того, что Sun, IBM и другие не предлагают свои JVM под лицензией GPL. Но они разработали GNU компилятор для Java под лицензией GPL. Некоторые энтузиасты Java утверждают, что технологии, на которых базируются KDE и Gnome, уже устарели, и предлагают использовать графический интерфейс, написанный специально для Java, под названием Swing. Движение уже идет, и сейчас Gnome и KDE уже переносятся на Java. Например, Jana-Gnome — это программа для перевода запросов Java в запросы, понятные библиотекам Gnome.

Источник

Графические интерфейсы Linux

В данном разделе сайта публикуется информация о графических интерфейсах операционной системы Linux. Интерфейсы разделены на две группы: среды рабочего стола и оконные менеджеры.

Среда рабочего стола Linux (Desktop Environment) — это комплексная готовая к работе оболочка. Обычно среда рабочего стола включает панель задач, функциональные меню, менеджер входа в систему, программы настройки, базовые программы и другие функциональные элементы, включая оконный менеджер.

Оконный менеджер Linux (Window Manager) — это программа, которая занимается отрисовкой окон, позволяет перемещать и изменять размер окна, обрабатывает действия пользователя, которые он делает в окне программы. Оконный менеджер может работать независимо или быть в составе среды рабочего стола.

Budgie — графическая оболочка

Budgie — графическая оболочка, которая была написана с нуля, но использует технологии GNOME.

Cinnamon — среда рабочего стола

Cinnamon — самостоятельная среда рабочего стола, являющаяся ответвлением от Gnome 3, но имеющая дизайн в стиле классического Gnome.

Enlightenment

Enlightenment (или просто E) — легковесный оконный менеджер (пользовательское окружение) не требовательный к ресурсам компьютера, потребляет очень мало оперативной памяти.

GNOME — среда рабочего стола

GNOME (GNU Network Object Model Environment) — популярная среда рабочего стола для Linux. Включает в себя набор утилит для настройки среды, прикладное программное обеспечение, системные утилиты и другие компоненты.

KDE (Plasma) — среда рабочего стола

KDE — полнофункциональная среда рабочего стола. В рамках проекта KDE разрабатывается большое количество приложений для повседневных нужд. KDE использует библиотеки Qt.

LXDE — lightweight desktop environment

LXDE (Lightweight X11 Desktop Environment) — быстрая легковесная среда рабочего стола, не требовательная к ресурсам компьютера. В качестве оконного менеджера используется Openbox. Окна и меню открываются без задержек, интерфейс отзывчивый и не вызывает раздражения.

LXQt — легковесная среда рабочего стола

LXQt — легковесная среда рабочего стола, использующая библиотеки (фреймворк) Qt.

MATE — продолжение развития классического Gnome

MATE — среда рабочего стола, которая является продолжением развития Gnome 2. MATE является сбалансированной средой с хорошим набором программ и утилит и приятным классическим интерфейсом.

Openbox — быстрый оконный менеджер

Openbox — легковесный оконный менеджер с простым минималистским интерфейсом. Данный оконный менеджер не требователен к системным ресурсам и работает очень быстро. При клике правой кнопкой мыши вызывается главное меню Openbox, через которое можно вызывать любые программы. Openbox хорошо настраивается и поддерживает темы оформления.

Window Maker

Window Maker — менеджер окон для Linux. Главными элементами интерфеса в Window Maker являются функциональные кнопки на рабочем столе и меню, вызываемое при клике правой кнопкой мыши по рабочему столу. Работает быстро, хорошо настраивается.

Источник

Создание GUI в Linux. Часть 1

Создание графических интерфейсов в Linux с помощью библиотек Qt и GTK.

В этой статье мы поговорим о создании графического интерфейса для вашей Linux-программы. Как вы знаете, средствами одного С нормальный GUI (Graphical User Interface – Графический интерфейс пользователя, ГИП) не построишь, тем более что после Windows пользователь очень требователен не только к наличию этого самого GUI, но еще и к дизайну формы (окна программы). Поэтому без дополнительных библиотек вам не обойтись. Самыми распространенными библиотеками для создания GUI являются библиотеки GTK и Qt. Рекомендуется использовать только эти библиотеки, поскольку велика вероятность того, что они уже будут установлены у пользователя (уж GNOME и KDE установлены почти у всех), чтобы не сложилась такая ситуация, когда размер вашей программы 300К, а используемая нею библиотека «весит» 20М. Вот подумайте, зачем пользователю ваша программа и станет ли он закачивать ее из сети? Конечно, если для вашего шедевра нет аналогов в мире, вы можете изрядно поиздеваться над пользователем, используя нестандартную библиотеку GUI. В первой части этой статьи будет рассмотрена библиотека GTK, а во второй – Qt. Сразу следует заметить, что эта статья – не русскоязычное руководство по библиотекам GTK и Qt. Это, скорее, небольшой обзор возможностей библиотек.

Скорее всего, GTK уже будет у вас установлена, но вам нужно будет установить пакет gtk+-devel, содержащий необходимые файлы для разработки GTK-программ.

Не хочется в этой статье рассматривать банальный пример окошка с кнопкой hello world!. Уж слишком уж это просто, да и этот пример вы сможете найти в документации по Gtk.

Сейчас напишем небольшой конфигуратор, который будет вносить изменения в файл /etc/resolv.conf. Напомню вам формат этого файла:

Директива domain определяет наш домен, а две директивы nameserver – первый и второй DNS-серверы, соответственно. Вместо директивы domain можно использовать директиву search, но это кому как нравится. Файл может содержать до 4 директив nameserver, но обычно указываются только два сервера DNS, поэтому мы не будем перегружать себя лишней работой. Но файл resolv.conf не главное в нашей статье – ведь мы разрабатываем GUI. Наш конфигуратор не будет вносить изменения в настоящий файл /etc/resolv.conf – для этого нужны права root, можно, конечно, вызвать auth для аутентификации, но мы не будем этого делать, чтобы не усложнять код программы.

Теперь небольшое вступление в GTK. Элементы ГИП – кнопки, поля ввода, переключатели и тому подобное называется виджитами. Если вы когда-нибудь работали в Delphi, виджиты подобны визуальным компонентам Delphi.

Как и в Delphi, основным элементом GUI является окно (форма в Delphi). Виджиты для размещения в окне помещаются в контейнер. В самом окне выравнивать виджиты можно с помощью вертикальных/горизонтальных боксов или же таблиц. Мне больше нравится второй способ, поэтому мы будем использовать именно таблицы.

Виджиты могут реагировать на сигналы, например, щелчок мышью. При этом вызывается функция-обработчик события (сигнала), если вы определили ее.

В качестве примера нарисуем кнопку и определим обработчик ее нажатия:

А вот функция hello():

Хватит теории, перейдем к практике. На рисунке 1 изображена уже готовая программа. Работает она так. Когда пользователь введет что-нибудь в поле ввода и нажмет Enter, программа отобразит введенный им текст на консоли. Когда пользователь нажмет Ок, введенная им информация будет еще раз выведена на консоль и записана в файл. При нажатии кнопки Quit программа завершит свою работу. Она должна также завершить работу при нажатии кнопки закрытия окна – в GTK программист сам определяет реакции на стандартные кнопки.

Вот текст программы. Внимательно читайте комментарии.

Я старался писать подробные комментарии, но все же кое-что осталось в тумане. Это координаты ячеек. Рассмотрим нашу таблицу 3х3:

Сначала указываются координаты по X, затем – по Y. Вот координаты кнопки Ok: 2,3,0,1. Это означает, что кнопка будет расположена в последнем столбике (2,3), но в первом ряду (0,1). Чтобы было понятнее: ОК по Х находится между 2 и 3, а по Y – между 0 и 1.

Теперь откомпилируем нашу программу:

Можно не использовать опцию -g, добавляющую отладочную информацию – размер файла станет меньше. Программа gtk-config сообщает компилятору всю необходимую информацию о библиотеке gtk. Обратите внимание на директиву #include . Обычно файлы заголовков gtk находятся в другом каталоге, например, gtk-1.2, но это совсем не имеет значения – все необходимые параметры укажет программа gtk-config.

У вас некорректно отображаются русские названия надписей и кнопок? Эта проблема очень быстро устраняется с помощью GNOME Control Center – вам всего лишь нужно выбрать другой шрифт.

Источник

Читайте также:  Описание встроенных групп windows
Оцените статью
Таблица 2: Компании, поддерживающие KDE и Gnome (краткий список).