Пингвин с вибромассажем

Людей, ставивших линукс, можно встретить где угодно. Среди них (я уверен на 90%) был и ты.

Частенько, поставив пингвина, многие смотрят на то, что поселилось на их винте после стандартной установки, пугаются этого и сносят зверя к чертям. Но Default установка только для серых Default людей. Лиц в толпе. К таким, я надеюсь, многие относить себя не хотят, хотя сами таковыми и являются.

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

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

Пингвин очень даже удобен. На настроенной ОС работать не просто удобно, а даже в кайф: ничего не тормозит и не виснет, всё стабильно и безглючно. Да и интерфейс, если ему произвести пластическую операцию, будет таким, что у Гейтса слезы потекут - винда ХР даже в подметки не годится.


Об удобстве у нас сейчас и пойдет разговор.

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

Лицо пингвина - это оконный менеджер. Но, к сожалению, в последнее время морда этого зверя стала заплывать и сильно жиреть не без помощи авторов KDE и прочих Gnome'ов. Ну скажите мне кто-нибудь, почему приложения, начинающиеся на букву 'k' рядом с собой загружают штук сорок разных библиотек и жрут процессорное время как тузик сосиску?

Вообще, медленный оконный менеджер - главный тормоз всей системы. А к таким вещам я отношу всеми любимую кде'шку. Конечно, это мое субъективное мнение, так как если у тебя процессор 1GHz и памяти 256 Mb, то проблема тормознутости системы тебя волновать не должна. Но, как известно, большая часть всего парка компов в России гораздо медленнее такого показателя и надо задумываться об отимизации и смене интерфейса.

За всю свою недолгую жизнь я перепробовал огромное число всяких оконных менеджеров, от убогих (twm) и тормозных (kde) до таких, от стилей оформления которых просто челюсть отвисает (enlightenment), но из всего того, что паслось у меня на винчестере я остановился на BlackBox.

Основная его черта - полный минимализм во всем. Это прямо какая-то противоположность Gnome'у, у которого по всей морде натыкано множество всяких массивных и нерадующих глаз кнопочек и менюшек.

Минимализм минимализму рознь. Хоть и все в этом оконном менеджере маленькое и скромненькое, но выглядит очень симпатично; наверное делал его человек, знакомый с дизайном.

На первый взгляд всё в нем жутко неудобно нет никакой кнопочки а-ля "пуск" и бэкграунда, но стоит немного поработать под ним, и ты многое поймешь:

1) кнопочка "пуск" не нужна, гораздо удобнее запускать приложения из popup-меню на правой кнопке мышки. (смотри /usr/local/share/blackbox/menu)

2) Если не можешь работать без голых теток, натянутых в качестве обоев рабочего стола, то их можно поставить командой 'xloadimage -onroot /твои/обои.jpg'. Ее удобно воткнуть куда-нибудь в файл /etc/X11/xdm/Xsession, и обои будут натягиваться сами сразу при загрузке X-windows.

3) К вопросу об иконках на рабочем столе: если ты жить без них не можешь, то туда же в Xsession воткни запуск 'gmc'



Настройка Xsession.
Пихать команды в этот файл в самое его начало не стоит, так как там все должно быть прописано на своих местах.
Когда запускаются Иксы, то xdm/gdm/kdm спрашивает у тебя логин, пароль и оконный менеджер, под которым ты хочешь работать (это все зависит от версии *dm, т.к. он может вообще ничего не спрашивать). Потом он с твоими правами запускает этот самый Xsession и говорит ему название выбранного тобой оконного менеджера. Так вот нам надо найти в этом файле строчку запуска выбранного оконного менеджера и перед ним прописать все то, что ты бы хотел запускать автоматически. У меня эта строчка выглядит так:

case $0 in
1)
case $1 in
blackbox)
exec autorun -m&
exec xrus&
exec blackbox&
exec xset -onroot /home/voy/backdrop.jpg&
;;
kde)
exec startkde
;;

