Рубрика «Статьи»

X-сервер состоит из набора расширений

X-сервер состоит из набора расширений, каждое из которых реализует определённые функции: от прорисовки геометрических примитивов до ускорения обработки и вывода на экран трёхмерной графики с использованием возможностей видеоаппаратуры. Почти каждый из этих модулей можно отключить или настроить в конфигурационном файле.

DDC

VESA Display Data Channel (DDC™) — стандарт обмена информацией между монитором и графической платой, позволяющий монитору передавать данные о поддерживаемых разрешениях, частотах развёртки, производителе монитора и т. д. Модуль DDC поддерживает версии 1 и 2 спецификации DDC. В соответствии с полученными данными он устанавливает основные параметры экрана или предупреждает о несоответствии заданных пользователем параметров.

RANDR

X Resize, Rotate and Reflect Extension — расширение X-сервера, реализующее функции масштабирования, поворота и отражения корневого окна. Используется при изменении разрешения, при динамической замене монитора (например, при переключении со встроенного экрана ноутбука на внешний монитор). Рассылает запущенным приложениям предупреждения об изменении конфигурации экрана.

XRender

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

Shape

Расширение Shape предназначено для улучшения вида интерфейса пользователя. Среди его возможностей — отбрасывание тени элементами интерфейса для создания иллюзии трёхмерности; окна и кнопки с округлыми краями; возможность создавать различные фигуры, отличные от прямоугольных.

Xinerama

Расширение Xinerama позволяет представить множество мониторов как один экран. С его помощью можно выводить согласованное изображение на большие экраны, составленные из многих мониторов. Однако многие из существующих на данный момент оконных менеджеров не поддерживают или не полностью поддерживают спецификации Xinerama и поэтому показывают неадекватное изображение при использовании данного расширения.

Xv

X video extension — расширение, позволяющие ускорить вывод видеофрагментов на экран с использованием возможностей графической платы (а точнее — её драйвера) и уменьшить тем самым нагрузку на центральный процессор. Многие графические платы позволяют выводить видеоизображения в форматах кодирования цвета YUV (YUY2, I420 и т. д.), которые используются в стандартах систем аналогового цветного телевидения PAL, SÉCAM, NTSC, не переводя их предварительно в формат передачи цвета дисплея (RGB16/24/32), а также производить обратное перекодирование. Расширение Xv предоставляет информацию о доступных графических платах, количестве доступных портов (каждый порт может использовать только одно приложение), поддерживаемых форматах кодирования цвета. Всю эту информацию можно просмотреть с помощью утилиты xvinfo.

Оконный менеджер

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.

Xfce

Xfce — свободная среда рабочего стола для UNIX-подобных операционных систем, таких, как GNU/Linux, NetBSD, OpenBSD, FreeBSD, Solaris и т. п. Конфигурация данной среды полностью управляется мышью, конфигурационные файлы скрыты от пользователя.

Xfce — лёгкое настольное рабочее окружение для различных UNIX-подобных систем. Разработанное с целью повысить производительность, оно позволяет загружать и выполнять приложения быстро, сохраняя ресурсы системы

— Оливье Фурдан, создатель Xfce

Библиотеки Xfce также используются в программном обеспечении третьих сторон, самыми известными из которых является текстовой редактор Mousepad, аудио-проигрыватель xfmedia и эмулятор терминала Terminal.

Xfce основана на GTK+ 2 и использует менеджер окон Xfwm. Первоначально Xfce очень напоминала коммерческую версию CDE, но с каждой выпущенной версией отходит от данной системы (Xfce была полностью переписана дважды — между версиями 2 и 3 и между версиями 3 и 4).

Xfce воплощает в себе традиционную философию UNIX, а именно концепции модульности и возможности многократного использования. Функциональные компоненты вынесены в отдельные приложения, и пользователь имеет возможность конфигурировать систему оптимальным образом.

Файловым менеджером по умолчанию начиная с версии 4.4 является Thunar. Он напоминает Nautilus, приоритетами при разработке заявлены быстродействие и экономное использование ресурсов.

В версии 4.6 настройки будут храниться в реестре xfconf, организованном наподобие GConf, который используется в среде Gnome. Эта новость вызвала протесты у многих сторонников использования конфигурационных файлов. Разработчики объясняют свой шаг тем, что с помощью реестра станет проще конфигурировать Xfce и писать под неё приложения, используя готовую библиотеку работы с реестром.

KDE vs GNOME: еще одно размышление на вечную тему

KDE vs GNOME: еще одно размышление на вечную тему

Алексей Федорчук

15 августа 2006 г

Все пользователи POSIX-совместимых систем делятся на две категории - тех, кто использует интегрированные графические среды (так называемые десктопы) и тех, кто их не использует. Есть, конечно, еще и стойкие прFиверженцы консоли, не признающие графического интерфейса вообще, но с каждым годом (и ростом числа новообращенных POSIX’ивистов) относительное их число все более сокращается.

