суббота, 26 марта 2011 г.

Выживание в «бездесктопной» среде. Часть I

  Есть ли жизнь на Марсе или Особенности выживания в «бездесктопной» среде Linux.

Часть I.
Предисловие.
    Иногда душа просит извращений. «Изкоробочные» Убунты, Гномы, КДЕ и иже с ними, отстроенные и укомплектованные на все случаи жизни — это конечно хорошо. Тем более, что большинство современных компьютерных конфигураций с легкостью «заведут» все это великолепие и даже не заметят особой нагрузки по ресурсам и сколь-нибудь существенную ограниченность в дисковом пространстве (особенно на фоне того же Win7). Тогда какой смысл отказываться от подобных радостей? Ну хочется, иногда хочется к чему-то приложить руки, извратиться и получить удовольствие от полученного результата, в виде «Ляликса своей мечты». Нет-нет, я не собираюсь бросаться из крайности в крайность и компилить с нуля Генту, или не дай Бог собирать LFS. У меня самой на домашнем компе стоит вполне себе обычный Гном, на вполне себе обычном Squeeze (ну не сложилось у меня как-то с Убунтой, хотя именно с нее я и пыталась начать несколько лет назад, причем не один раз). Ну почти обычный Деби. Допиленный, конечно, докрашенный, кастрированный слегка. Стоит себе, работает и не ломается, удовлетворяя все мои потребности в сфере компьютерных извращений. И что-либо существенное с ним творить я не собираюсь, пока во-всяком случае.
    Но ведь хочется.. Хочется чего-то чуть большего. И вот тогда  (глядя на свой ноут - малыш конечно, ну и зачем его перегружать лишним?) появляются мысли — «а не напиться ли вдрызг?» Нет конечно, мысли не такие, это «Крематорий» просто играет :) Ну так вот, мысли о том, а не начать ли с нуля? Взяв за основу ну скажем netinstall-версию дистрибутива того же Debian, сразу отказавшись от всего лишнего, и самое главное отказавшись от любого полноценного десктопа. Но, при этом я не хочу жить в «голой» консоли (общения с терминалом итак будет на порядок больше). Можно было бы выбрать какой-нибудь легенький Openbox, Fluxbox, LWM или еще что-то подобное. Но я все-таки ценю красоту, пусть и в простоте. Поэтому в качестве оконного менеджера у нас будет Compiz и Emerald в качестве декоратора окон (оно того стоит). Разумеется Х'ы тоже придется поставить.
    Из несомненных плюсов получаем отличный набор хоткеев (к ним придется привыкнуть и запомнить); чувствительные к раздражению курсором мышки края и углы рабочей области; на выбор несколько способов управления рабочими столами и окнами, как мышкой, так и с клавиатуры; прозрачность, вагон и маленькую тележку визуальных эффектов (как там в Ubuntu было - Hollywood got nothing! Ну мы же хотели красивостей?). В качестве бонуса получаем персональные обои для каждого рабочего стола (Гном такого не умеет); экранную лупу; привязку выбранных окон к определенным рабочим столам и даже запоминание позиции этих окон; и еще очень много-много интересных и весьма полезных функций.
    Но нет худа без добра, вернее наоборот. Если вы, как и я, «счастливый» обладатель видеокарточки ATI, то у вас будут проблемы, может быть даже большие, а возможно и вовсе неразрешимые. И Компиз их только усугубит. К сожалению, у меня нет возможности поменять видеокарту в ноутбуке, поэтому я рискну подружить все это дело. И более того — карта настолько старая, что для нее даже нет новых драйверов на сайте ATI, она больше не поддерживается. В качестве эталона правильной работы у меня будет стационарный комп, на котором ATI (принесшая тоже много головной боли) при первой же возможности была заменена на Nvidia и с тех пор больше не было ни одной проблемы и мучений страшнее, чем поставить драйвер одной командой и перезагрузить систему.
    На этом присказку можно закончить и перейти к сказке — краткой установке всего этого дела. Не думаю, что стоит углубляться в тонкости этого процесса, все описано уже много раз где только можно. Но кое-что я все-таки откомментирую. А после этого собственно перейдем к главному — как во всем этом безобразии жить и нормально себя чувствовать при этом ;)

