Быстрая 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
В качестве оконного менеджера буду использовать awesomecd /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
- указал в опиция поддержку X11make 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.