Home Map Index Search News Archives Links About LF
[Top Bar]
[Bottom Bar]
[Photo of the Author]
Джеффри В. Кори
Об авторе: Компьютеры - мое хобби и профессия, однако моя жизнь состоит из моей семьи. Я - гордый отец 4-летнего мальчика Джошуа и 10-месячных близнецов, Аарона и Райана. Дженнифер, моя жена, лучшая из всех жен и поддерживает меня в моей странной компьютерной карьере. В настоящий момент я работаю в одном небольшом кадровом агентстве ClientLink и специализируюсь на очень больших базах данных и объектно-ориентированном анализе и дизайне.

Написать автору


Содержание:
Вступление
Установка
Компиляция исходного кода
Настройка Enlightenment
Будущее Enlightenment

Enlightenment

[Ilustration]

Аннотацая: Enlightenment является менеджером окон для Linux с очень большой степенью конфигурируемости. В этой статье обсуждаются возможности, установка и настройка менеджера окон Enlightenment. Текущая версия Enlightenment все еще считается на стадии разработки. Предполагается, что читатели этой статьи обладают хорошими знаниями в создании и компиляции програм для Linux.




Вступление

Enlightenment является менеджером окон с насыщенной графикой. Авторы Enlightenment создали менеджер окон, который позволяет пользователям сконфигурировать любой аспект внешнего вида окна. Дни, когда многие другие операционные системы диктовали прямоугольные окна, теперь в прошлом. Enlightenment вернул радость в мир компьютеров! Вы можете вызвать зависть у всех на работе, достаточно просто загрузить тему по умолчанию, которая поставляется с Enlightenment. Если Вы хотите, чтобы они выпали в осадок, то загрузите темы Aliens или Neuromancer. Это всего лишь две темы из что-то около 20 тем, из которых можно выбирать. Все созданные темы есть на веб-сайте Enlightenment http://www.enlightenment.org/themes.

Предупреждение: вероятно Вам потребуется достаточно мощные процессор и видеокарта, чтобы в достаточной мере насладиться этим менеджером окон. В настоящий момент Enlightenment стоит у меня дома на Pentium 90 с видеокартой Vision 864 S3 с 2 МБ памяти. Я бы рассматривал такой вариант как абсолютный минимум. Однако существуют темы с менее жесткими требованиями, такие как Executive.

Далее идет краткий обзор темы по умолчанию (DEFAULT) для Enlightenment.
В верхнем правом углу расположены кнопки десктопа (рабочего стола). Кликнув по этим кнопкам, Вы можете запустить такие программы, как xterm, netscape, gimp и другие. Если Вы кликните по одной из трех последних кнопок, то появятся небольшие картинки, которые Вы сможете выбрать в качестве фонового рисунка.

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

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

В середине экрана Вы увидите всплывающие меню. Всплывающие меню можно увидеть кликнув правой, средней или левой кнопкой мыши по десктопу.

Тема по умолчанию
Enlightenment Screenshot
Тема Obsidian
Obsidian Theme
Существует большое количество приложений для Enlightenment. Исследуйте http://www.enlightenment.org и посмотрите на Eterm и Eplus. Eterm даст Вам симпатичную версию rxvt and Eplus добавит все остальное! Eplus состоит из CD-плейера, email-нотификатора, монитора состояния и большого количества другой полезной мелочи, которая может ошеломить тех, кто работает с Вами! Внешний вид Eplus, также как Enlightenment, может быть сконфигурирован. В духе Enlightenment можно создавать и другие программы. eMusic просто необходимо загрузить. eMusic является отличным проигрывателем mp3, MOD и компакт-дисков. В истинном духе Enlightenment вид плейера также может быть сконфигурирован.

Здесь приведен рисунок темы Obsidian. Вы можете видеть, насколько эта тема отличается от темы по умолчанию. Нижний ряд представляет собой Ваши виртуальные десктопы. Второй ряд содержит иконки Ваших меню, панель иконок и Eplus.

Компьютерное творчество во многом сущесвует благодаря тем, кто создал Linux!

Установка