Закорючка '&' необходима для насильного отправления запущенного процесса в бекграунд, хочет ли этого сам процесс или нет.
Если у тебя стоит KDE, то еще помучай файлик kdmrc в той же директории, чтобы в менюшке оконного менеджера при загрузке появился BlackBox. Для этого найди строку SessionTypes=... и подрисуй туда всё, что надо.
Та же байда будет и с gdm, только его конфиг лежит в /etc/X11/gdm/gdmrc, а все доступные сессии в каталоге Sessions. Немного геморроя по вкусу и все заработает, но сразу говорю, прежде чем лезть в потроха иксов, на всякий случай делай backup-копии всех тех файлов, в которые ты запустил свои шаловливые ручки.


Консоль

Иксы, конечно, вещь хорошая, но чистая консоль тоже вещь удобная - Ctrl-Alt-F1 и вот вам пирожок. Но консоль в том виде, в котором она предстанет, не очень радует глаз и другие части тела, поскольк очень уж у нее маленькое разрешение по умолчанию. Ты наверняка не знал, а может быть и не зналА, что разрешение стандартной линуксовой консоли можно поставить вплоть до 1280х1024 с TrueColor. Хотя труколор нам, вообщем-то, не нужен, но все же...

Такая интересная вещь делается передачей ядру линукса при загрузке параметра vga=xxx, где ххх-некоторое _десятичное_ число, обозначающее разрешение консоли. Такую строчку удобно воткнуть в /etc/lilo.conf и перезаписать MBR '/sbin/lilo'. Теперь, собственно, будем разбираться с тем загадочным числом:

     | 640х480 | 800х600 | 1024х768 | 1280х1024 |
-----+---------+---------+----------+-----------+
256  |   769   |   771   |    773   |    775    |
15bit|   784   |   787   |    790   |    793    |
16bit|   785   |   788   |    791   |    794    |
24bit|   786   |   789   |    792   |    795    |
-----+---------+---------+----------+-----------+

Из таблички, я думаю, ты сможешь выбрать нужное разрешение. Я например себе поставил 791 lля простой работы и иногда ставлю 785 для просмотра DivX на весь экран в консоли (чтобы не включать software scaler, т.к. он у меня на моем компе тормозит).



Внимание: перед тем, как ставить разрешение из этой таблицы, попробуй прописать в lilo.conf строку vga=ask (потом не забудь запустить /sbin/lilo), с которой ядро при загрузке спросит у тебя разрешение. Ты его на инженерном калькуляторе переведи в шестнадцатиричное, а после этого вводи. Если заработает, то потом уж пиши в конфиг десятичное vga=xxx, а если нет, то не судьба значит... Всегда лучше сначала попробовать, чем потом долго кричать и скорбить о незагружаемом линухе. Ах да, еще чтобы эта вещь работала, надо перекомпилировать ядро с поддержкой Frame-buffer. Мелочь, а приятно ;)

Работать в консоли поприятнело (надеюсь, тебе теперь понятно, почему многие от этого так тащатся). Но это еще не все, ведь консоль - огромное поле для всяческих извращений, которыми мы сойчас и займемся.

В bash есть такая загадочная переменная - PS1. Нет, к плейстейшн она отношения никакого не имеет, зато при помощи нее можно ставить заголовок консоли. По умолчанию этот заголовок похож на нечто похожее [voy@frozen /usr]. Полезной информации немного, не так ли?

Давай посмотрим, как выглядид эта переменная на самом деле:

'echo $PS1'

и в результате получим что-то похожее на

[\u@\h \W]

где \u - имя пользователя
\h - твой хост
\W - текущая директория
\t - текущее время

На самом деле закорючек с бекслешем существует гораздо больше, но они нам особенно не понадобятся. Для полного и бесповоротного удовлетворения наших потребностей в удобстве мы можем поставить PS1 таким образом, что консоль будет высвечивать время:

        export PS1='[$(date +%H:%M)][\u@\h: \W]

В итоге получим такую вот красоту:
        [23:51][voy@frozen: /usr]

Но это еще не всё, в переменную PS1 можно понасовать даже вывод небольших bash- скриптиков. А чтобы консоль принимала такой вид, нам потребуется воткнуть стороку export куда-нибудь в файл .bashrc в твоей домшней директории.


