Образовательные дистрибутивы/Занятие 6
Законспектировать материал в тетрадях
Графический пользовательский интерфейс
[править]Оконная система X Window System
[править]Стандартные инструменты и протоколы для построения графического интерфейса пользователя обеспечивается в UNIX-подобных ОС оконной системой — X Window System.
X Window System обеспечивает базовые функции графической среды: отрисовку и перемещение окон на экране, взаимодействие с мышью и клавиатурой. X Window System не определяет деталей интерфейса пользователя — этим занимаются менеджеры окон, которых разработано множество. По этой причине внешний вид программ в среде X Window System может очень сильно различаться в зависимости от возможностей и настроек конкретного оконного менеджера.
Соответственно менеджер окон X Window System — приложение, работающее «поверх» X Window System и определяющее интерфейс и взаимодействие с пользователем. В Unix-подобных операционных системах пользователь может выбрать любой оконный менеджер по своему усмотрению.
Различные менеджеры окон могут отличаться такими показателями, как:
- Возможности настройки внешнего вида и функциональности.
- способы запуска различных приложений;
- средства настройки и управления окружением;
- наличие и взаимодействие с несколькими рабочими или виртуальными столами.
- Потребление оперативной памяти и прочих ресурсов компьютера.
- Степень интеграции со средой рабочего стола, предоставляющим более полный набор средств для взаимодействия с операционной средой и различных пользовательских приложений.
Оконные менеджеры
[править]Blackbox
[править]Blackbox — простой менеджер окон X Window System. Он ориентирован на пользователей, предпочитающих быстрое и простое графическое окружение. Характерной чертой является компактность и высокая скорость работы. В связи с этим в нем отсутствую многие полезные функции, которые, однако, можно надстраивать к Blackbox. Также, по умолчанию настройка Blackbox может выполняться только в текстовых редакторах посредством изменения текстовых файлов конфигурации.
Blackbox не поддерживает запуск приложений с помощью иконок (хотя, это можно исправить при помощи idesk). Обычно приложения запускают, выбирая их из меню, которое всплывает при щелчке мышью на рабочем столе.
Стандартный рабочий стол Blackbox не содержит ничего, кроме небольшой панели с названием рабочего стола (их может быть несколько), часов и списка запущенных приложений.
Fluxbox
[править]Fluxbox — простой менеджер окон для X Window System.
Описание
Fluxbox сделан на базе Blackbox v.0.61.1 и похож на него — те же цвета, расположение окон и полная совместимость тем и стилей.
Внешне Fluxbox представляет собой чистый рабочий стол с панелью инструментов, на которой находятся название рабочего стола, часы и список запущенных приложений.
По умолчанию Fluxbox не имеет своих иконок на рабочем столе, но их можно добавить, используя программу idesk.
Запуск программ осуществляется выбором соответствующего пункта из выпадающего меню, появляющегося после щелчка правой клавишей мыши в любом месте рабочего стола, или набором названия программы во всплывающей строке ввода, вызываемой либо из вышеупомянутого выпадающего меню, либо нажатием горячих клавиш.
В силу своей минималистичности Fluxbox нетребователен к ресурсам и особенно подходит тем пользователям, которым приходится применять устаревшую технику, или тем, кто хочет получить максимальное быстродействие компьютера при работе в графической среде Unix-подобных систем. Кроме того, сторонники использования данной оболочки считают её чрезвычайно эргономичной. В то же время новичков обычно отпугивает «спартанский» внешний вид Fluxbox и отсутствие развитых графических средств конфигурирования (подобных средствам, имеющимся в средах KDE и Gnome).
Особенности Fluxbox
- Конфигурируемые табы (позволяют объединить несколько одинаковых приложений в одном окне);
- Панель иконок (для минимизированных окон);
- Смена рабочих столов с помощью скроллинга мыши;
- Конфигурируемые заголовки окон (расположение кнопок, новые кнопки);
- Поддержка KDE;
- Частичная поддержка GNOME;
- Поддержка псевдо-прозрачности;
- Поддержка UTF-8.
Настройка Fluxbox По умолчанию настройка производится в текстовых файлах из директории ~/.fluxbox:
- init — настройка внешнего вида (аналог: утилита fluxconf);
- keys — настройка горячих клавиш (аналог: утилита fluxkeys);
- menu — настройка меню программ (аналог: утилита fluxmenu);
- startup — скрипт автозапуска.
Часто пользователь сталкивается с проблемой отображения кодировки в меню configure, workspace и меню панели управления. Быстро решить эту проблему помогает замена файла /usr/share/fluxbox/styles/nls/ru_RU/fluxbox.cat на файл из каталога /usr/share/fluxbox/styles/nls/С/fluxbox.cat (путь указан для дистрибутива Debian, на других системах данный файл может находиться в других каталогах), после чего меню, которые отображались неверно, будут отображаться на английском языке, а те меню, в которых проблем с отображением кодировки не было, останутся нетронутыми.
Openbox
[править]Openbox — свободный менеджер окон для X Window System, распространяемый под лицензией GNU General Public License. Изначально Openbox произошёл от Blackbox 0.65.0, но затем был полностью переписан на языке Си и с версии 3.0 не базируется на программном коде Blackbox.
Openbox небольшой и быстрый менеджер окон. Он поддерживает много функций, таких, как меню, с помощью которого пользователь может управлять приложениями.
Openbox позволяет вызывать главное меню по нажатию правой кнопки мышки (или по любому другому назначенному сочетанию клавиш) на рабочем столе, также позволяет пользователям изменять способ управления окнами. Когда окно минимизировано, оно становится невидимым. Чтобы снова увидеть его — сочетание клавиш Alt + Tab ⇆ или десктопное меню по правому клику мышки. Обычно Openbox дополняют различными небольшими программами, которые добавляют иконки, панель задач (taskbar), launchers, eyecandy и другие полезные функции.
Особенностью Openbox является динамические меню. Это сделано с помощью принятия вывода скрипта в качестве источника для меню. Каждый раз, когда пользователь наводит указатель на подменю, скрипт запускается и регенерирует меню. Эта возможность обеспечивает пользователям и разработчикам программного обеспечения большую гибкость, чем стандартные статические меню в большинстве других оконных менеджеров.
Графические оболочки
[править]Графическая оболочка (среда́ рабо́чего стола́ )(также окружение рабочего стола, англ. desktop environment) — это разновидность графических интерфейсов пользователя, основанная на метафоре рабочего стола. Такая среда обеспечивает пространство, называемое рабочим столом, на котором появляются окна, пиктограммы, панели и другие элементы. Обычно поддерживаются механизмы, объединяющие разные части среды — например, drag-n-drop (перенос данных между окнами с помощью указательного устройства).
KDE
[править]KDE (англ. K Desktop Environment, изначально проект назывался англ. Kool Desktop Environment) — свободная среда рабочего стола для UNIX-подобных операционных систем. Построена на основе кросс-платформенного инструментария разработки пользовательского интерфейса Qt. Работает преимущественно под UNIX-подобными операционными системами, которые используют графическую подсистему X Window System. Новое поколение технологии KDE 4 частично работает на Microsoft Windows и Mac OS X.
В состав KDE входит набор тесно интегрированных между собой программ для выполнения повседневной работы. Также в рамках проекта разрабатываются интегрированная среда разработки KDevelop и офисный пакет KOffice.
KDE был основан в 1996 году Маттиасом Эттрихом, который в то время был студентом Тюбингенского университета. Его беспокоили проблемы UNIX-десктопа, одной из которых было отсутствие приложений, которые выглядели бы и вели себя одинаково. Он предложил не просто создание набора программ, а скорее среды для рабочего стола, в которой пользователь мог ожидать однородного поведения программ. Кроме того, он хотел сделать эту среду простой и понятной в эксплуатации.
Архитектура KDE
В основе KDE лежат следующие технологии:
- KDELibs — коллекция базовых библиотек KDE, общих для всех программ среды;
- KHTML — компонент для просмотра HTML документов;
- KIO — фреймворк, обеспечивающий прозрачный доступ к файлам, как по сети, так и локально;
- KWin — оконный менеджер;
- XMLGUI — позволяет генерировать элементы пользовательского интерфейса на основе файлов формата XML.
Стандартные пакеты
- aRts — звуковой сервер (в KDE4 заменён на phonon).
- kdelibs — основные библиотеки, требуются для сборки других пакетов.
- kdepimlibs — библиотеки для PIM (для KDE4)
- kdebase — рабочий стол и основные приложения.
- kdeaccessibility — дополнительные программы для людей с ограниченными способностями (экранная лупа, синтезатор речи и т. д.).
- kdeaddons — дополнительные модули и скрипты.
- kdeadmin — инструменты графического администрирования.
- kdeartwork — содержит дополнительные темы, экранные заставки, звуки, обои и различные стили оформления окон.
- kdeedu — образовательное программное обеспечение.
- kdegames — игры.
- kdegraphics — ПО для работы с графикой.
- kde-i18n — интернационализация; пакет для пользователей, которые хотят использовать в меню, справке и в приложениях языки, отличные от английского (в KDE4 заменён на kde-l10n).
- kdemultimedia — ПО для работы с файлами (и устройствами) мультимедиа.
- kdenetwork — инструменты для работы с сетью.
- kdepim — персональный органайзер.
- kdesdk — инструменты разработчика.
- kdetoys — бесполезные «игрушки».
- kdeutils — разнообразные утилиты.
- kdeplasmoids — пакет дополнительных плазмойдов и тем plasma (для kde4.1)
- kdewebdev — пакет программ для веб-разработчиков.
GNOME
[править]GNOME (произносится как [gnoʊm]) — свободная среда рабочего стола для Unix-подобных операционных систем. GNOME является частью проекта GNU.
Разработчики GNOME ориентируются на создание полностью свободной среды, доступной всем пользователям вне зависимости от их уровня технических навыков, физических ограничений и языка, на котором они говорят. В рамках проекта GNOME разрабатываются как приложения для конечных пользователей, так и набор инструментов для создания новых приложений, тесно интегрируемых в рабочую среду.
GNOME — акроним от англ. GNU Network Object Model Environment («сетевая объектная среда GNU»). Под GNU в данном случае подразумевается не проект, а операционная система, официальной средой рабочего стола которой он является.
Проект GNOME был основан в августе 1997 года Мигелем де Иказа и Федерико Мена как попытка создать полностью свободную рабочую среду для операционной системы GNU/Linux.
Цели проекта
- создание полностью свободной рабочей среды;
- простота пользовательского интерфейса, доступность для пользователей вне зависимости от их технических навыков и физических ограничений[3];
- интернационализация и локализация;
- обеспечение простой разработки приложений, интегрируемых со средой, на различных языках программирования;
- постоянный цикл разработки и выпуска новых версий.
Начиная с GNOME версии 2.0, большую важность в развитии проекта принимают соображения практичности, простоты и удобства использования среды, в том числе для неопытных или физически ограниченных пользователей.
Результатом стала разработка «Руководства по созданию человеческого интерфейса GNOME» (англ. GNOME Human Interface Guidelines, сокращённо HIG). HIG — руководство, призванное помочь разработчикам в создании высококачественных, непротиворечивых и удобных графических интерфейсов. Как одно из последствий применения HIG, многие настройки, ранее доступные в GNOME, были признаны разработчиками проекта не нужными или малозначительными для большинства пользователей и удалены из основных диалоговых окон настройки.
За локализацию среды GNOME отвечает проект перевода GNOME (англ. GNOME Translation Project). Перевод пользовательского интерфейса и документации производится с помощью инструментария gettext.
Статистика для GNOME 2.30:
- на 32 языка переведено более 90 % строк пользовательского интерфейса;
- ещё на 33 языка переведено от 50 % до 90 % строк;
- на русский язык переведено 99 % строк пользовательского интерфейса и 46 % строк документации.
Архитектура В основе среды GNOME лежит ряд библиотек и технологий. Некоторые из них разрабатываются как часть самого проекта GNOME, иные же являются результатом работы других проектов (например, freedesktop.org) и используются в других рабочих средах (KDE, Xfce).
В основном GNOME написана на языке Си, однако для библиотек GNOME существуют механизмы (так называемые привязки, англ. bindings), позволяющие использовать их из других языков. Поэтому многие приложения для GNOME пишутся на языках C++, Python, C# и других.
GTK+
Центральную роль в GNOME играет инструментарий GTK+, который предоставляет средства для создания графических интерфейсов. В состав GTK+ также входят вспомогательные библиотеки:
- GLib — библиотека удобных функций для программирования на Си;
- GObject — объектно-ориентированный каркас для программирования на Си;
- ATK — библиотека специальных возможностей для пользователей c физическими ограниченениями ;
- Pango — библиотека для вывода текста в широком спектре письменностей.
GTK+ написан на Си, однако в последнее время всё больше GNOME-приложений разрабатываются на языках более высокого уровня. Это стало возможным благодаря тому, что в GTK+ изначально предусмотрена возможность относительно простого построения интерфейсов для других языков. Официальными надстройками над GTK+ являются gtkmm, PyGTK, gtk2-perl и java-gnome.
Самостоятельная работа
[править]Самостоятельно изучить графические оболочки