?

Log in

Конфигуриране на i3 за нормална работа (за хора идващи от ГНОМ среда) - Look, someone's on that tree

Dec. 4th, 2010

04:19 pm - Конфигуриране на i3 за нормална работа (за хора идващи от ГНОМ среда)

Previous Entry Share Next Entry

В този пост ще се постарая да опиша как се конфигурират неща, като "кирилица, превключване между кирилица и латиница, специални символи, мултимедийни клавиши, яркост на монитора, време на заспиване на монитора, настройки на шрифтовете, настройки на темите" и разни други подробности, заради които много хора, макар да не ползват Гном среда, а нещо по-леко и по-бързо в крайна сметка по някакъв начин след стартиране на сесията изпълняват:

/usr/libexe/gnome-session-daemon
gnome-power-manager

Целта с горните две команди обикновено е:

Понякога това включва и "да си оправим грозните шрифтове".

Демона за настройки на Гном обаче пуска множество други неща, като монитори за закачане на преносима медия и прочее, неща, които много бързо хората се научават да правят с gvfs-mount и да достъпват в Midnight Comander. Следните стъпки е необходимо да бъдат предприети за да получим всичко онова, изброено по-горе, без да е нужно да имаме Гном.

Първо: намираме как се добавят команди към стартирания window manager.
В моя случай това е i3. Добавянето на команди, които да бъдат изпълнени при стартирането му става много лесно с включването на exec клаузи в края на конфигурационния му файл.

Втора стъпка: определяне на подходящите за нас настройки.
Тъй като тук предполагаме, че идваме от Гном среда, подходящите за нас настройки за шрифтове, теми за приложенията, осветеност на монитора, клавишни подредни и прочее са ясни. Ето как се взимат настройките на клавишите:
setxkbmap -print

Върнатия резултат е нещо такова (варира според вашите настройки в Гном):
xkb_keymap {
xkb_keycodes { include "evdev+aliases(qwerty)" };
xkb_types { include "complete" };
xkb_compat { include "complete" };
xkb_symbols { include "pc+us+inet(evdev)" };
xkb_geometry { include "pc(pc104)" };
};

От така взетите настройки се прави командата:
setxkbmap -compat "complete+ledscroll(group_lock)" -keycodes "evdev+aliases(qwerty)" -types "complete" -symbols "pc+us+bg(phonetic):2+inet(evdev)+group(lwin_toggle)+level3(menu_switch)+compose(caps)+eurosign(5)" -geometry "pc(pc104)"

Както се вижда лесно просто съм копирал настройките от горния изход и съм ги приложил към съответната опция на командата. За удобство съм изнесъл цялата команда във файл за bash интерпретатора, но това не е задължително.

Следва настройката на шрифтовете. Отваряте gnome-appearance-properties и в секцията с шрифтове разглеждате настройките. Трябват ви следните данни: дали се заглаждат шрифтовете (почти сигурно - да), дали се ползва hinting, какъв тип се ползва. Резултата записваме в ~/.Xdefaults:
Xft.antialias: 1
Xft.hinting: 1
Xft.hintstyle: hintfull
Xft.rgba: vrgb

Следват темата и шрифта за Гном/ГТК приложенията: тях всички вярвам добре знаят как да намерят в графичната среда, тъй като са от най-често променяните. След като ги намерим ги записваме във файла ~/.gtkrc-2.0:
gtk-theme-name = "Beos-r5"
gtk-font-name = "Liberation Sans 11"

Тези са моите.
Следва настройката на яркостта на монитора: необходим ви е xbacklight.
Останаха само настройката на изгасяне на монитора и мултимедийните клавиши. За клавишите ще се наложи да ползвате xev. При пускането му натиснете всички клавиши и клавишни комбинации за мултимедия, които виждате на клавиатурата си, след това го спрете. Онова, което ви трябва от цялата изписана боса са редовете с KeyPress event. В тях намираме нужните ни кодове (keycode) - обикновено 2 или 3 цифри.

Накрая е необходимо да съберем настройките и да ги добавим към командите на мениджъра на прозорци, част от тях като изпълними такива, други, като извиквани чрез клавиши (по-специално - мултимедийните клавиши).
Ето как изглеждат моите клавишни извиквания в i3:
bind 121 exec amixer set Master toggle -q
bind 122 exec amixer set Master 10%- -q
bind 123 exec amixer set Master 10%+ -q
bind 232 exec xbacklight -dec 10
bind 233 exec xbacklight -inc 10

Моят лаптоп има само клавиши за усилване, намаляване на звука и спиране/пускане на звука, плюс два клавиша за яркостта на LCD панела. Ползвам amixer за да командвам alsa, тъй като pulseaudio хаби твърде много CPU когато работи. Как да спрем pulseaudio и да накараме приложенията ни да работят с Алса е тема на друг пост.

Ето и автоматично изпълняваните команди от i3 (изпълняват се всеки път когато се стартира):
exec xsetroot -solid "#000"
exec xrdb -merge ~/.Xdefaults
exec xbacklight -set 30
exec ~/Documents/System/Applications/Bin/setkbd.sh
exec xset dpms 0 0 300

setkbd се ползва за настройка на клавиатурата, както беше описано по-горе.
Един проблем, който още не мога да разреша е как да направя подредбата да бъде запомняна за всеки прозорец, така че да не се налага да сменям постоянно подредбите, това е опция в Гном, не не намирам в Интернет как се прави без Гном. Ако някой знаеш, моля да помогне.