Звук.

Теперь пару слов о проблемах со звуком. Бескрылый зверь имеет свою оригинальную звуковую систему, которая строится таким же оригинальным образом:

        приложение ---> звуковой сервер ---> звуковуха (/dev/dsp)

Звуковых серверов в последнее время расплодилось видимо-невидимо, но есть одно "НО". В последних версиях ядра появилась возсожность обходиться без посредника в роли soundserver'а, т.е. приложение может дуть звук прямо во встроенный в ядро микшер /dev/mixer или прямо на звуковуху /dev/dsp. Вся эта муть называется OSS, плагины для нее есть у всех мало-мальски нормальных мультимелиа-приложений. Представь: меньше посредников - меньше тормозов и попользованной памяти, так что убивай всякие там aRtsd и eSound'ы, можно обойтись и без них.

Единственная гадость - надо перекомпилить ядро с поддержкой OSS -). Чаще всего он включен по умолчанию, но все может быть.


Клавиатура.

Многие темные личности спрашивают: "какой болван придумал в КДЕ переключать раскладку клавиатуры по Ctrl+Alt+K? И почему нельзя поставить стандартное и удобное положение Ctrl+Shift?". Отвечающие на этот вопрос частенько лихо прихлопывают ушами и вяло отмазываются, типа "такой большой, а додуматься не можешь".

У меня на эту тему свое мнение. Поскольку я ненавистник KDE, то всем советую для начала сделать rm -rf `slocate kde` а потом рассуждать :). Кде-шный свитчер имеет множество недостатков, и основной из них я уже сказал: переключение раскладки надо производить через гланды, а не по-человечески. Во-вторых, он не всегда успевает переключать раскладку вовремя, т.е. если у тебя большая скорость набора, то при переключении раскладки ты будешь получать страшные слова потипу "[fкер" вместо "хакер". Чтобы этого избежать, приходится ждать, нервничать, а потом кричать и пинать родной компутер от раздражения.

Но оказывается уже несколько лет существует нормальный переключатель раскладки, не обладающий всеми теми недостатками, которые были у его конкурента- предшественника. Эта вещь называется Xruskb и на момент написания статьи доросла до версии 1.15.3 и ею пользуются все нормальные люди. Как, ты еще не пользуешься? Значит ты как раз ненормальный :). Ссылка на это чудо в конце статьи.

Когда будешь ставить, убедись, что у тебя установлены библиотечки Lesstif и запускай ./configure --with-motif. Если при компиляции вылезет куча ошибок, то попробуй ./configure --with-Xaw. Если ты просто запустишь xrus, то ничего он у тебя переключать не будет. В качестве параметра ему требуется передать файлик *.xmm, который отвечает за разные раскладки клавиатуры. Если ты не извращенец, то теме нужен jcuken-cyr.xmm. Посмотри по 'find /usr -name jcuken-cyr.xmm' куда он у тебя заинсталлился вместе с xrus и действуй!

Эта раскладка не совсем похожа на привычную мастдайную, поэтому я немного напрягся и подогнал ее под раскладку клавы "а-ля M$". Этот файлик отлеживается где-то у меня на сайте.


Мышь

А какие проблемы могут возникнуть с мышью? - спросишь ты. Вроде бы грызун, чего с него взять? Но делать удобнее хвостатого зверя нужно.

Во-первых, некоторые оконные менеджеры не умеют ставить чувствительность мышки (к примеру BlackBox и Wm), хотя они сами по себе очень даже ничего. Исправить это можно командой:

        xset m <ускорение> <порог>

Где ускорение и порог - циферька от 1 до 20. Наиболее комфортно (а главное сухо :)) себя ощущаешь с ускорением 3 и порогом 4. Хотя тут уже дело вкуса: если тебе нравится перемещать указатель по экрану, три раза протащив мышку вдоль коврика и стола, то помочь я тебе ничем не могу. Хотя могу дать адрес, где помогут :).

Во-вторых, стандартные курсорчики в X-Windows лично меня просто бесят: кошмарные часики при загрузке, палец, которым по ссылке попадаешь с третьего раза... Да и вообще сделаны они без души.

В иксах курсоры хранятся достаточно интересным способом: все они воткнуты в pcf- шрифт /usr/X11R6/lib/X11/fonts/misc/cursor.pcf.gz. Обычно в него никто не лезет, но мы не такие =).

Сначала распаковываем шрифт 'gzip -d cursor.pcf.gz', потом качаем программу pcf2bdf, ссылка на которую в конце статьи, конвертируем 'pcf2bdf cursor.pcf>cursor.bdf' и скармливаем все это decurs'у. Работать в этом редакторе курсоров очень просто, т.к. у тебя в распоряжении одна кисть и три цвета... Хотя если ты по природе ленив, то можешь взять мои курсорчики (опять же ссылочка внизу).

Загрузка

Сколько проходит времени, пока твой пингвин загружается? Две минуты? Три? А может четыре? Ты никогда не обращал (а может и не обращалА ;)) внимание на ту гору мусора, которая загружается при старте ОС? Ты когда-нибудь пользовлася всякими cron'ами, anacron'ами, http-серверами и файерволами ipchains? Нет? Ну и зачем они тебе нужны, ведь они только засоряют оперативку и из-за них ОС грузится гораздо дольше.

Хватаем в зубы mc и ползем в директорию /etc/rc5.d (в разных линухах эта директория находится в разных местах, так что если вдруг такой не найдешь, то не пугайся). В директории rc5.d хранятся ссылки на все программы, загружаемые при старте пингвина, так что руби в капусту все лишнее (а лучше просто перемещай куда-нибудь на всякий случай).

На заоптимизированном винчестере (читай man hdparm) лично мой бескрылый зверь загружается за 54 секунды. Кхе-кхе, это побыстрее винды.

Но просто банально бегающие строчки о загружаемых драйверах и программах - скучное зрелище. Надо забомбить какой-нибудь логотипчик. Для этого качаем программку linux_logo, компилим ее, ставим, а потом лезем в /etc/rc.sysinit и в начало его пишем такую строчку:

        clear; /bin/echo -e '\033[014;25r'; linux_logo -l -L 4
        

Таким образом при загрузке сверху у нас будет сиять прелестный пингвиненок, а снизу будут бежать какие-то строчки... Но теперь в конце загрузки логотипчик надо убрать. Лезем в /etc/rc.d/rc.local и в конец его пишем строчку:

        /bin/echo -e'\033[0;0r'
        clear

Теперь загрузка стала поприятнее и побыстрее...

Итог

Кто теперь говорит, что линукс неудобен? Покажите на него пальцем и плюньте в него чем-нибудь тяжелым, ибо нефиг говорить необъективно. Многие все-равно будут продолжать кричать и поливать тукса всякими жидкостями, хотя сами его видели только на картинках в Х. У таких людей - просто неприязнь ко всему новому, они боятся натолкнуться на проблемы с компом и с их точки зрения незачем напрягаться, устанавливая пингвин. Такие люди будут существовать всегда, что бы не делали разработчики линуха для скорости и удобства работы со своим детищем. И всегда найдется тот голос в толпе, который крикнет "а у него ноги кривые", лишь бы привести хоть какой-нибудь аргумент в пользу винды...

И я надеюсь, что большинство читателей все-таки одумается, услышит зов Линуса Торвальдса и пойдет за ним в светлое безглючное будущее...





----------------
Ссылки:
1) Enlightenment        - http://www.enlightenment.org
2) BlackBox             - http://blackboxwm.sourceforge.net
3) Xrus                 - ftp://ftp.yars.free.net/pub/software/unix/X11
   Lesstif              - ftp://ftp.lesstif.org/pub/hungry/lesstif/
4) pcf2bdf              - http://www.tsg.ne.jp/GANA/S/pcf2bdf/
5) decurs               - www.hut.fi/u/pvsavola/decurs.html
6) курсоры              - www.v0y.org/files.htm