Установка может быть достаточно сложной, если Вы не знакомы с Makefile и библиотеками. Напомню, Enlightenment находится на стадии разработки. Я успешно установил Enlightenment на Debian 1.3.1 и RedHat 5.0. С Debian было немного проще, так как на CD были библиотеки jpeg, png, tiff и z. Enlightenement требует Imlib, которая использует эти бибилотеки. В RedHat это было немного труднее, так как библиотеки C были обновлены (очевидно имеются в виду библиотеки glibc2 - прим. перев.), поэтому здесь я буду рассказывать об установке в RedHat. Более подробные указания по установке находятся на веб-сайте Enlightenment. Для большей уверенности, что перед компиляцией/установкой Enlightenment в Вашей системе установлены все необходимые библиотеки, выполните инструкции на этой странице. Я кратко объясню, как я установил Enlightenment, и расскажу о том, что пришлось сделать при возникших проблемах.

Прежде всего, Вам понадобятся самые новые библиотеки для Imlib, которые есть на http://www.labs.redhat.com/imlib. Большинство проблем возникает из-за того, что Вы установли новые библиотеки, а старые оставили. Для всех библиотек есть RPMы. Проверьте содержимое /usr/lib на наличие дубликатов библиотек z, tiff, jpeg, png и Imlib. Почистите его, должны остаться самые новые.

Теперь RPM для Enlightenment. Вы можете попробовать установить этот RPM и посмотреть, работает ли он. Для запуска Enlightenment откройте свой .xinitrc, расположенный в Вашем домашнем директории, и добавьте следующую строчку:

exec /usr/local/enlightenment/bin/enlightenment

Сохраните файл и затем в командной строке введите приведенную ниже строку и нажмите Return. Замечание: Enlightenment обладает превосходной графикой и его лучше всего запускать на самом большом разрешении при наибольшем количестве цветов. В самом деле, 16 бит должно быть как минимум.

startx -- -bpp 16

Теперь, если Enlightenment не запустился, Вы должны увидеть причину неудачи в конце информационных сообщений запуска X windows. Вы можете или решить, как с этим бороться, или попробовать скомпилировать исходный код самостоятельно.

Компиляция исходного кода

После того, как Вы самостоятельно разархивируете исходный код, все что Вам потребуется, это прочитать файл INSTALL по компиляции. Вкратце, 1) xmkmf -a  2) make install.

Теперь, если компоновка не удалась из-за того, что png, jpeg или tiff были ненайдены, окройте файл Makefile и найдите LOCAL_LIBRARIES, удостоверьтесь, что эта строка выглядит как:

LOCAL_LIBRARIES = -lImlib -ltiff -lgif -ljpeg -lpng -lz

Выполните 'make install' и все должно заработать. Если нет, то проверьте, удалили ли Вы дубликаты библиотек из /usr/lib  и что Makefile может найти библиотеки.

Настройка Enlightenment

Добавление новой темы

Ладно, Вы загрузили тему с Enlightenment.org . . . . Что теперь? Скопируйте этот файл в /usr/local/enlightenment/themes. Чтобы запустить другую тему, просто измените Ваш файл .xinitrc, расположенный в Вашем домашнем каталоге, добавив тему к строке запуска. Например, мы загрузили Neuromancer. Добавьте в файл .xinitrc, который находится в Вашем домашнем каталоге параметр -theme и имя файла темы. В этом случае, Ваш .xinitrc, расположенный в Вашем домашнем каталоге, будет иметь следующую строчку запуска Enlightenment с темой Neuromancer:

exec /usr/local/enlightenment/bin/enlightenment -theme Neuromancer

Теперь запустите X в 16-битном режиме.

startx -- -bpp 16

После этого Enlightenment станет искать файл или каталог с именем Neuromancer в каталоге /usr/local/enlightenment/themes. Как Вы видите, каждая тема совершенно уникальна и дает широкие взоможности творить для создателей темы. Так что же такое тема? Файл темы, который Вы загрузили, на самом деле является сжатым tar-файлом (.tgz). Обычно расширение опускается, однако Вы можете разархивировать этот файл. Дальше мы именно это и сделаем и попытаемся настроить некоторые меню и кнопки темы.

Настройка темы

Существует утилита под названием Econfig, которая основана на TCL/TK и предназначена для редактирования конфигурационных файлов темы. Мы заглянем немного глубже и будем использовать просто старый добрый редактор 'vi'. Темы расположены в /usr/local/enlighenment/themes и являются ни чем иным, как сжатыми файлами (.tgz). Для разархивации темы DEFAULT выполните следующее:

cd /usr/local/enlightenment/themes
mv DEFAULT DEFAULT.tgz
tar zxvf DEFAULT
cd DEFAULT
ls
-rw-r--r--   1 1000     bin          2929 Jul 25  1997 MAIN
-rw-r--r--   1 1000     bin          7015 Jul 31  1997 buttons
-rw-r--r--   1 1000     bin           952 Aug 29  1997 control
-rw-r--r--   1 1000     bin           843 Aug 12  1997 cursors
-rw-r--r--   1 1000     bin          2885 Jul 29  1997 desktops
-rw-r--r--   1 1000     bin           510 Nov 18 17:12 exec
-rw-r--r--   1 1000     bin           567 Jul 25  1997 fx
-rw-r--r--   1 1000     bin          3239 Jul 25  1997 icons
-rw-r--r--   1 1000     bin          1074 Jul 25  1997 infobox
-rw-r--r--   1 1000     bin          6392 Jul 30  1997 keys
-rw-r--r--   1 1000     bin         41382 Aug  6  1997 menus
drwxr-xr-x   4 1000     bin          2048 Jul 26  1997 pix
-rw-r--r--   1 1000     bin           452 Jul 25  1997 root
-rw-r--r--   1 1000     bin          1658 Aug  8  1997 status
-rw-r--r--   1 1000     bin           530 Jul 25  1997 text
-rw-r--r--   1 1000     bin         13222 Aug 12  1997 windowstyles

Файл MAIN Enlightenment читает первым. Если Вы просмотрите этот файл, Вы обнаружите, что он вызывает другие файлы для настройки различных частей Enlightenment. Большинство тем следуют одному и тому же соглашению по названиям файлов, что и тема DEFAULT.

Имя файла Описание
MAIN Этот файл Enlightenment загружает при запуске. Он может содержать ссылки на другие файлы для настройки различных раскладок окон, меню, кнопок, десктопов, курсоров, иконок и т.д.
buttons Определяет положение, внешний вид и поведение кнопок, расположенных на десктопе. Для темы DEFAULT это ряд кнопок в верхней левой части десктопа.
control Определяет поведение менеджера окон. Сюда входят такие моменты, как автоматическое всплывание окна наверх после того, как фокус на нем был в течении определенного промежутка времени. Смелее, отредактируйте файл и проверьте. Там превосходные комментарии по каждой существующей функции.
cursors Определяет внешний вид курсора мыши.
desktops Определяет вид и положение виртуальных десктопов. Для темы DEFAULT эти картинки находятся в нижней левой части десктопа.
exec Определяет, какие программы Enlightenment автоматически запускает при запуске.
fx Определяет специальные эффекты, которые есть в Enlightenment. Веселый файлик, попробуйте изменить отбрасывание тени с off на on.
icons Определяет панель, в которой размещаются свернутые программы, то есть когда Вы минимизируете программу, иконка для нее будет помещена в панель иконок. Для темы DEFUALT панель иконок расположена в верхнем правом углу десктопа.
infobox Определяет содержание информационной панели. Это картинка, которую Вы видите в первую очередь, когда Enlightenment запущен и начинает загружать конфигурационные файлы.
keys Определяет горячие клавиши и их поведение. Вы можете настроить этот файл так, что, например, по нажатию клавиши F5 будет запускаться Gimp.
menus Определяет всплывающие меню и их поведение. Это те самые меню, которые Вы видите, кликнув правой, средней или левой кнопкой мыши по десктопу. Мы исследуем настройку меню немного позже.
pix Это каталог, в котором хранятся все картинки.
root Определяет фоновую картинку.
status Это те экраны, которые появляются на загрузочной заставке, когда Enlightenment загружает конфигурационный файл.
text Определяет фонт, используемый для текста.
windowstyles Определяет границы окон, кнопок и поведение X-windows в целом.

Настройка меню

Настройка всплывающих меню осуществляется редактированием файла 'menus'. Вы можете просто изменить текст и строку action exec для существующего пункта меню, который Вы хотите изменить в первую очередь. У меня многие пункты меню отсутствуют и я могу занять свободное место чем-нибудь другим. Сейчас Вам захочется что-нибудь добавить. Например, Вы можете захотеть калькулятор.