С теми, кто интегрированные среды не использует, все ясно: в их распоряжении изобилие менеджеров окон, имя которому - легион. А вот у приверженцев интеграции выбор совсем невелик. И до недавнего времени он вообще сводился к альтернативе, вынесенной в заголовок. Правда, можно ожидать, что скоро к KDE и GNOME добавится XFce, обретающий постепенно качества истинно интегрированного десктопа, однако пока он до этого звания еще не дотягивает.

Полноты картины ради отмечу, что есть еще несколько программ, претендующих на звание интегрированной среды - о них можно прочитать здесь: http://xwinman.org/otherdesktops.php. Однако это либо а) самосборные среды на базе менеджера окон и разнородных приложений (FVWM-Crystal), либо б) сугубо экспериментальные разработки (3D-Desktop или UDE), либо в) либо “недо-десктопы”, крутящиеся вокруг одно приложения (как ROX - в сущности, просто файловый менеджер, хотя и удобный).

Для начала - пара слов о том, чем десктопы отличаются от менеджеров окон. Главной задачей последних, как явствует из их названия, является управление поведением окон - открытием и закрытием, перемещением, масштабированием, передачей фокуса и переключением между окнами. И есть немало оконных менеджеров, функциональность которых этим и ограничивается. - не от бедности, а, так сказать, от жадности (точнее,экономного отношения к наличным ресурсам). Однако большинство широко используемых оконных менеджеров предоставляет и дополнительные функции - как минимум, средства для запуска приложений и навигации по ним. Кроме того, в них часто включаются собственные конфигураторы, средства управления внешним видом окон, а также мелкие утилиты типа часов, системных мониторов и тому подобных облегчающих жизнь мелочей.

Интегрированные среды могут иметь собственные менеджеры окон, как KDE и XFce. Но это для них как раз не обязательный компонент - в частности, GNOME собственного WM не содержит, а может пользоваться возможностями ряда совместимых оконных менеджеров. Главными же компонентами десктопов оказываются а) средства собственного конфигурирования и б) базовый набор приложений, объединяемых сквозным интерфейсом. Единство интерфейса обеспечивается использованием определенных наборов библиотек, которые, таким образом, оказываются неотъемлемой частью десктопа.

Идея интегрированных сред пришла в мир Open Source из проприетарных Unix-систем, где с давних пор развивался декстоп под названием CDE, основанный на библиотеке Motif. Ни сама CDE, ни ее базовая библиотека не были свободными программами, и потому их использование в Linux или BSD оказывалось невозможным. И потому во второй половине 90-х годов начали развиваться проекты по созданию свободных интегрированных сред.

И тут дело в первую очередь упиралось в разработки собственных библиотек - единственная полнофункциональная графическая библиотека, Motif, как я уже говорил, в те годы не была свободной. А ее свободный клон, Lesstif, использовавшийся во многих менеджерах окон, по своей функциональности сильно не дотягивал до прототипа. И тут помощь пришла со стороны: в 1996 году началась разработка растрового графического редактора Gimp, под который была создана библиотека Gtk (GIMP ToolKit). Именно она и легла в основу первого свободного десктопа - GNOME, который довольно быстро стал рабочей средой по умолчанию в ряде популярных дистрибутивов (в частности, Red Hat).

Вторым путем к созданию интегрированной среды - оказалась возможность использования кросс-платформенной библиотеки Qt, созданной норвежской фирмой Trolltech (на ней основывалась и основывается известный барузер Opera). Сама по себе эта библиотека не была свободной, но ее лицензия допускала бесплатное использование в некоммерческих проектах, в том числе и проектах Open Source. Она-то и легла в основу второй интегрированной среды - KDE. Правда, вследствие коммерческого характера базовой библиотеки отношение к ней было сначала очень сдержанное. И первым дистрибутивом, в который KDE была включена как десктоп по умолчанию, стал Mandrake (1998 год).

Дальнейшее развитие десктопов шло в разных направлениях. Хотя, применительно к GNOME, говорить о каком-либо определенном направлении достаточно сложно. Первоначальный замысел его создателей, насколько я его понимаю, был - создать среду, не похожую ни на что. Этой цели было подчинено все - вплоть до оконного менеджера по умолчанию, каковым выступал Enlightenment, невероятно эффектный, но, по крайней мере в те годы, не очень удобный в настройке и использовании.

Затем вектор развития сменился на противоположный - и в устах основоположников проекта стали проскальзывать слова о создании Windows-подобной среды, которая будет большим Windows, чем прототип. Третья же парадигма, действующая и поныне, - создать простую среду для простого пользователя, не доучая ему “моралью строгой” - то есть многочисленными настройками, которые, как и плезиозавры, народу не нужны