Установка.
    Идем на всеми нами любимый сайт Дебиан и по этой ссылочке выбираем в разделе «Сетевая загрузка» образ, сответствующий архитектуре процессора. Мой процессор ненавязчиво намекает на 64-битную систему, поэтому мой выбор amd64.
Лирическое отступление. Сразу хочу предупредить, если ваш провайдер не раздает сетевые реквизиты автоматически, то есть по DHCP или еще как-то и вам требуются дополнительные действия для подключения инета (вроде PPPoE подключения и прочих Пи-Пи), а так же, если вы не сможете прописать ручками нужные адреса для обеспечения инсталлятору инета, то можете смело качать однодисковый 650мб образ отсюда или отсюда посредством торрента.
Записываем полученный образ на болванку, загружаемся с него и попадаем вот в такое меню инсталлятора, с бесподобной 3D-графикой на космические темы :D (такого нет даже в  Убунте). Ничего, привыкайте, дальше графика появится не скоро.


Выбираем пункт «Advanced options» и попадаем в еще одно космически красивое меню (на этот раз последнее), где выбираем «Expert install».

Все, на этом красивости закончились и дальше все будет в текстовом варианте.
Первым делом выбираем язык. Мне больше по душе русский. Там же предлагается выбрать дополнительные локали, если они вам нужны.

Затем выбираем раскладку клавиатуры. Вот честно не знаю какая в ноуте клавиатура, но что-то мне подсказывает, что не PS/2 =) Доверяю раскладке ядра, пока еще не подводила.

Определение сетевой карты. По-идее, все должно найтись на автомате.

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

Выбор зеркала архива Debian. Не вдавалась в подробности, с HTTP все прекрасно получалось. А вот зеркало Российской Федерации мне как-то не очень по скорости понравилось, предпочитаю германское :) Прокси у меня нет, так что следующий пункт пустой.

Дальше предлагается выбор версии Debian, думаю нет смысла объяснять who is who, выбирайте то, что считаете нужным (если все же кто-то не в курсе, то идем на сайт Дебиан и читаем про версии). Я выбираю стабильный, тем более что тестинг только-только перешел в стабильную ветку.

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

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

Настройка времени, Определение дисков вопросов не вызывают.

Разметка дисков. Довольно обширная тема, многократно разжеванная на различных интернет-ресурсах, но тем не менее очень важная. И если не хотите «убить» существующие данные, то настоятельно рекомендуется с ней ознакомится, прежде чем что-то делать в этом разделе. Как я уже говорила, у меня не было цели разжевать все тонкости установки в данной статье, она немного другому посвящена.

Установка базовой системы. Тут мы получаем и устанавливаем нужные пакеты с инета. Это может занять некоторое время, в зависимости от скорости инет-соединения. В процессе будет предложено настроить некоторые пакеты и будет предложен выбор из нескольких ядер. А также немаловажный пунктик по выбору драйверов.

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

Вкратце, включение всех доступных драйверов превратит ядро в монстра поддерживающего всё и вся доступное оборудование. Ядро будет тяжелее и возможно это отразится на времени загрузки. «Специализированный» включит в ядро только то, что определит в системе на данный момент. Я ставлю систему по-минимуму, да еще и на ноут, в котором замена компонентов точно не планируется, так же как и подключение экзотических устройств. Поэтому негоже так шиковать, мой выбор - «Специализированный». Если при таком выборе все же потребуется заменить или подключить что-то новое, то придется пересобирать ядро, ручками включая поддержку того, что нам понадобилось.

Настройка менеджера пакетов. Первым делом появится вопросик о включении репозитория с так называемым «несвободным ПО». Дебиан в этом плане отличается чистотой и аккуратностью, но те, кому религия позволяет лучше пусть включат. Я включила, чтобы потом ручками не добавлять (уж что-что, а возможный геморрой с проигрыванием flash в браузерах, скорее всего будет обеспечен. Тем более в 64-битной системе).