Замечание: Прежде чем вносить изменения в любой конфигурационный файл, СОЗДАЙТЕ ЕГО РЕЗЕРВНУЮ КОПИЮ!!!!

Чтобы добавить пункт меню, просто вырежьте и вставьте кусок от begin menuitem до end в конец списка (вместе со строчками begin menu и end). Например, откройте файл menus и найдите 'Random'. Это меню Random Garbage, которое появляется, когда Вы кликаете правой кнопкой по десктопу. Теперь найдите 'Xsnow' и Вы окажетесь в конце списка меню 'Random Garbage'. Скопируйте часть от begin menuitem до первого end (сразу после 'action exec xsnow') и добавьте перед последним 'end'. Теперь измените Xsnow на Fonts измените 'action exec xsnow' на 'action exec xfontsel'. Далее хитрая часть с редактированием положения. Вы обнаружите, что Xsnow 0 312 и его размер 253 24. Не обращайте внимание на первое число. Однако, если Вы разделите 312 / 24, Вы получите 13. Это потому, что Xsnow является 14 пунктом меню (начиная с нулевого). Поэтому для Fonts нам необходимо добавить 24 к 312. Меняем 312 на 336. Нам также надо изменить количество пунктов меню с 14 на 15 (две строчки над текстом 'Random Garbage') и увеличить размеры меню на 24, поэтому меняем 'dimensions 253 336' на 'dimensions 253 360'.

Конечно же, альтернативой является запуск Econfig и использование интерфейса X-windows. Я еще не пробовал Econfig, но мне кажется, что это сделает данную процедуру менее болезненной.

Выдержка из начального меню

------- текст пропущен -------
begin menu
  name root3
  type custom
  dimensions 253 336
  popupdist 126 12
  items 14
  begin menuitem
    text Random Garbage
------- текст пропущен -------
 begin menuitem
    text Xsnow
    type element
    location 0 312
    size 253 24
    text_location 5 5
    text_size 243 14
    image unselected pix/menu_plain_1.ppm  shapemode on 255 0 255
    image selected   pix/menu_plain_2.ppm  shapemode on 255 0 255
    action exec xsnow
  end
end
-------- текст пропущен -------

Выдержка из измененного меню

-------- текст пропущен -------
begin menu
  name root3
  type custom
  dimensions 253 360
  popupdist 126 12
  items 15
  begin menuitem
    text Random Garbage
-------- текст пропущен -------
  begin menuitem
    text Xsnow
    type element
    location 0 312
    size 253 24
    text_location 5 5
    text_size 243 14
    image unselected pix/menu_plain_1.ppm  shapemode on 255 0 255
    image selected   pix/menu_plain_2.ppm  shapemode on 255 0 255
    action exec xsnow
  end
  begin menuitem
    text Fonts
    type element
    location 0 312
    size 253 24
    text_location 5 5
    text_size 243 14
    image unselected pix/menu_plain_1.ppm  shapemode on 255 0 255
    image selected   pix/menu_plain_2.ppm  shapemode on 255 0 255
    action exec xfontsel
  end
end
------- текст пропущен ------
 

Ладно, посмотрим, что мы натворили, кликаем левой кнопкой и выбираем 'Exit Options' и затем 'Restart'. Enlightenment перечитает конфигурационные файлы и перезапустится. Во время перезапуска Ваши открытые окна сохраняются, поэтому Вы не потеряете ни одного запущенного приложения. После перезагрузки Enlightenment кликните правой кнопкой по десктопу и Вы увидите Fonts в низу списка. Попробуйте!

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

Будущее Enlightenment

В будущем Enlightenment будет совместим с GNOME. Авторы, a.k.a Mandrake & Rasterman в настоящий момент полностью переписывают Enlightenment для DR0.14. Rasterman добавил совместимость с GNOME с тех пор, как он стал участником проекта GNOME в Red Hat Labs. Был выпущен демонстрационный вариант разрабатываемой версии 0.14, настройки в котором отсутствуют. Эта демо-версия предназначена для показа некоторых новых интересных функций DR0.14. Ко времени появления этой статьи DR 0.14 должна быть выпущена, если не возникнет каких-либо непредвиденных проблем.

Перевод на русский: Владимир Попов


This website is maintained by Miguel Angel Sepulveda
© Geoffrey W. Corey 1998
LinuxFocus 1998