Развитие же KDE было скучным, плоским, даже линейным. Версии первой его ветки, которые мне довелось увидеть в 1998-1999 годах, не поражали воображение ни дизайнерскими изысками, ни какими-то сверхъестественными фичами. Навевая ассоциации с унылым индустриальным пейзажем, видным из окон микрорайона современного мегаполиса. Но они отличались одной особенностью - все в них работало, работало стабильно и, по сравнению с GNOME, относительно быстро.

Вторая ветка KDE привнесла в эту среду оригинальность с точки зрения функционала: именно в ней убогий IE-подобный kfmanager сменяется покорителем файловых пространств konqueror’ом, а место удручающих kedit и kwrite занял kate. Впрочем, во всей красе они развернулись только в третьей ветке, каковая и является на данный момент текущей. И которая подарила миру десктопов функции, ранее обеспечивавшиеся только X-серверами - в частности, управление шрифтами и клавиатурой. Кстати, и с эстетической стороны KDE претерпело разительные изменения от первой до третьей ветки. Правда, следы “индустриального” происхождения можно видеть в ней и по сию пору.

С первых же дней сосуществования GNOME и KDE между приверженцами этих сред развернулись чуть ли не религиозные войны, усугубившиеся идеологическими соображениями. К настоящему времени идеологическая составляющая этого противостояния оказалась исчерпанной. Библиотека Qt, кроме сугубо коммерческой лицензии, распространяется также (для некоммерческого использования) и под открытой лицензией QPL, совместимость которой с GPL не ставится под сомнение даже самыми строгими пуристами от свободного софта. Однако технологическая сторона противостояния GNOME vs KDE не только не сгладилась, но даже несколько обострилась. Правда, в основном со стороны их пользователей. Майнтайнеры универсальных дистрибутивов ныне включают оба десктопа в штатные свои комплекты, как правило, предоставляя выбор между ними на стадии инсталляции. А разработчики сторонних программ, вне зависимости от используемых базовых библиотек, все чаще предусматривают интеграцию своих продуктов в обе среды.

Эта заметка - еще один вклад в священную войну десктопов. Сразу оговорюсь - в ней я даже не пытался быть беспристрастным. Потому как использую KDE с самых первых ее версий (тех, что были в Mandrake 5.1 и 6.0/RE), правда, с перерывами, вызванными увлечением WindowMaker и всяческими box’ами. И полагаю эту среду вполне подходящей как для начинающих пользователей, так и для тех, кому надоели работы по сборке собственного десктопа.

Что же до GNOME… начиная с того же 1998-го, неоднократно ставил его, пытаясь проникнуться величием этого десктопа - и каждый раз безуспешно. И даже недавнее обсуждение этого вопроса на http://forum.posix.ru не изменило моего мнения. Так что можете считать эту заметку апологией KDE. Буду рад, если она подвигнет кого-либо на сочинение, продемонстрирующее, наконец, несравненные достоинства GNOME и, особенно, его приложений.

Итак, по каким критериям можно сравнивать десктопы? Во-первых, по удобству выполнения элементарных действий - запуска программ, манипуляции окнами и запущенным приложениями, и так далее.

Во-вторых, по богатству и удобству средств собственного конфигурирования.

И в-третьих, и, с моей точки зрения, главных, - по набору штатных приложений и их функциональности. Потому что

именно ими и определяется целесообразность использования интегрированных сред - собрать свой десктоп из подходящих программ разного происхождения, на базе любого оконного менеджера, может каждый.

Начнем с так называемого удобства. Так называемого - потому что понятие это весьма субъективное, и во многом зависит просто от сложившихся привычек. Кроме того, вид и поведение интерфейсных элементов обеих сред могут быть модифицированы в очень широких пределах. Не говоря уже о том, что они во многом определяются текущим менеджером окон - а и в GNOME (своего менеджера окон, как мы помним, не имеющего), и в KDE заменить их можно достаточно легко.

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

Так что любые сравнительные оценки удобства использования KDE и Gnome носят абсолютно субъективный характер. Так что позволю себе и я высказать свое сугубо субъективное мнение: KDE существенно удобнее в использовании, чем Gnome. Правда, не в умолчальном своем состоянии, а после некоторых настроек, как то (рис. 1):

1. перенесения главной панели в верхнюю часть экрана (для сокращения амплитуды перемещения мыши между нею и меню запущенной программы)
2. уменьшения размера пиктограмм;
3. сокращения длины панели до 90% от ширины экрана (зачем скоро станет ясным);
4. выноса на панель наиболее часто используемых приложений и командной строки минитерминала;
5. ликвидации сакраментальной кнопки K - запуск приложений осуществляется из контекстного меню рабочего стола по щелчку правой кнопкой мыши;
6. увеличения количества рабочих столов по потребностям.