Linux Corner #4





introduction

articles


КPOBb te4et..
Creative Down
Chill..
Dnevnik Gubnyh
Infernal Flame
IRCZlo
Kazantip '98
Litestep
MSX Culture
Parashoot
SceneUp!
Underground
One day..
Virus inside me
Harmed

interview

Catbones
God Among Lice
Jazztiz
Encore
Nixus
Mutant

lits

Bound
Harmless
Manifesto
Mirage
Nika Bathen 95-97
Alka
Allegory
An other side

tutorials

Textmode Art FAQ
Inet Couriers
NukeM3
MegaDemos Review
Drugz Corner 1
Drugz Corner 2
Linux Corner 1
Linux Corner 2
Linux Corner 3
Linux Corner 4
Linux Corner 5
Linux Corner 6
RTM

download
feedback

home

- Daddy, is Unix userfriendly ?
- Yes, it is userfriendly, it's not idiotfriendly.

Привет всем, кто читает Linux Corner. Надеюсь, те из вас, кто в ладах с английским, оценили вступление. В этом выпуске я хотел бы немного рассказать о "userfriendly" стороне Linux'a :) . Меня всегда умиляли статьи о мощной и дружественной операционной системе Windows, изобилующие такими словосочетаниями, как: "дружественный интуитивно понятный интерфейс" , "предоставляет неограниченные возможности", "легкость в работе", "сообщения об ошибках стали более дружественными" и так далее в том же духе. Интерфейс пользователя стал залогом эффективной работы, а кнопочки и менюшечки панацеей от всех проблем. Ламерье верещало от радости, узнав, что "сообщения об ошибках стали более дружественными". Ладно, меня потянуло не в ту сторону. Что я хотел сказать - это то, что типичный стереотип, сложившийся у людей о Unix'e - это система гораздо страшнее DOS'a, система, работать с которой может только человек, прошедший курс обучения черной магии. Хотя многие забывают о том, что всеми так любимый "графический интерфейс пользователя" отнють не изобретение Microsoft'a и лично дяди Билла. Напротив, Microsoft, как, всегда взяла за основу хорошую идею и испортила ее. Я говорю о X-Window, системе, которая существует в мире Unix довольно давно и является так называемым "industry standard" для работы с графическими приложениями. Естественно, и у X-Window есть свои недостатки, но принципы и идеи, заложенные в нее до сих пор остаются лучшим, что придумано для компьютеров на сегодняшний день.

Система X-Window построена по принципу клиент-сервер и имеет несколько уровней реализации. Ядром системы является X-server, который отвечает за работу с железом и реализует основные графические примитивы. Следующий уровень - это библиотеки, работающие с X-server'ом. Работа с X-server'ом происходит по протоколу TCP/IP, что позволяет иметь X-server на одной машине, а работающие приложения на другой. Сам по себе X-server не предоставляет никаких средств для работы с окнами. За это отвечает Window manager, который является следующим уровнем в системе. Тот факт, что вывод графики и работу с окнами реализуют разные уровни системы, позволяет иметь практически любой внешний вид интерфейса пользователя. На самом последнем уровне находятся пользовательские приложения.

Вкраце рассказав об X-Window, я, собственно, перехожу к главному - рассказу о Window manager'ах.

Первое впечатление от знакомства с X-window было примерно такое: "Боже, за что мне такие страдания?....Неужели это вообще может работать.....Наверное, я чего-то не понимаю....Вы называете это industry standard ?" Тогда я впервые поставил себе на машину FreeBSD. Первое знакомство с xf86config, запуск голого X-servera и непонимание почему кроме серого экрана и курсора ничего нет, и как апогей - работающий twm :)

К тому времени когда у меня стоял Linux я уже знал, что запускать X-ы надо через startx :). Сейчас у меня 5 window manager'ов и есть желание поставить еще парочку.

А сейчас, собствено, о window manager'ах:

FVWM/FVWM'95:
( ftp://mitac11.uia.ac.be/html-test/fvwm95.html )
Практически во всех поставках Linux'а стандартным wm является FVWM или разновидность оного - FVWM'95. Рассказывать здесь особенно нечего, так как если ты уже имел дело с X-ами, то, скорее всего уже со всем разобрался. Единственный вопрос, который часто возникает у людей недавно начавших работать с этими wm - это как добавить в основное меню новые приложения. Для этого нужно посмотреть откуда FVWM берет файлы конфигурации, например, в моем файле ~/.xinitrc есть строчки:

if [ -f $HOME/.fvwm2rc.m4 ]; then
RCFILE=$HOME/.fvwm2rc.m4
else
RCFILE=/etc/X11/TheNextLevel/.fvwm2rc.m4
fi

Так как на своей машине я работаю один, то я решил править файлы в /etc/X11/TheNextLevel/. Чтобы добавить новые приложения в главное меню нужно подредактировать /etc/X11/TheNextLevel/.fvwm2rc.programs, добавив в нужный раздел, например Applications [ который определяется строчкой AddNewMenuAndButtonBar(Applications) ] строку вида:

DefineProgramLM(&Emacs,edit,emacs_3d,emacs), где Emacs - название, edit - мини иконка, emacs_3d - иконка, emacs - строка запуска.

Единственное, что я порекомендовал бы изменить [естественно на свой вкус] - это в файле /etc/X11/TheNextLevel/.fvwm2rc.mouse прописать строчку:

Mouse 3 R A Menu "Window-Ops" Nop,
чтобы при нажатии правой кнопки на root-window появлялось меню с операциями над окнами. В общем FVWM достаточно неплохой wm, в котором практически все можно настроить. В /usr/doc можно найти документацию по этому wm.

AfterStep:
( http://afterstep.edoc.com/ )
Памяти операционной системы NeXTSTEP посвящается. Этот wm, как и целый ряд других сделан с целью воссаздать интерфейс этой знаменитой системы. На данный момент этот wm является одним из наиболее популярных, хотя на мой взгляд Window Maker сделан лучше. AfterStep 1.0 ставится достаточно просто. Сделать это можно или вручную, прочитав INSTALL, или воспользоваться скриптом Installme.

Window Maker:
( http://www.inf.ufrgs.br/~kojima/wmaker/index.html )
Еще один wm созданный по мотивам NeXTSTEP'a. Причем сделан очень неплохо. С визуальной точки зрения смотрится гораздо приятнее AfterStep'a. Так что, если у тебя есть желание хотя бы отдаленно познакомиться с NeXSTEP'ом, то я рекомендую обратить внимание на этот wm.

KDE:
( http://www.kde.org )
Kool Desktop Environment - очень неплохой wm, один из наиболее быстроразвивающихся проектов. Внешне выглядит достаточно приятно, напоминая CDE, хотя авторы говорят о том, что весь look-n-feel создавался с нуля, с мыслью вобрать в себя лучшие фичи различых GUI. На данный момент последней версией была Beta1, хотя к моменту выхода статьи она может устареть. Система опирается на библиотеку QT, которая необходима для работы KDE. Достать QT можно с www.troll.no. Специально под KDE написано уже достаточно много приложений, которые полностью используют особенности это wm. Естественно, что все остальные X-приложения будут работать под ним. Сейчас я юзаю именно этот wm.

OLWM/OLVWM:
( http://www.plig.org/xwinman/olvwm.html )
Window manager от Sun. Ничего особенного. Юзать его можно или из интереса, или из особой любви к Sun.

GNUStep:
( http://www.gnustep.org )
Данный проект хотя и находится на данный момент на стадии разработки обещает быть одним из лучших wm. Разработчики поставили своей целью не только добитсься внешнего сходства с NeXTSTEP'ом, но и внутреннего. Чтобы достичь этого языком реализации был выбран Objective-C. Кстати, GNUStep является частью более крупного проекта [ в котором участвуют Sun, бывший NeXt, Apple ] под названием OpenSTEP.

Enlightenment/E:
( http://www.rasterman.com )
Пожалуй, из всех wm Enlightenment самый 3133t'ный, хотя для его испольхования нужна достаточно шустрая машина Возможно, кто-то просматривая фильм "Hackers" посмеивался над тем, что работало на ноутбуках товарищей хакеров. Что ж, для тех, кто сомневается в том, что такое возможно рекомендую взглянуть на этот wm и достать для него пару-тройку дополнительных тем.

Теперь, наверное, самое время рассказать как заставить эту толпу wm'ов работать на одной машине. Для начала необходимо их поставить :) Процедура установки у каждого wm своя. Если у тебя стоит Red Hat, то можно достать нужный wm в виде .RPM'a и положиться на автоматическую инсталяцию, хотя никогда не помешает перед этим почитать README или INSTALL. Дело в том, что для работы некоторых wm требуется наличие дополнительных библиотек, установленных на машине, зачастую конкретной версии. Если это так, то такие библиотеки следует также установить. Возможно, после инсталяции потребуется скопировать некоторые файлы в определенные директории, прописать пути к библиотекам и самим wm. Возможно, при компиляции будут ошибки, которые придется подправить ручками. Если тебя все это пугает, то, может быть, тебе следует подумать о смене не только wm'a, но и всей платформы, например, на Windows' 95 :) Ну так вот, после того как ты разобрался с установками, осталось совсем немного. Как всегда, добиться результата можно по-разному.

Я сделал так:

В файл /usr/bin/X11/startx перед запуском xinit я добавил следующее:


echo " Choose a Window Manager "
echo " ----------------------------------"
echo " F) Fvwm-2                        "
echo " W) Window Maker            "
echo " A) AfterStep                      "
echo " 5) Fvwm-95                      "
echo " K) KDE                             "
echo " T) Twm                             "
echo -n " >"

read choice
export choice

xinit $clientargs -- $serverargs
А в конец ~/.xinitrc:


case "$choice" in
    f|F)
       env > /tmp/Xrootenv.0
       exec fvwm -f "FvwmM4 -debug $RCFILE" -display :0 > $HOME/.FVWM2-errors 2>
       ;;
    w|W)
       sh ~/gnustep/Library/WindowMaker/winitrc
       exec wmaker
       ;;
    a|A)
       exec afterstep
       ;;
    5)
   env > /tmp/Xrootenv.0
   exec fvwm95-2 -f "FvwmM4 -debug $RCFILE" -display :0 > $HOME/.FVWM95-errors
   ;;
    k|K)
       kpanel &
       kfm &
       kdisplay -init &
       exec kwm
       ;;
    t|T)
       exec twm
       ;;
    *)
   env > /tmp/Xrootenv.0
   exec fvwm95-2 -f "FvwmM4 -debug $RCFILE" -display :0 > $HOME/.FVWM95-errors
       ;;
esac
unset choice

Смысл, думаю, понятен. Способ запуска у каждого wm тоже свой, что и нашло отражение в этом скрипте.

Я конечно же не смог рассказать о всех wm, которые постоянно появляются и исчезают. За рамками этой статьи остались такие проекты как: dtwm, Berlin Project, GNOME, CDE и еще хрен знает чего. Что поставить себе - дело вкуса каждого, ведь в отличии от Windows у тебя есть выбор, но самое главное - это не забывать о том, что дело не в окошках, а в ....

Death Lord
 


[c] HARM on-line      
1996-1999