Быстрая FreeBSD на старый ноутбук. Часть 2: X11, оконный менеджер awesome, логин-менеджер Slim, файловый менеджер Thunar

Это продолжение

Начало здесь:
http://faq1c.gorbunov.ru/node/56

Там описана установка системы, софта текстового, настройка текстовой консоли

А тут - про сам сервер X, и программы его настраивающие.

Конечная цель - напоминаю

Получить на старом ноутбуке более-менее шуструю (много быстрее Windows XP) систему для просмотра интернета, фотографий, видео и редактирования текстов.

Добираюсь до графики - установка X11

cd /usr/ports/x11/xorg-minimal
make install VIDEO_DRIVER=ati, ибо у меня в ноутбуке видеочип ATI Xpress 200M

Компилируется очень долго. Задает на удивление мало вопросов об том, какие опции использовать. Помню: разрешил библиотеке "cairo" использовать "OpenGL" и еще чего то разрешал по мелочи.

Затем пишу в "/etc/rc.conf"
hald_enable="YES"
dbus_enable="YES"
и перезагружаю компьютер, замечаю, что hald и dbus стартовали (это пишется в самом конце загрузки, незадолго до входа пользователя).

"Dbus" может использоваться многими разными программами, главное не забыть при компиляции программ включать эту опцию.

Запускаю X11 без конфигурирования командой startx. Промелькало в графическом режиме что-то. Вернулось в текстовый режим. Читаю надпись: не нашла несколько программ, которые, видимо пыталась запустить. В частности, "xterm".

Устанавливаю "xterm":
cd /usr/ports/x11/xterm
make install clean

Еще раз запускаю startx. Все отлично запускается. Вижу окна "xterm", работает тачпад.

Пишу в "xterm" команду reboot. Перезагрузка пошла...

Таким образом, все работает автоматически. Тем не менее хочется сделать файл конфигурации:

X -configure
Создает файл "/root/xorg.conf.new"
В самом конце этого файла в разделе Section "Screen":
Убираю все подразделы SubSection "Display", кроме одной, где прописана глубина цвета 24 бита как Depth 24
Добавляю в этот подраздел строку разрешающую только конкретный графический режим Modes "1024x768"
Назначаю этот подраздел "умолчальным", для этого нужно прописать строку DefaultDepth 24 непосредственно перед началом под раздела, то есть перед строкой SubSection "Display"
Копирую правленный мною файл конфигурации в /etc/X11/xorg.conf, чтобы сделать его основным для всех.
Проверяю как работает:
startx

Замечаю, что все работает, хотя видно, что при запуске и завершении ругается:
auth: bad display name "имя моего компьютера"

Чтобы не ругалось так - нужно резольвить имя. Разумеется проще всего прописать в /etc/hosts строку:

127.0.0.1 полное_имя_компьютера_с_указанием_домена

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

В качестве оконного менеджера буду использовать awesome
cd /usr/x11-wm/awesome, не "/usr/x11-wm/awesome2"!!! Ибо в "awesome" лежит 3-я версия, а в "в awesome2" - вторая
make install clean

Естественно в ответ на использование "dbus" - соглашаюсь, не зря же ее ставил. В ответ на вопросы добавляю кое-какие опции для "Imagemagick" (некоторые форматы) и "ghostscript" (мост к "FreeType", я так понимаю - это шрифты).

Как же много он за собой тянет.... Ничего - это все потерпим ради удобства. Он мне нравится тем, что располагает окна так, что они не перекрываются. Следовательно понятие "таскать" окна исчезает. Для запуска одновременно нескольких программ можно воспользоваться встроенной его возможностью аналогичной мульти-десктопу.

Ошибка при установке xmlto:
I/O error : Attempt to load network entity http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd
warning: failed to load external entity "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"
validity error : Could not load the external subset "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"
Document /usr/ports/textproc/xmlto/work/xmlto-0.0.23/./doc/xmlto.xml does not validate
*** Error code 13

И это - удивительно, ибо файл существует и скачать его можно. Что только не думал. Обновил порты по "csup" и "portupgrade" - оказывается не зря, опять есть обновления.

Чтобы решить эту странную проблему поставли отдельно docbook-xml, содержащий указанный файл docbookx.dtd версии 4.2:
cd /usr/ports/textproc/docbook-xml
make clean install

и с версией 4.5 этого же файла:
cd /usr/ports/textproc/docbook-xml-450
make clean install

После этого заново запускаю установку "awesome":
cd /usr/ports/x11-wm/awesome
make clean
make install clean

Компилируется очень долго, тянет кучу зависимостей, задает много вопросов. В конце концов установка завершена.

Прописываю его в "/root/.xinitrc"
exec awesome

Запускаю "X11":
startx

"Awesome" запустился.
Выйти можно через меню, появляющееся при нажатии в левый верхний угол - на логотип "awesome".

Осталось теперича сконфигурировать...

Замечание:
Каждая вторая русскоязычная статья о конфигурировании "awesome" отмечает то, как часто меняется конфигурационный файл от версии к версии. Таким образом, то что я напишу скоро будет не совсем верно.

Поскольку у меня на ноутбуке настройки "awesome" для всех пользователей идентичны, то редактирую общий для всех файл:

/etc/xdg/awesome/rc.lua

