LXF82:XGL

Материал из Linuxformat.

Перейти к: навигация, поиск

Содержание

Третье ИЗМЕРЕНИЕ

Часто в фантастических фильмах, рассказывающих о будущем, можно видеть, как пользователь использует при работе с компьютером трехмерный рабочий стол. Но зачем так долго ждать? С будущим можно соприкоснуться уже сегодня, а вашим гидом будет Сергей Яремчук.

Операционная система GNU/Linux, построена по принципу KISS (Keep It Simple Stupid). В отличие от других ОС, в ней не намешан коктейль из приложений, намертво «вшитых» друг в друга. Философия построения системы, напротив, состоит в использовании небольших по размеру приложений, которые работают независимо друг от друга. При необходимости совместного использования, их всегда можно объединить как непосредственно в командной строке, так и в скриптах при помощи графической оболочки. Кроме того, любой из компонентов заменим на альтернативный, при наличии такового. Графическая подсистема X Window — яркий тому пример. Она не интегрирована в систему, что позволяет вообще ее не устанавливать в случае отсутствия необходимости, а ее сбой никак не сказывается на работе основной системы. Кроме того, существует несколько ее вариантов, наиболее популярные из которых XFree86 (http://www.xfree86.org/) и X.Org (http://www.x.org/). Здесь работает тот же принцип, поэтому Х-Window так-же состоит из нескольких компонентов, а клиент-серверная архитектура позволяет устанавливать их вообще на разных компьютерах. Поэтому и оконных менеджеров и различных расширений в этой системе столько, что вряд ли кто-то возьмется их пересчитать. Каждый проект выражает подход конкретного человека или группы энтузиастов, поэтому нестандартных решений здесь пруд пруди. Если Gnome, KDE, IceWM напоминают традиционный рабочий стол, то Fluxbox довольно аскетичен по внешнему виду, а разработчики Symphony OS (http://www.symphonyos.com/) вообще целиком и полностью пересмотрели концепцию рабочего окружения пользователя. Естественно, нашлись и такие проекты, которые уже сегодня смотрят в будущее, причем выбор здесь не ограничен известным XGL от Novell. Единственное ограничение — многие из разработок требуют наличия хорошей видеокарты.

Переключатель рабочих столов 3D-Desktop

Разработкой 3D-Desktop (См. врезку 1) занимается фактически один человек: Брэд Вэссон (Brad Wasson). Эта программа, использующая OpenGL/Mesa, позволяет переключать рабочие столы в наглядном 3D-режиме. Выглядит это очень эффектно. После активации пользователю показываются трехмерно расположенные изображения всех виртуальных рабочих столов, которые можно вращать и просматривать. По щелчку на одном из изображений будет осуществлен переход на выбранный виртуальный стол.

Конструктивно 3D-Desktop состоит из двух программ: демона 3ddeskd и переключателя 3ddesk. Демон работает в фоновом и обеспечивает более быструю реакцию, а также кэширование информации об открытых окнах на всех виртуальных столах. Запуск демона лучше произвести отдельно и с опцией --acquire, тогда будут собраны изображения со всех рабочих столов.

Дополнительно можно указать время автоматического обновления (в миллисекундах) этой информации.

$ 3ddeskd --acquire=1000
===================================
3ddesktop will be acquiring images in one
moment. Please wait...
===================================
Daemon started. Run 3ddesk to activate.

В некоторых случаях для корректной работы, возможно, потребуется принудительно указать используемый оконный менеджер при помощи опции --wm. Поддерживаются следующие варианты: kde2, kde3, gnome1, gnome2, ewmh, fluxbox, windowmaker, enlightenment, sawfishonly и workspaces. Задача 3ddesk — активация сервера, если он еще не запущен и переход в режим переключения рабочих столов. Для компиляции потребуются пакеты XFree86-devel или Imlib2-devel, либо исходные тексты этих приложений. Для работы желательна аппаратная поддержка 3D-ускорения.

Рисунок 1. При помощи 3D-Desktop можно переключать виртуальные рабочие столы.
Рисунок 1. При помощи 3D-Desktop можно переключать виртуальные рабочие столы.

Поддерживаются несколько вариантов размещения и оформления окон. Внешний вид можно скорректировать по своему усмотрению. Так по умолчанию окна выводятся каруселью (carousel) (Рис. 1) и при просмотре поворачивается на 1800 в горизонтальной плоскости. Но можно указать и другие варианты: linear, cylinder, viewmaster, priceisright, flip. Выбор варианта показа осуществляется при помощи опции --mode.

$ 3ddesk --mode=linear

Все настройки оформлений сохранены в файле 3ddesktop.conf, который состоит из нескольких секций описывающих название и параметры вывода. Например:

wm kde3
view default
zoom on
show_digit on
digit_size 100
digit_color green
use_breathing false
view bigmoney
mode priceisright
depth 10
digit_color purple
digit_size 150

Параметров много и показ рисунков можно очень тонко настроить. Нужная секция выбирается при помощи опции --view с указанием имени.

$ 3ddesk --view= bigmoney

Для удобства запуска 3ddesk можно создать ярлык на рабочем столе. Например, в KDE для этого достаточно щелкнуть правой кнопкой мыши по пустому месту рабочего стола, выбрать «Создать»->"Ссылку на приложение". В появившемся окне, во вкладке «Общие» нужно указывать название ярлыка, в «Права» дать ему право на выполнение, и в «Приложение» в строке «Команда» записать строку запуска вида /usr/bin/3ddesk --view= bigmoney. Теперь по щелчку на ярлыке будет запускаться переключатель рабочих столов, при желании можно указать и комбинацию клавиш.

Трехмерный рабочий стол

Рисунок 2. Metisse обладает всем, что можно представить в трехмерном рабочем столе.
Рисунок 2. Metisse обладает всем, что можно представить в трехмерном рабочем столе.

Metisse (Рис. 2) не является трехмерным рабочим столом в чистом виде. Задачи этого проекта несколько шире и включают разработку и тестирование прогрессивных методов и стандартов. Это, скорее, инструмент для создания новых рабочих сред. Одним из вариантов реализаций такой среды и является 3D. Для установки, кроме самого Metisse, вам понадобится библиотека Nucleo и WMI (Window Manager Icons). Конструктивно Metisse состоит из виртуального X-сервера Xwnc (содержащего код Xvnc и XDarwin), переработанной версии FVWM (исполняемый файл называется fvwmi), и модуля FVWM FvwmAmetista. При помощи меню «Ametista Config» можно настроить некоторое количество параметров, среди которых: изменение прозрачности окон в процессе перемещения, параметры кривизны относительно рабочего стола и его вид, панель, цвет, некоторые реакции на события. Для более глобальных настроек потребуется отредактировать конфигурационный файл. Здесь уже указываются приложения, значки которых будут выводиться в меню, используемые шрифты, количество виртуальных рабочих столов, стиль окна, фоновое изображение. Настройке поддается практически все.

Файловые менеджеры

В GNU/Linux существует большое количество файловых менеджеров, на любой вкус и цвет — от традиционных вроде Midnight Commander, до современных, обладающих большим количеством опций Konqueror или Krusader. При желании можно добавить в них и третье измерение. Например, fsv (3D File System Visualizer) позволяет в более интуитивной и наглядной форме показать пользователю содержимое файловой системы. Для этого он переводит некоторую информацию о файлах и каталогах (например, относительные размеры), которые выводятся затем в 3D виде. На разработку fsv студента факультета информатики Массачусетского технологического университета Даниеля Ричарда (Daniel Richard) подтолкнул кадр из фильма Стивена Спилберга «Парк Юрского периода», в котором была показана экспериментальная разработка компании SGI — 3D File System Navigator (http://www.sgi.com/fun/freeware/3d_navigator.html) работающая под Irix. В fsv каждый показанный объект будет выделен цветом и объемом в соответствии со своими свойствами: размер, тип (каталог, файл, сокет), временем модификации. Для установки потребуется наличие gtk и gtkglarea.

Рисунок 3. Музыкальные файлы в TDFSB представлены в виде дисков.
Рисунок 3. Музыкальные файлы в TDFSB представлены в виде дисков.

Другая подобная разработка TDFSB - (3D — Filesystem Browser) показывает файловую систему в виде трехмерного мира, по которому можно перемещаться при помощи мыши и клавиатуры. Чтобы зайти внутрь каталога, достаточно щелкнуть по нему мышкой. Музыкальные mp3-файлы показаны как CD (Рис. 3), щелчок по «диску» приведет к прослушиванию композиции, аналогичная реакция будет при щелчке по видео-файлу или изображению. Кроме Linux и FreeBSD TDFSB портирован также в BeOS и MorphOS. Текущая версия — 0.0.9, но она, несмотря на такой маленький номер, работает стабильно.

ПОЛЕЗНЫЕ ССЫЛКИ
  1. Сайт проекта 3D-Desktop — http://desk3d.sourceforge.net/
  2. Сайт проекта Metisse -http://insitu.lri.fr/~chapuis/metisse/
  3. Сайт проекта fsv — http://fsv.sourceforge.net
  4. Сайт проекта TDFSB — http://www.determinate.net/webdata/seg/tdfsb.html
  5. Библиотека Nucleo — http://insitu.lri.fr/~chapuis/software/metisse/nucleo-0.1-20041216.tar.bz2
  6. Сайт Window Manager Icons — http://wm-icons.sourceforge.net/
  7. Сайт проекта ps3 — http://user.tninet.se/~uhu537u/ps3.html
  8. Утилита Glload — http://reality.exsgi.org/eile/misc/glload-0.4.2.tar.gz
  9. Сайт FileCityMap — http://thisiselliot.homeip.net/
  10. Сайт s3d — http://s3d.berlios.de/
  11. Сайт True3D*Shell — http://www.sixtyfourbit.org/3dshell.htm

Немного по-другому выводит информацию FileCityMap. В котором движение по каталогам файловой системы, напоминает путешествие по городу. Скрипты здесь выглядят знаками «Стоп», архивы — мусорными ящиками и т. д. True3D*Shell (см. ссылку 11) так же является трехмерным файловым менеджером и чем-то напоминает предыдущую разработку. Пользователь может просматривать как локальные, так и доступные по сети файлы. Кроме того, имеется режим робота, позволяющий автоматизировать просмотр.

Проект s3d (см. ссылку 10) представляет трехмерный сетевой дисплейный сервер, который также может быть использован как настольная среда. Построенный по клиент-серверной схеме (подобно X-серверу), сервер s3d запускается на компьютере пользователя и ожидает запросов от клиентов на вывод содержимого приложений, которые должны быть преобразованы на сервере.

Вывод информации о процессах

Рисунок 4. ps3 выводит таблицу процессов в очень наглядной форме.
Рисунок 4. ps3 выводит таблицу процессов в очень наглядной форме.

Linux является многозадачной системой, в которой одновременно выполняются сотни процессов. Для их вывода информации о запущенных процессах традиционно используются утилиты ps и top или какойлибо графический инструмент. Утилита ps3 (см. ссылку 7) выводит таблицу процессов в виде блоков на вращающемся диске (Рис. 4), подобно тому, как TDFSB показывает файловую систему. Перемещаясь при помощи клавиатуры, можно рассмотреть имя процесса, если подойти к выбранному столбцу «с другой стороны», то будет показан номер PID. Высота сообщает, сколько памяти занимает процесс, а цвет — сколько он потребляет ресурсов процессора. Поэтому, запустив утилиту, сразу можно увидеть какой из процессов самый «жадный». Относительные пропорции выводимого изображения и направления вращения можно изменять при помощи мыши. Для этого, необходимо, придержав кнопку мыши двигать ее вниз/верх (пропорции) или вправо/влево (вращение). Кроме того, можно использовать предустановленный режим вывода информации, доступный по клавишам F1-F6. Практически аналогичные возможности предоставляет и другая утилита GLload (cм. ссылку 8). В командной строке или по щелчку правой кнопкой в контекстном меню можно дополнительно вывести дату, время, метку и внешний вид.

Это далеко не все проекты. Так, например glbiff выведет крутящийся рисунок при поступлении почтового сообщения полученного посредством fetchmail.

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

Личные инструменты
  • Купить электронную версию
  • Подписаться на бумажную версию