*Обсуждение сборки и свежие ссылки теперь здесь:
http://www.calculate-linux.ru/boards/44/topics/11881*
Началось все с того, что мэинтэйнеры кед опять напортачили со слотами…
Как не странно именно так все и началось. Мне это просто надоело: постоянные блокировки при обновлении минорных версий qt и kde, по-настоящему достало это меня, когда на ноутбуке жены с бинарным профилем попытка обновить систему вылилась в почти полный снос кед, а как оказалось нужно было пересобрать бинарники из-за изменения в нумерации слотов кде. Ну да ладно это все цветочки.
Был скачал последний на тот момент стэйдж CLS с OpenBox, установлен на второй рут и запущен. В начале, как я и предполагал, у меня есть полностью НЕ настроенный, «голый» рабочий стол.
Я знаю, что в CLS уже есть gtk+ и qt, так что я отталкивался от того, что могу использовать проги, которым нужен один из 2-х фреймворков. Выбор огромен, так что я не расстраиваюсь!
-
Для начала окружение для сборки, которое я для себя создал:
Мои USE-флаги в make.conf:USE="${USE} -consolekit qt4 -gtk -gtk3 wicd -networkmanager mmx -hal
gallium -gnome -gconf python3 X -mysql -postgres -semantic-desktop
-lirc sqlite -ldap opengl -gimp -slang ncurces -ggi taglib 3dnowext
custom-cflags smp libnotify -ipv6 -spell -qt3support -policykit"
Они, с небольшими изменениями, кочуют у меня от системы к системе. Поясню, почему я отключил gtk — включение этого флага тянет за собой сборку gnome-common какой-то программой, а это меня совсем не устраивает. Этот флаг я включаю только для нужных мне программ через /etc/portage/package.use/using
.
Содержимое /etc/portage/
приводить не стану, все можно настроить по своим предпочтениям.
Последнее и немаловажное — я сижу на нестабильной ветке, профиль у меня calculate/desktop/CLS/amd64/developer, и ACCEPT_KEYWORDS=~amd64 в make.conf.
2. Поехали дальше, что было доустановлено мной:
media-gfx/feh
— очень простой просмотрщик графики, я его использую для установки обоев.
x11-misc/tint2
— таскбар, часы и трэй в одном флаконе, специально для легких WM.
x11-misc/tintwizard
— ГУИ настройки tint2, можно не ставить, это по желанию. НЕ зыбывайте после ее запуска загружать текущий конфиг.
sys-apps/iproute2
— пришлось доустановить для работы последних кальковских утилит, обещают в следующий стэйдж включить в поставку.
x11-misc/obconf
— ГУИ для настройки OpenBox, настраиваются практически все параметры, темы шрифты и т. д.
x11-misc/obmenu
— ГУИ для настройки главного меню.
www-client/firefox
— думаю всем понятно, исходя из предпочтений калькостроителей, можно заменить на www-client/chromium
.
app-office/libreoffice-bin
— тоже думаю в объяснениях не нуждается. Ставил именно бинарник из-за значительно более быстрой установки, да и версия бинарная оказалась свежее.
net-irc/xchat
— опять все поняли. Ставил с флагом gtk, иначе не будет ГУИ.
x11-misc/xxkb
— крохотная переключалка раскладок, позволяет переключать языки отдельно для каждого окна и показывать индикатор раскладок, можно даже флажки стран прикрутить.
sys-apps/pmount
— для работы с внешними накопителями от пользователя, скрипт mountmenu.sh прилагается.
x11-apps/xdm
— совственно ясно, что это. Поясню зачем: не понравилось мне автологин через хитрые механизмы в /etc/sysctrl.conf
и через создание хитрых программ на С, в которых прописано имя пользователя. Бал выбран простой путь — следующий пакет
x11-misc/slim
— тоже понятно, именно через него и настроен автологин. А можно и не настраивать, а работать, «как положено», со всей «секюрностью».
net-misc/wicd
— управлялка проводными и беспроводными сетями. К сожалению NetworkManager тянет за собой PolicyKit и ConsoleKit и избавится от них не получается, а ГУИ для него тянет еще и часть гнома.
-net-misc/networkmanager
— решил не ломать традицию калькулэйт и, по‑возможности, пользуюсь, тем, что используется в других дистрах. У меня он собран с флагами connection-sharing dhcpcd kernel_linux, иногда приходится через свой бук давать инет компам без вафли.
net-misc/cnetworkmanager
— без комментариев.
gnome-extra/nm-applet
— аплет для руления нетворкманагером. Он, к сожалению, не собираеться без кусков гнома, но флагами можно минимизировать «хвосты», у меня получилось свести кол-во зависимостей до 10, не бог весть что, но другая альтернатива — руками поднимать с помошью cnetworkmanager, а рулить вообще непонятно как, наверное nmcli мог бы помочь. Wicd не стал ставить, хотя очень хотелось и зависимостей меньше, но причины см. выше, да и в нем нету возможности рулить ppp соединениями.
x11-themes/hicolor-icon-theme
— без этого пакета в nm-applet-е не запускается окно настройки соединений.-
net-p2p/rtorrent
— имхо, самый лучший клиент для торрента, гуи не искал и не ставил, консольная морда меня вполне устраивает. Единственный, несущественный для меня, минус — не умеет создавать торрент-файлы. Собирал с флагами color daemon xmlrpc. Что тянет за собой для работы “демоном”
app-misc/screen
— без объяснений.
net-im/pidgin
— возможно и не самый мощный выбор, но как замена kopete меня вполне устроила. Собирал с флагами gtk ncurses networkmanager nls.
net-im/skype
— кому-то нужны комментарии?
media-video/smplayer
— тоже все понятно, одно уточнение — я ставил из своего локального оверлея с маленько подправленным ебилдом, потому как уже давно и надежно сижу на
media-video/mplayer2
— замена mplayer, у меня работает более плавно на HD видео, вроде как использует для воспроизведения все ядра — не проверял.
www-plugins/adobe-flash
— тоже, думаю не нуждается в представлениях, к сожалению, пока без нее тяжко. Ставил версию 10.2.159.1_p201011173, 10.3 сразу после ее появления надежно замаскирована мной потому как она ТОЛЬКО 32-бита и тянет за собой кучу emul‑linux, а в итоге ФФ ее не видит. Возможно с хромом ситуация будет другая. В чате все упорно советуют 11-ую версию, но в дереве ее нету, а пихать мимо дерева я ничего не хочу, так же как и искать или писать для этой поделки ебилды, если версия для линукса не нужна разработчикам, то уж мне она и подавно…
app-misc/mc
—
app-emulation/virtualbox-bin
— ну нужна мне винда для работы, что же тут поделаешь.
app-admin/sudo
— да, я им пользуюсь.
x11-misc/gmrun
— запускалка приложений, типа krunner.
media-sound/mpd
— музыкальный сервер, очень давно слушаю музыку с его помощью, меня он всем устраивает, морды можно использовать разные в кедах я использовал media-sound/qmpdclient, но на данной системе он потянул за собой непростительно много зависимостей и был заменен на проверенный
media-sound/sonata
— ГУИ для mpd на GTK+.
media-gfx/scrot
— утилитка для снятия скриншотов.
x11-misc/parcellite
— утилита для работы с буфером обмена.
app-text/evince
— утилита для просмотра PDF, DjVu, tiff и т.д.
Вроде все. Все зависимости отслеживались при установке пакетов. С помощью флагов было минимизировано количество зависимостей, по возможности все флаги, которые я не знал были убраны. Все флаги вносились в /etc/portage/package.use/using
.
3. Настройки всего этого хозяйства.
В основном, настройки у меня уже были, т. к. я и раньше некоторое время пытался работать в OpenBox, но теперь я решил сделать все основательно и надолго
Первое, что ввело меня в ступор это полное игнорирование калькулэйтом файла ~/.xinitrc
. Первое время система от пользователя вообще отказывалась запускать startx, пришлось удалить ~/.xinitrc
, после этого startx заработал. Пришлось использовать автозапуск самого OpenBox-а ~/.config/openbox/autostart.sh
Этот вариант оказался самым обычным bash-скриптом, вот его содержимое:
#!/bin/bash
feh --bg-scale "/home/rodion/Pictures/naturelandscapepack/nature & landscape (24).jpg" &
tint2 &
xxkb &
wicd-gtk &
parcellite &
Все мои попытки сделать хитрый автологин с запуском Х-ов показались мне не очень красивыми и было принято решение установить slim. После недолгого изучения полученного файла конфигурации обнаружилось, что в шаблонах кальки, формирующих /etc/slim.conf
, параметр login_cmd настроен так, что он не воспринимает файл ~/.xinitrc
, хотя в дефолтных настройках его обработка предусмотрена. Чем так не угодил разработчикам самый древний способ автозапуска программ при старте Х-ов? Оставляю это на совести разработчиков. Собственно, настройка автологина в слиме сводится к прописыванию двух параметров в его конфиге: default_user username и auto_login yes.
Настройки OpenBox описывать не буду, т. к. они отлично делаются через «родной» ГУИ — obconf, там все совершенно понятно. Вся конфигурация лежит в ~/.config/openbox/rc.xml
. Не забывайте запускать реконфигурацию после внесенных изменений. Первая неприятность, которую я пока не победил — после реконфигурации пропадают значки в трее (прямо как в винде).
Настройка меню так же делается из ГУИ — obmenu, там тоже все понятно без особых объяснений. Сами настройки меню лежат рядом с конфигурацией OpenBox, в файле menu.xml
.
Настройки tint2 можно сделать из tintwizard*а или взять готовые. Настройки лежат в~/.config/tint2/tint3rc
*. В настройщике не все мне было сразу понятно, я его установил, когда у меня уже был готовый конфиг. Не забывайте сразу после запуска конфигуратора загружать текущий файл конфигурации, иначе можно потом сохранить дефолтные настройки и заменить рабочий конфиг.
Настройка xxkb лежит прямо в хомяке — ~/.xxkbrc
, у меня настроено 2 языка.
Больше всего проблем мне принес NetworkManager, вернее, решение о «визуализации» его работы и управлении им. К сожалению апплета на «чистых» GTK+ или QT нет. Пришлось установить nm-applet, он потянул за собой некоторое количество пакетов от гнома, точнее 10, не очень больших. После запуска он упорно показывал на доступной точке доступа знак «Стоп» и не давал мне подключать сеть от пользователя. Запущенный0 от рута, первым делом спросил пароль от какого-то «брелока», т. к. я ни разу не гномовод, для меня это стало неожиданностью, был задан произвольный пароль и дело пошло дальше. При каждом запуске nm-applet появлялся запрос на пароль к «брелоку». От рута сеть настроилась и запустилась. Не забывайте при настройке сети установить галку, разрешающую работать с соединением всем пользователям. После пересоздания соединения и установки нужной «птички» соединение от пользователя запускается, но вот «брелок», заставил углубиться на форумы убунтологов. Решение было найдено: запуск gnome-keyring-daemon перед запуском nm-applet.
Настройка Wicd сводится к добавлению его в автозагрузку rc-update add wicd default
и запуску gtk-ного ГУИ при старте OpenBox-а.
Далее была поставлена задача сделать монтирование и нормальное, «мышкотыкательное», отмонтирование внешних устройств. На сайте кальки была найдена статья по этому поводу. http://www.calculate-linux.ru/blogs/show/214 Для всего этого используеться usidks и udisks-glue для автомонтирования. Настройки передрал, маленько покопался с ошибкой, решил, отписал в статью о найденном решении. Обнаружил пренеприятнейшую особенность данного решения — если на флешке несколько разделов, то не монтируется ни один Пошел копать дальше. Гугуление по «openbox монтирование» выдало интересную статейку о формировании динамического меню OpenBox при втыкании носителя. Скрипт mountmenu.sh был срочно положен в /usr/local/bin/
, нужная строка
<menu execute="mountmenu.sh" id="mounts" label="Устройства"/>
прописана в меню и начато тестирование. В итоге в скрипте были оставлены только 2 пункта — «Монтировать» и «Отмонтировать». Используеться pmount. Проблема автомонтирования пока отложена.
Настройки scrot свелись к определению кода клавиши PrtSc с помощью xev, прописыванию нового биндинга в конфиге OpenBox для запуска скрипта и созданию bash-скрипта screenshot.sh
в /usr/local/bin/
.
На этом, пока все, скрин прилагается, ничего особо примечательного на нем нету. Возможно кроме потребления проца X-ами К сожалению запечатлеть меню с помощью PrtSc не удалось, сфоткал мобильником.