Кое-что о конфигурировании можно прочитать тут:
http://evsyukov-da.ya.ru/replies.xml?item_no=1299&ncrnd=7512
http://odistu.wordpress.com/tag/awesome/

Официальная русскоязычная страница wiki "awesome" с описанием конфигурации:

http://awesome.naquadah.org/wiki/Awesome_3_configuration/ru

Логин-менеджер Slim

Эта программа умеет стартовать на этапе загрузки операционной системы, запускать сервер X и управлять входом пользователей.

cd /usr/ports/x11/slim
make install clean

Отлично - минимум зависимостей за собой потянул.

Для автоматического запуска и его и X11 при загрузке системы пишу в файле "/etc/rc.conf":
slim_enable="YES"

Перезагружаюсь. Отлично - стартует.

Однако зайти нельзя. Потому как единственный пользователь в моей системе - root - без пароля. Ну не пускает он без пароля вовсе.

Переключаюсь в вторую текстовую консоль нажатием сочетаний трех клавиш "Alt+Ctrl+F2", вхожу под именем пользователя "root" и задаю ему пароль с помощью программы:

passwd

Затем возвращаюсь в графический режим по сочетанию двух клавиш "Alt+F9" и вхожу под именем пользователя "root" с паролем.

Запускается "awesome" автоматически, поскольку он уже был прописан в "/root/.xinitrc".

Перемещение файла "/root/.xinitrc" в "/etc/X11/xinit/xinitrc" не дает "Slim" запускать чего либо, в результате происходит возврат на момент ввода пароля.

На рабочем столе остается картинка от "Slim", та самая, которая присутствовала во время запроса пароля. Правда после запуска "xterm", в нем "mc" и развертывания "mc" на полный экран и выхода из "mc" на первом рабочем столе навечно (до перезагрузки) осталось изображение "mc", на остальных рабочих столах пока осталась картинка от "Slim"

Выход из "awesome" вызываем перезагрузку X11 и снова вижу экран "Slim" с требованием ввести пароль.

Все более-менее нормально.

Ковыряю файл настройки "Slim", расположенный в "/usr/local/etc/slim.conf". Там все просто, даже нет необходимости в файле-примере "/usr/local/etc/slim.conf.sample":

Закрываю комментарием строку "sessions ...", ибо у меня только один вариант будет - только "awesome"
Указываю пользователя по умолчанию: "default_user ...."
Разрешаю автоматически заходить в систему "auto_login yes", для этих целей при добавлении ранее пользователя не задавал пароль.
В строке, начинающейся с "login_cmd ..." меняю скрипт "~\.xinitrc" на общий для всех пользователей "/etc/X11/xinit/xinitrc" в котором пока одна-единственная строчка "exec awesome".

Перезагружаюсь. Через пару минут оказываюсь в графическом режиме и наблюдаю черный рабочий стол с полоской, которую рисует "awesome" вверху экрана.

После выхода из "awesome" опять получаю запрос пароля от "Slim", но пароля-то у моего пользователя нет. Так зайти не могу - только когда автоматом сразу же после загрузки системы "Slim" сам заходит от имени этого пользователя.

Перехожу в текстовый терминал по сочетанию клавиш "Ctrl+Alt+F1", захожу от имени моего пользователя (а не "root" как обычно), запускаю passwd для того, чтобы задать пароль.

Перезапускаю систему. Обнаруживаю, что "Slim" без разницы - есть или нет пароль у моего пользователя. Он автоматически заходит от его имени. Ну и ладно.

Кое-какие советы по "Slim":
http://wiki.archlinux.org/index.php/SLiM_%28%D0%A0%D1%83%D1%81%D1%81%D0%...

Мне не пригодились - так все просто.

Программа манипуляций с файлами и каталогами в графическом режиме Thunar

Для манипуляциями с файлами меня вполне устраивает Midnight Commander, но для других пользователей будет полезен Thunar. Напоминает Проводника Windows. Только без панели, висящей внизу экрана.

cd /usr/ports/x11-fm/thunar
make install clean

И иконки к нему:
cd /usr/ports/misc/gnome-icon-theme
make install clean

Поскольку уже есть X11, то перекомилировал под него Midnight Commander

Из надежды, что будет лучше работать в xterm.

cd /usr/ports/misc/mc
make deinstall
make config - указал в опиция поддержку X11
make install clean

Вроде - лучше. Не уверен.

Переключение раскладки клавиатуры в X

Можно просто задать команду:
setxkbmap -layout 'us,ru' -option 'grp:ctrl_shift_toggle,grp_led:caps'
После нее переключение будет осуществляться по нажатиям сочетния клавиш "Ctrl+Shift", если вместо "ctrl" в команде указать "alt", то переключение раскладок будет производиться по сочетанию "Alt+Shift".

В параметрах "grp_led:caps" указывает на то, что когда включена русская раскладка будет светиться лампочка "CapsLock", там же можно указать вместо "scroll", тогда светиться будет ScrollLock.

Прописал эту команду в файле "/etc/X11/xinit/xinitrc", из которого запускается и "awesome".

Есть еще современный метод переключения раскладок через HAL, но там нужно больше конфигурационного текста писать - и мне лень. Будут проблемы с переключением раскладок - перейду переключение с HAL.

2002-2012 ©