Kомпьютер Dрыгался Eдва
Архив
Этот мир - эти горы, долины, моря -
Как волшебный фонарь. Словно лампа - заря.
Жизнь твоя - на стекле нанесенный рисунок,
Неподвижно застывший внутри фонаря.
Все, что видим мы, - видимость только одна.
Далеко от поверхности мира до дна.
Полагай несущественным явное в мире,
Ибо тайная сущность вещей - не видна.
Омар Хайям
Все эти гигагерцы, гигабайты и мегабиты в секунду совершенно бесполезны, если ими нельзя воспользоваться. Компьютер обретает черты инструмента лишь после того, как его мощь становиться доступной посредством интерфейса пользователя - того, с чем непосредственно взаимодействует человек. Основа системы может быть функциональной, элегантной, надежной, но если интерфейс неудобен - все насмарку. Встречают ведь по одежке. Если мы имеем дело с командной строкой, то в умелых руках она оказывается гибким и мощным средством, но для неискушенного пользователя становится неодолимым препятствием. Хорошо ли, плохо ли, но именно благодаря графическому интерфейсу пользование компьютером стало «интуитивно понятным», а сам компьютер как инструмент стал доступен многим людям.
Современная парадигма графического интерфейса хороша для доведения информации от компьютера до пользователя. Но при смене направления на обратное (от пользователя к компьютеру) проблемы остаются - как у человека, так и у компьютера. Человек за свою историю развил мощный инструмент для передачи и манипуляций с информацией и знаниями - язык. Частично этот инструмент используется при взаимодействии с компьютером, главным образом, программистами. Но графический интерфейс из (спорных) соображений «интуитивной понятности» и «простоты использования» фактически подменил этот язык иконками-пиктограммами и мышиной возней. Я не противник графического интерфейса как такового, но его изъяны почему-то вижу. Если посмотреть на эволюцию человеческого языка, можно заметить такую последовательность: пиктограммы - иероглифы - слоги - буквы (звуки). С этой точки зрения мне представляется, что развитие графического интерфейса пользователя находится лишь в начальной стадии (как ни удивительно). Но все это в будущем, а работать нужно уже сейчас.
Если на платформе Wintel весь выбор графических интерфейсов сводится к отсутствию выбора [1] («Вы можете купить любой автомобиль и любого цвета, если это «Форд» и его цвет черный»), то для *n[iu]x выбор есть. И это хорошо. Потому что именно графический интерфейс - это то, с чем человек имеет дело постоянно (он всегда перед глазами). И выбор подходящего интерфейса - дело очень субъективное, и даже интимное. Здесь важны не только особенности мышления конкретного человека, но и его культурные, социальные и даже национальные черты («что русскому хорошо, то немцу смерть»). Интерфейсы разрабатывают люди, и поэтому неудивительно, что их привязанности и привычки отражаются в разработке. Так, GNOME в основном разрабатывается в США, стране прерий и «Харлеев», ковбоев и «биг-маков». Буйство фантазии, желание «сделать красиво» и часто - отсутствие последовательности в интерфейсах программ (как следствие необузданной Свободы).
В Европе же свой кумир - K Desktop Environment (KDE, буква K ничего особенного не обозначает). Этот интерфейс основан на C++ библиотеке классов Qt норвежской фирмы TrollTech и развивается главным образом усилиями европейских волонтеров (особенно в Норвегии и Германии). И это, безусловно, накладывает свой отпечаток. Строгость и сдержанность, тщательная проработка деталей и педантичность - вот о чем вспоминаешь, глядя на KDE.
Изменение в номере версии программы первой цифры обычно следует понимать как «существенные, революционные изменения». Поэтому, несомненно, выход KDE 2 (он же Kopernicus) - событие выдающееся, хотя похоже, что оно из разряда «поперед батьки», - готовились-то к выходу Linux 2.4, который, почти однозначно, откладывается до следующего года (для свободного программного обеспечения не уложиться в планируемые сроки не является криминалом, здесь критерий - готовность). Разработчики KDE «немного опередили события».
Прежде чем приступить к анализу особенностей KDE 2, думаю, стоит рассмотреть сопровождающие его выход «политические» события. Одной из «священных коров» движения свободного программного обеспечения (и Linux в частности) является лицензия GPL (GNU General Public License). До сих пор одним из самых убедительных аргументов против KDE для многих было то, что у библиотеки Qt была лицензия QPL (Q Public License). Различие на одну букву в аббревиатуре означало, что Qt не совсем свободна (хотя и свободно доступна), что и служило причи ной для ломания копий, а из стана разработчиков основного конкурента, GNOME, постоянно слышались упреки по этому поводу. Составители наиболее щепетильных в отношении свободы дистрибутивов (например, Debian) отказывались признать KDE.
Более того, под лозунгом создания стандарта интерфейса пользователя в августе был образован союз GNOME Foundation. Как ни парадоксально, стандарты - еще одна «священная корова» свободного программного обеспечения. И для TrollTech это, по-видимому, стало последней каплей, она не выдержала, и у Qt начиная с версии 2.2 на выбор добавился еще один вариант лицензии - GPL [2]. Таким образом, обвинения в несвободе были сняты. Теперь даже принципиальный Debian согласен принять в себя KDE. Но GNOME Foundation и не подумал самораспуститься. И тут последовал еще один ход. На последней выставке «Comdex Fall 2000» ряд фирм, включая IBM, Caldera, Compaq, Corel, SuSE и TrollTech, посовещались и решили образовать KDE League, пообещав при этом поддержать KDE разными технологиями (IBM, например, дарит свою технологию распознавания речи ViaVoice). Справедливости ради нужно сказать, что многие фирмы входят в оба союза. Вот такие страсти-мордасти. При этом паритет сил у GNOME и KDE сохранился. И какой интерфейс станет таки стандартным, не совсем понятно, но, может, это и к лучшему.
Один из дистрибутивов, Mandrake, всегда отличался теплым отношением к KDE, а одно время делал его графическим интерфейсом пользователя по умолчанию. Поэтому неудивительно, что Mandrake Linux 7.2 включает в себя KDE 2. Сам по себе дистрибутив интересный, в нем много новаций и чувствуется желание облегчить жизнь «простому» пользователю. Он построен на основе ядра Linux 2.2.17 и содержит две версии XFree - 3.3.6 и 4.0.1, одну из которых можно выбрать в зависимости от имеющейся видеокарты (более «старая» версия лучше обкатана, но некоторые возможности свежих видеокарт при этом не поддерживаются).
Предположим, что он уже установлен и мы попали в KDE 2.
Если посчитать уже привычными стол с иконками, панель быстрого запуска и меню «Старт» (рис. 1), то инструмент, который сразу бросается в глаза, - это Konqueror. Вообще-то это браузер, но вобравший в себя многие возможности. По виду он похож на Windows Explorer: слева располагается дерево каталогов, справа - их содержимое. Но не все так просто. Если кликнуть на какой-либо файл, то в зависимости от его типа справа оказывается его содержимое: будь то текстовый документ, рисунок или страница HTML (рис. 2). На самом деле штука очень мощная - Konquerror построен по компонентной архитектуре и поддерживает весь букет Internet-технологий: JavaScript, Java, HTML 4.0, CSS-1 и CSS-2 (Cascading Style Sheets), SSL (Secure Socket Level), а также plug-in от Netscape Communicator, например, Macromedia Flash, RealAudio/Video. То есть это полноценный браузер. Получается универсальное средство навигации как по локальной файловой системе, так и по сети и Интернету (поддерживаются NFS, SMB, HTTP, FTP и т. п.). При этом файловый менеджер KFM, входивший в состав KDE 1.x, канул в Лету.
Другой важной особенностью KDE 2 является очень гибкий и мощный комплекс средств настройки интерфейса (рис. 3). Во-первых, это Центр управления KDE (с Мерлином и волшебной палочкой), который позволяет настроить по своему вкусу буквально все составляющие интерфейса: фон, меню, панель быстрого запуска, скринсейвер и т. д. Но самое интересное, что есть возможность полностью поменять стиль интерфейса, сэмулировать вид и особенности других интерфейсов (тех же GNOME, Windows, NeXTStep, CDE, Motif) - меняется обрамление окон, расположение системных кнопочек, вид меню, кнопочек, чек-боксов, полос прокрутки и других органов управления. Здесь в полную силу работает style engine Qt. Поддерживаются и темы GNOME. Если отвлечься от технологий программирования (в основе GNOME лежит C-библиотека gtk+), получается, что другие графические интерфейсы как бы и не нужны.
Помимо того что практически все настройки делаются из Центра, вызов многих из них продублирован в меню KDE 2. Также хочется отметить kpackage - очень удобное средство работы с пакетами RPM (если учесть, что их обычно очень много, то инструмент просто необходимый). Вообще, последнее время графическим средствам конфигурирования и настройки в Linux уделяется очень много внимания - ведь это одна из важнейших составляющих движения навстречу «простому» пользователю. Хотя программа LinuxConf и не привязана к KDE, но является мощным инструментом настройки системы в целом, и изменения, которые я в ней обнаружил, очень порадовали.
Другой важный аспект пользовательского интерфейса - это работа с документацией. И здесь всемогущий и вездесущий Konqueror на высоте (рис. 4). Следует отметить, что в KDE, как отражение его европейского происхождения, неплохо обстоит дело с локализацией. В частности, очень много документации на русском языке.
Но при всем при том следует отметить, что локализация (русификация) выполнена не безупречно. В ряде программ (например, почтовом клиенте KMail) проблемы с русскими шрифтами после установки остаются.
В состав KDE 2 входит более сотни различных прикладных программ, поставляющихся в пакетах Administration (настройки и конфигурирование), Games (игрушки), Graphics (средства работы с графикой), Multimedia (работа со звуком, видео), Network (средства работы в сетях и Интернете), PIM (органайзер), Toys (примочки), Utilities (утилиты). В целом это составляет джентльменский набор графического интерфейса пользователя - инфраструктуры для работы с прикладными программами.
Но, пожалуй, самым «знаковым» событием можно считать появление KOffice, долгожданного офиса для KDE (рис. 5). В его состав входят KSpread (электронная таблица), KIllustrator (редактор векторной графики), KWord (текстовый процессор), KPresenter (создание презентаций), KChart (построение графиков и диаграмм), а также как средство интеграции KOffice Workspace. Нужно отметить, что офис построен по компонентной архитектуре (в основе лежит KParts), а формат файлов построен на основе XML. KOffice производит очень хорошее впечатление, хотя эксперименты с его составляющими показали, что не все функции еще работают (впрочем, это ведь только пререлиз). Но в целом его уже вполне можно использовать в работе.
Особо хочется отметить технологии KParts и KIO, во многом определяющие описанные возможности KDE 2. KParts - это компонентная объектная технология, по сути, выполняющая ту же роль, что и COM в Windows. Вообще-то вместо KParts должна была быть CORBA, но разработчики оказались не готовы к работе с ней, да и медленно все это функционировало. Но удалось быстро написать подмножество CORBA, правда, не совместимое со стандартом, потерявшее распределенность, но, с другой стороны, компактное, быстродействующее и удобное в работе. Это, конечно же, решение, но до поры до времени, распределенная компонентная система все равно понадобится. KIO - это архитектура ввода/вывода с «прозрачной» работой в сети (поддерживает работу с файловой системой Linux, а также NFS, SMB, HTTP, FTP, LDAP).
Нужно упомянуть и о мультимедийной архитектуре на основе aRts (Analog Realtime Synthesizer), позволяющей одновременно воспроизводить несколько аудио- и видеопотоков, но что-то с ней у меня возникли проблемы (потом оказалось, не только у меня).
KDE 2 способен функционировать не только под Linux, но и под Solaris, FreeBSD, NetBSD, OpenBSD, IRIX, HP-UX, LinuxPPC.
[i37429]
1 (обратно к тексту) - Это не совсем так. Существует ряд альтернативных менеджеров рабочего пространства для Microsoft Windows (в «Компьютерре» к этой теме обращался Сергей Голубицкий, см. ## 288 и 371-372). - Ред.
2 (обратно к тексту) - Под GPL лицензируется только версия для Linux. - Ред.