Выбор и установка программного обеспечения. Снова тянем из интернета нужные пакетики и ждем.. Наконец доходим до выбора предустановленных комплектов программного обеспечения. Как я уже сказала, никаких «Графических окружений рабочего стола» у нас не будет. Да и вообще ничего из предлагаемого, кроме «Стандартных системных утилит» и набора «Для ноутбука» (в моем случае). Остальное мне точно не потребуется.
Осталось дело за малым - выбрать загрузчик (GRUB или LILO). Мне GRUB привычнее.
На этом установка закончена, перезагружаемся и..

Постапокалипсис.

.. и оказываемся в мрачном черном и практически безжизненном мире. Который мы и будем восстанавливать. Заходим под своей учетной записью (рута беспокоить пока не будем по пустякам) и вперед.
    Итак, что мы имеем на данный момент? 329 установленных пакетов и около 877мб в корневом разделе, занятых системой. Красиво конечно, но наша система практически пуста и в дальнейшем эти циферки увеличатся более чем в 2-3 раза. У нас уже есть русский язык в консоли (если вы его конечно выбрали при установке) и это хорошо.
    Первым делом нам надо сделать себе возможность выполнять команды от имени суперпользователя. Для этого набираем следующую команду:

su

и на запрос пароля вводим пароль рута, надеюсь вы его не забыли, иначе все пропало - нам не поднять этот мир :) И на время становимся всемогущими >:-E 

Теперь нам надо получить пакет sudo:
aptitude install sudo

Следующей командой мы вписываем себя в особы, приближенные к императору (только аккуратно и без ошибок):
 nano /etc/sudoers

Откроется файл, который нужно дополнить после строк:

# User privilege specification
root    ALL=(ALL)    ALL 

следующей строчкой:
kammi    ALL=(ALL)    ALL

Вместо kammi имя вашей учетной записи! После этого нажимаем Ctrl+X, затем Y и Enter. Изменения будут сохранены и теперь можно выйти из рута, пока он ничего не заметил =) командой:
exit

    Ну что ж, теперь мы имеем право выполнять команды от имени суперпользователя и это нам еще много раз пригодится.
Чтобы испытать ностальгию по временам DOS'а ставим файловый менеджер Midnight Commander. Да и просто он весьма полезен.
sudo aptitude install mc

На запрос пароля вводим пароль уже своей учетной записи, а не рута.
Запускается этот файловый менеджер командой:
mc

Не стоит пугаться внешнего вида — вещь отличная и может здорово облегчить жизнь. Да и синего уже появилось немного на черно-белом фоне ;) Посмотрели, наигрались, жмем F10 и выходим снова в консоль.

    Настало время установить графический сервер, который неплохо отяготит нашу систему кучей пакетов, но без него никуда.
sudo aptitude update
sudo aptitude install x-window-system x-window-system-core

Заодно не помешает пакетик mesa-utils:
sudo aptitude install mesa-utils

Проверяем работу X-сервера командой:
startx

Если увидели маленький терминал на фоне чего-либо (серой сетки, черного экрана), значит все ок. Если не увидели и вывалились назад в консоль, то пробуем переконфигурировать xorg-сервер, а заодно создать файл xorg.conf, которого скорее всего сейчас вообще нет. Выполняем:
sudo dpkg-reconfigure xserver-xorg

По завершении идем в каталог /etc/X11/
cd /etc/X11
ls

Смотрим появился ли xorg.conf. Если да, то:
sudo nano xorg.conf

Ищем секцию:

 Section "Device"
    Identifier     "что-либо"
    Driver         "vesa"
EndSection

и в строке Driver вписываем vesa. После чего сохраняем изменения (Ctrl+x, Y, Enter) и пробуем еще раз запустить Х-сервер:
startx

По-идее должно запуститься. Если нет — читаем вывод в терминале, логи и идем искать решение проблемы в интернете. Или же пробуем ставить драйвер для своей видеокарты, который в любом случае ставим следующим шагом. Как его ставить и какой я тут описывать не буду. Видеокарт много, вариантов установки еще больше, а в случае с ATI (особенно старыми) это еще те пляски с бубном. Для Nvidia, как правило, достаточно скачать драйвер с официального сайта и установить следуя инструкции, имеющейся там же.
    После успешной установки драйвера и запуска Иксов ставим нашу прелесть — оконный менеджер Compiz:
sudo aptitude install compiz-core compiz-plugins compizconfig-settings-manager compiz-fusion-plugins-main compiz-fusion-plugins-extra fusion-icon

Затем Emerald:
echo "deb http://download.tuxfamily.org/shames/debian-sid/desktopfx/unstable/ ./" | sudo tee -a /etc/apt/sources.list

Добавляем ключ:
wget http://download.tuxfamily.org/shames/A42A6CF5.gpg -O- | sudo apt-key add -

sudo aptitude update

И ставим Emerald:
sudo aptitude install emerald emerald-themes

Теперь можно проверить работу компиза:
startx
compiz --replace

Если все хорошо, то он запустится и мы увидим черный экран. Можно покрутить кубик (если он включен по-умолчанию), но больше ничего сделать или запустить не удастся. Поэтому возвращаемся в консоль:
Ctrl+Alt+Backspace

Ставим менеджер сеансов (гномовский, хотя это не принципиально):
sudo aptitude install gdm

Теперь проделаем следующее:
startx
ccsm

Запустится утилита настройки компиза. Зайдем в раздел Эффекты → Оформление окна и в строке Команда впишем: emerald --replace. Разумеется надо включить Оформление окна, если оно не включено. 

Затем, в зависимости от версии компиза, ищем команды закрепленные за горячими клавишами. Я скачивала и ставила Debian Squeeze, поэтому «родной» Компиз у меня версии 0.8.4-4. В нем горячие клавиши находятся в разделе «Общие» → «Команды». Здесь пишем в Command line 0 (Командная строка 0) gmrun


А в следующей закладке «Комбинации клавиш» присваиваем Run command 0 (выполнить команду 0) какую-нибудь комбинацию клавиш, ну например стандартную Alt+F2


Эта связка у нас будет отвечать за запуск командной строки. Для начала достаточно, закрываем настройки Компиз и возвращаемся в консоль. Теперь, собственно, надо поставить этот самый gmrun, потому что пока его нет:
sudo aptitude install gmrun

Осталось настроить для запуска сессию Компиз. Я не буду изобретать велосипед и воспользуюсь способом найденным в инете. Создаем и редактируем файл compiz.desktop следующим образом:
sudo nano /usr/share/xsessions/compiz.desktop

и пишем в нем следующее:

[Desktop Entry]
Encoding=UTF-8
Type=Application
Name=Compiz
Exec=autostart.sh
Terminal=false

Сохраняем и идем в /usr/bin/
cd /usr/bin

Создаем скрипт запуска:
sudo nano autostart.sh

Заполняем его следующим образом:

#!/bin/sh
cd /home/ваша учетная запись
#
eval `dbus-launch --sh-syntax --exit-with-session`
#
/usr/bin/X :0.0 -br -audit 0 -nolisten tcp vt7 &
#
export DISPLAY=:0.0
#
sleep 1
#
compiz-manager decoration move resize > /tmp/compiz.log 2>&1 &
# add more apps here
fusion-icon

Сохраняем и делаем исполняемым:
sudo chmod +x autostart.sh

Теперь можно перезагрузиться и посмотреть, чего же мы натворили всем этим :) По-идее должны увидеть окно логина Gnome, в котором можно выбрать наш сеанс Compiz и загрузиться в него. 



При этом снова появится черный экран, но на этот раз у нас уже есть волшебные кнопки Alt+F2, которые вызовут нам командную строку. Ну а там уже можно писать что угодно. Например:
xterm

вызовет эмулятор терминала, не самый лучший, но этого уже достаточно, чтобы не возвращаться больше в консоль.
  Если кто добрался до этого момента — молодец ;) На этом пожалуй можно закончить первую часть. Все-таки она получилась подробнее и объемнее, чем я рассчитывала. Если честно, то даже не знаю для кого я подробности расписывала. Новички не станут такой фигней заниматься, а продвинутые и без меня все эти основы знают =) Но пусть будет.
Теперь можно перейти ко второй части — как же, все-таки, теперь всем этим с удобством пользоваться и чем именно пользоваться.

To be continued..

1 комментарий: