file Fluxbox - inštalácia a konfigurácia

  • TomasHanzel
  • TomasHanzel-ov Avatar
  • Online
  • Administrátor
  • Administrátor
  • OpenSuSE + KDE 4,5, GNOME 3
Viac
16 feb 2010 13:25 - 16 feb 2010 13:31 #4437 od TomasHanzel
Fluxbox - inštalácia a konfigurácia bolo vytvorené TomasHanzel
Fluxbox - inštalácia a konfigurácia

Príde Vám KDE príliš robustné a Gnome zas málo konfigurovateľný? Je tu pre Vás Fluxbox, minimalistický, rýchly a vysoko konfigurovateľný window manager. Fluxbox navyše aj perfektne vyzerá, pretože vyzerá tak, ako chcete vy.

Nepopierateľnou výhodou Linuxu je slobodná voľba grafického prostredia. Nie každý si však môže dovoliť ramkopapkáčov KDE a Gnome a tak zvolia alternatívu v podobe minimalistických prostredí akým je fluxbox. Títo ľudia si však čoskoro uvedomia, že nenáročnosť ani zďaleka nie je jedinou výhodou a že fluxbox im ponúka multifunkčné pracovné prostredie a zistia, že už nič viac nepotrebujú. Aj s narastajúcimi hardwarovými prostriedkami stále zostávajú u tohto giganta medzi minimalistickými. Šialenstvo? Stačí vyskúšať a uvidíte, že to tak nie je. A práve o tom je tento článok :).

Inštalácia

Fluxbox je v repozitároch každej lepšej distribúcie. Slackware ho má dokonca na inštalačnom médiu. V prípade, že tá vaša ho tam nemá (preboha čo to používate?!) jednoducho stiahnite zdrojový kód. (Tu sa prejavuje spomínaná minimalistickosť, zdrojové kódy nemajú ani 1 MB!) Potom rozbaľte tarball vaším obľúbeným nástrojom. Ja preferujem nástroj "tar", je textovo orientovaný takže jednoduchý príkaz:
tar -xzf fluxbox-1.1.1.tar.gz

rozbalí zdrojové kódy do priečinka fluxbox-1.1.1. Teraz musíme zdrojové kódy skompilovať. Tu už sa terminálu nevyhneme. Nasledujúca sekvencia príkazov fluxbox skompiluje. Pri každom príkaze je jednoduchý popis. cd fluxbox-1.1.1 # presunieme sa do priecinka fluxbox-1.1.1
./configure 		# skontroluje pripravenosť sytemu a vytvorí subory pre    
 #automaticku kompilaciu
 make        			# zacne automaticku kompilaciu
 su           # spravi z nas roota
 make install 		# nainstaluje

A je to. Teraz musíme zariadiť aby sa fluxbox spúštal po štarte x servera. V prípade, že používate GDM/KDM nie je to problém, proste vyberiete fluxbox pri štarte. V prípade XDM musíte editovať súbor ~/.xsession a vložiť doňho
exec /usr/bin/startfluxbox

V prípade, že nepoužívate žiadny login manager rovnaký text vložte do súboru ~/.xinitrc. Reštartnite x server a hurá, máte spustený fluxbox.
Konfigurácia

Nič moc čo? Rozhodne tomu neprislúcha výraz "fluxbox perfektne vyzerá". Čaro fluxboxu je ale v tom, že sa dá nastaviť takmer všetko (alebo úplne všetko?). Prikladám screen mojej plochy v čase písania tohto článku aby ste si urobili predstavu :).



Fluxbox sa konfiguruje sadou konfiguračných súborov v adresári ~/.fluxbox. Ku každému súboru sa dostaneme, väčšinou pri nejakej modelovej situácií. Tak začneme hneď prvým problémom, s ktorým sa užívatelia po spustení potýkajú.

Zmena pozadia

Nastavenie pozadia je pomerne komplexná záležitosť a existuje viac ciest ako ju dosiahnuť. Prvou cestou je pomocou programu fbsetbg. fbestbg je súčasťou fluxboxu, avšak samotný nám nestačí. fbsetbg potrebuje nejakú tretiu aplikáciu, tzv. "wallpapersetter". Či už nejaký v systéme máme, zistíme príkazom
fbsetbg -i

Ak fbestbg vypíše niečo podobné tomuto:

display doesn't set the wallpaper properly. Transparency for fluxbox
and apps like aterm and xchat won't work right with it. Consider
installing feh, wmsetbg (from windowmaker) or Esetroot (from Eterm) and
I'll use them instead.


nijakú takúto aplikáciu v systémom nemáme. Error nás hneď aj informoval aké aplikácie môžeme použiť. Takže po nainštalovaní niektorej z nich problém zmizne. Ja osobne používam Esetroot. Samotný wallpaper potom nastavíme príkazom
fbsetbg /cesta/k/wallpaperu.png

Gualá. Vyskakuje nám tu však problém, po reštartovaní resp. znovu spustení x servera sa nám pozadie nenastaví. fbsetbg má pohodlný prepínač -l, ktorý nastavý naposledy použité pozadie. Zadávať tento príkaz po každom spustení je ale dosť na draka, preto použijeme súbor ~/.fluxbox/init, v ktorom nastavíme voľbu "session.screen0.rootCommand" na hodnotu "fbsetbg -l", teda v súbore bude:
session.screen0.rootCommand:    fbsetbg -l

A je to. Spomínal som ale viacero ciest, preto si popíšeme aj druhú, myslím, že čistejšiu cestu. V konfiguračných súboroch štýlov fluxboxu (k štýlom sa dostaneme neskôr), sa pozadie a jeho vlastnosti nastavujú pomocou direktívy background. Môžeme editovať konfiguračný súbor štýlu, avšak ponúka sa flexibilnejšia cesta pomocou direktívy "session.styleOverlay" opäť v súbore "~/.fluxbox/init". Pomocou "session.styleOverlay" definujeme súbor, ktorý môže obsahovať rovnaké direktívy ako konfiguračný súbor štýlu. Nastavenia definované v tomto súbore sa však použijú prednostne. Takže do ~/.fluxbox/init vložíme napr.
session.styleOverlay: 	/home/jozef/.fluxbox/overlay

a do súboru /home/jozef/.fluxbox/overlay:
background: aspect
background.pixmap: /plna/cesta/k/obrazku.png

prvý riadok určuje zarovnanie pozadia, druhý očividne obrázok, ktorý sa má použiť. Nezabúdajte, že v prípade použitia aspect musí byť cesta k obrázku absolútna!

Menu

Po kliknutí pravým tlačidlom na plochu, sa dostaneme do menu. Menu je hlavné rozcestie a prakticky jediná možnosť ako "klikacím" spôsobom spustiť program vo fluxboxe. Tak ako všetko aj menu má konfiguračný súbor. Opäť sa cesta k tomuto súboru nastavuje pomocou ~/.fluxbox/init a to direktívou "session.menuFile". Môže sa stať, že žiadne v menu ešte nemáme, potom si môžme vytvoriť vlastný konfiguračný súbor od základov, alebo použiť program fluxbox-generate-menu. Druhý spôsob je jednoduchší a navyše fluxbox-generate-menu vie okopírovať menu z KDE alebo Gnome. Nasledujúci výpis ukazuje niekoľko použití tohto programu.

# okopíruje KDE menu do súboru ~/.fluxbox/kdemenu
fluxbox-generate-menu -k -o ~/.fluxbox/kdemenu

# okopíruje Gnome menu do súboru ~/.fluxbox/gnomemenu
fluxbox-generate-menu -g -o ~/.fluxbox/gnomemenu

# vytvori štandardné menu s aplikáciami ktoré nájde v systéme
fluxbox-generate-menu -o ~/.fluxbox/normalmenu

# zobrazí help (odporúčam prečítať)
fluxbox-generate-menu -h

Súbor z konfiguráciou menu potom nastavíme vo ~/.fluxbox/init :

session.menuFile: ~/.fluxbox/gnomemenu

Teraz sa nám po pravom kliku na plochu zobrazí zvolené menu (bez akéhokoľvek reštartu). Nie vždy nám však menu vytvorené pomocou fluxbox-generate-menu bude vyhovovať, preto musíme editovať konfiguračný súbor. Jeho syntax je jednoduchá. Všetko začína výrazom "[begin]" za ktorým nasleduje názov menu a končí "[end]". Submenu sa tvorí dvojicou "[submenu]" a "[end]". Samotné položky potom majú syntax "[operácia] (názov) {príkaz}". Ukážkové jdnoduché menu je na nasledujúcom výpise.
[begin] (Moje menu)
 [exec] (firefox) {firefox}
 [submenu] (Terminals)
 [exec] (xterm)		{xterm}
 [exec] (aterm) 		{aterm}
 [exec] (Gnome terminal) {gnome-terminal}
 [end]
 [end]

Tabulátori sú samozrejme nepovinné avšak zvyšujú prehľadnosť. Takéto menu potom vyzerá asi takto:

Operácia samozrejme nemusí byť len exec. Spomeniem napr. [separator], [config], [style], [exit]. Vymenovanie a popis všetkých je trochu nad rámec tohto článku. Ak ste si nechali menu vygenerovať pomocou fluxbox-generate-menu (odprúčam) máte úplne dole položku "Fluxbox menu", kde môžete pohodlne meniť štýly, nastavenie okien a pod. V tejto položke sú použité spomínané operácie [style], [config], ... a preštudovaním konfiguračného súboru sa dozviete čo sa pomocou nich robí (ostatne to vyplýva už z názvu :)).

Zmena štýlu

Fluxbox má už v základe slušnú sadu štýlov. Ak už máte menu vytvorené môžete štýl zmeniť jednoducho v Fluxbox menu->System styles. V prípade, že sme si žiadny nevybrali spravíme si vlastný alebo pohľadáme, či za nás niekto už nejaký pekný neurobil :). Celkom pekná zbierka sa nachádza na customize.org/fluxbox/themes?page=1 a na box-look.org. Stiahneme si nejaký, tarball rozbalíme a cetu k rozbalenému adresáru nastavíme direktívou "session.styleFile". Teda ja mám všetky moje témy nahádzané vo ~/.fluxbox/styles, konkrétne používam tému Final cut ktorá je v ~/.fluxbox/styles/Final_cut. Potom zápis v ~/.fluxbox/init vyzerá takto:
session.styleFile:	/home/xchg/.fluxbox/styles/Final_cut

Zmeniť štýl môžeme aj v menu. Do konfiguračného súboru menu vložíme niečo takéto
[submenu] (User styles)
 [stylesdir] (~/.fluxbox/styles) 
 [end]

Potom môžme jednoducho prepínať medzi štýlmi uloženými v ~/.fluxbox/style v menu.

Klávesové skratky

Dostávamé sa do relatívne ťažšej časti konfigurácie. Cestu ku konfiguračnému súboru klávesových skratiek nastavíme pomocou "session.keyFile" teda napr.
session.keyFile:	~/.fluxbox/keys

Súbor má potom formát "Klávesy :akcia". Klávesy písmen majú "normálny" tvar teda klávesu "A" predstavuje v súbore písmeno "A". Rovnako je to s F-kami. "Tab" predstavuje tabulátor, "Mod1" ALT, "Control" Ctrl, Mod4 windows (r) key, "Mouse*" tlačítka myši. Akcíí je opäť celá fúra takže sa obmedzíme na ukážku konfiguračného súboru. Niektoré skratky sú existenčné, to znamená, že bez nich napr. neotvoríte menu. Podobné sú na nasledujúcom výpise. Sú to len udalosti spojené z myšou, preto treba pridať aj "miesto kliknutia".
OnTitlebar Mouse2 :StartTabbing
# Povolí "tabovanie" koliečkom myši (viď nižšie)

# Pri stlačení pravej klávesy na hornej lište okna, zobrazí menu okna
OnTitlebar Mouse3 :WindowMenu

# Pri stlačení Alt+Tretia tlačítko myši môžeme manipulovať s veľkosťou okna,
# Pohodlnejšie ako sa snažiť trafiť do rohu :)
OnWindow Mod1 Mouse3 :MacroCmd {Raise} {Focus} {StartResizing BottomRight}

# Povolí prepínanie plôch koliečkom na lište
OnToolbar Mouse4 :NextWorkspace 
 OnToolbar Mouse5 :PrevWorkspace

# skratky potrebné pre zobrazovanie menu
OnDesktop Mouse1 :HideMenus
 OnDesktop Mouse2 :WorkspaceMenu
 OnDesktop Mouse3 :RootMenu

#povolí prepínanie plôch koliečkom na ploche
OnDesktop Mouse4 :NextWorkspace
 OnDesktop Mouse5 :PrevWorkspace

Nasledovné skratky sú určené len na spohodlenenie práce :)

Mod1 Tab :NextWindow {static} # Alt+Tab, prepni na nasledujúce okno
Mod1 a :PrevWindow {static} # Alt+A, prepni na predchádzajúce okno
Mod1 F1 :Workspace 1 # Alt+F1, prepni na plochu 1
Mod1 F2 :Workspace 2
Mod1 F3 :Workspace 3
Mod1 F4 :Close # Alt+F4, zavri okno
Mod1 Q :Minimize # Alt+Q, minimalizuj okno
Mod1 S :ShadeWindow # Alt+S, "shade" okno
Mod1 M :Maximize # Alt+M, maximalizuj okno
Mod1 I :ShowDesktop # Alt+I, prepni na plochu
Mod1 D :Deiconify # Alt+D, "vytiahni", z lišty na plochu


# Alt+X, spusti xterm
Mod1 X :ExecCommand xterm -fg white -bg black -geometry 90x27 
 Mod1 F :ExecCommand firefox
# Alt+F, zapni firefox

# ovládanie audaciousu

Control S :ExecCommand audacious -s
Control N :ExecCommand audacious -f
Control R :ExecCommand audacious -r
Control G :ExecCommand audacious -p
Control M :ExecCommand audacious -t


Tým by sme aj zo skratkami skončili, sami vidíte, že je to celé veľmi intutívne.

Windows tabbing

Schopnosť zlučovať okná do tabov takým spôsobom, ako napr. karty vo firefoxe je oslavovaná vlastnosť fluxboxu. Hore sme si v konfiguračnom súbore nadefinovali, že tabovať okná môžeme prostredným tlačítkom myši. Stačí teda chytiť okno koliečkom a presunúť na iné okno. Spôsob akým sa okná budú zlučovať sa definuje v ~/.fluxbox/init (pohodlnejšie Menu->Fluxbox menu->Configure->Tab options) Tento článok by bol strašne dlhý, keby sme ku každej vlastnosti maly popisovať všetky možnosti, preto sa obmedzíme len na pár, ostatne ani tieto vedieť nemusíte lebo všetko sa dá nastaviť v menu.
session.screen0.tab.placement:	LeftTop

Pomocou tejto direktívy sa nastvuje umiestnenie tabu, používajú sa výrazy Left (vľavo), Top (hore), Right (napravo), Bottom (Dole), a Center (v strede). Tieto sa potom kombinujú napr. LeftTop (vľavo hore).
session.screen0.tabs.intitlebar:	true

Niekomu môže prekážať, že tab bráni úplnej maximalizácií okna, preto si pomocou tejto direktívy nastavenej na true nastaví, aby sa tab-y vkladali do tittle baru namiesto "vedľa" okna.
session.screen0.tabs.usePixmap: true

Spôsobí, že v taboch sa ukáže aj ikonka programu.
Súbor apps
Pomocou tohto súboru môžeme nastaviť niektoré atribúty aplikácií. Napr. kde majú byť umiestnené po spustení, či sa majú spôštať skryto a pod. Opäť sa cesta k nemu nastavuje v ~/fluxbox/init pomocou "session.appsFile". Súbor má potom nasledujúcu syntax:
[app] (meno aplikácie)
 [vlastnosť] {hodnota}
 ...
 [end]

Vlastností, ktoré môžeme nastavovať je mnoho. Spomeniem tie, ktoré asi použijete najčastejšie.

[Tab] {yes|no} - nastaví či aplikácia môže byť stabovaná s inými [Hidden] {yes|no} - má sa aplikácia spustiť skryto alebo nie [Postion] {x y} - nastaví pozíciu okna [Dimensions] {width height} - nastaví rozmery okna Napr. ked chceme okno Etermu vždy mať vo veľkosti 600x400 toto vložíme do súboru ~/.fluxbox/apps

[app] (name=mojeterm)
[Dimensions] {600 400}
[end]

A v ~/.fluxbox/init bude:

session.appsFile: ~/.fluxbox/apps

Teraz keď spustíme eterm (Eterm -name mojeterm) bude mať toto okno rozmery 600x400.
To, čo sa inde nezmestilo
Samozrejme fluxbox má ešte mnoho vecí, ktoré sa dajú nastaviť. Všetko však vymenovať a podrobne rozobrať nie je v mojej moci. Zaiste ste si už všimli, že veľa vecí sa dá inuitívne spraviť aj v menu bez znalosti konfiguračného súboru. Platí to aj o veciach popísaných nižšie, oveľa jednoduchšie sa konfigurujú z menu.

Plochy

Mať viac plôch je výsada okenných manažérov unix like systémov. Samozrejme táto voľba je aj vo fluxboxe. Koľko ich bude nastavíme pomocou "session.screen0.workspaces" v ~/fluxbox/init. Teda ak chceme tri tak
session.screen0.workspaces:	3

Plochy ešte treba pomenovať, to nastavíme pomocou "session.screen0.workspaceNames" teda napr.:
session.screen0.workspaceNames:	Plocha1,Plocha2,Plocha3

Hore sme si v klávesových skratkách nastavili, že môžeme pohodlne prepínať plochy količkom myši na dolnej lište alebo na aktuálnej ploche.

Lišta

Alebo anglickým slovom toolbar. Tu sa už naozaj nedá hovoriť o všetkom, preto len skrátene uvediem výpis všetkých direktív z ukážkovými hodnotami. Ich názov a hodnoty hovoria podľa mňa sami za seba. Všetko ide do ~/.fluxbox/init

session.screen0.toolbar.layer: Dock
session.screen0.toolbar.widthPercent: 73
session.screen0.toolbar.onTop: False
session.screen0.toolbar.height: 0
session.screen0.toolbar.autoHide: false
session.screen0.toolbar.alpha: 255
session.screen0.toolbar.onhead: 0
session.screen0.toolbar.placement: BottomCenter
session.screen0.toolbar.tools: workspacename, prevworkspace, nextworkspace, iconbar, systemtray, prevwindow, nextwindow, clock
session.screen0.toolbar.visible: true
session.screen0.toolbar.maxOver: false


Záver

A sme na konci našej konfiguračnej cesty naprieč fluxboxom. Verím, že potom čo si ho vytuníte podľa svojich predstáv pri ňom aj zostanete. Všetko som sa snažil písať zrozumiteľne ale nie vždy sa to podarí. Taktiež už mi nakonci článku ubúdali sily a zrejme to aj vidno. Ak
ste niečo podobné všimli skritizujte ma dole v komentároch a možno to raz opravím :).

Na záver pár zaujímavých linkov:

old.fluxbox.org/
fluxbox.org/
fluxbox-wiki.org/
fluxbox.sourceforge.net/docbook/cs/html/

Close the Windows, Open Source
Posledný krát upravené:16 feb 2010 13:31 TomasHanzel

Prosím Prihlásiť alebo Registrácia pre zdieľanie konverzácie.

Čas vytvorenia stránky: 0.075 sekúnd