Stavíme lehký desktop s Openboxem
Úvod | Instalace | Konfigurace | Zjednodušení konfigurace | Autostart | GTK témata | Téma ikon | Téma kurzorů myši | Přepínání klávesnice | Pozadí plochy | Panel | Terminál | Run dialog (gmrun) | Run dialog (dmenu) | Pager | Screenshot | Kompozitní manager | Kompozitní manager (pipe-menu) | Screensaver a zamykání obrazovky (xscreensaver) | Zamykání obrazovky (alock) | Schování kurzoru myši (unclutter) | Clipboard manager | Nastavení hlasitosti | Filemanager | Monitorování systému | root-tail | Konfiguráky ke stažení |
Úvod
Openbox je vynikající minimalistický window manager, který se stará o zobrazování a dekorace oken na ploše. Neobsahuje ikony plochy ani panel. Konfigurace je uložena v xml souborech.
V následujícím popisu budeme předpokládat instalaci na Gentoo Linuxu. Samozřejmě bude postup v ostatních distribucích linuxu podobný, odlišnosti jsou dány balíčkovacím systémem danné distribuce (apt, rpm, pacman, ...).
Při výběru jednotlivých součástí jsem hledal prográmky, které se dají zkompilovat(instalovat) bez velkých závislostí (KDE, GNOME, XFCE, ...).
Díky velké síle linuxu v kombinování a skládání systému si můžete postavit systém libovolně podle svých představ.
Instalace Openboxu
Nejdříve si nainstalujeme Openbox, většina linuxových distribucí ho obsahuje v repozitářích. Pro instalaci v Gentoo Linuxu zadáme:
# emerge openbox
Openbox je nainstalován a stačí ho spustit. Jedna z možností, kterou preferuji je úprava souboru .xinitrc v domovském adresáři přihlášeného uživatele. Nepoužívám grafické přihlašovací managery (kdm, gdm, ...).
~/.xinitrc
# Spusteni Openboxu exec openbox-session
Po upravení souboru .xinitrc spustíme x-ka.
# startx
Openbox rychle naběhne, ale vypadá jako prázdná černá obrazovka.
Menu, které Openbox obsahuje již v základu se vyvolá pravým tlačítkem myši na ploše. Dále můžeme kliknout kolečkem na plochu a zobrazí se panel se seznamem všech běžících aplikací rozdělený podle virtuálních ploch.
Konfigurace Openboxu
Openbox nemá v základu žádná klikátka pro nastavování, ale vše je pěkně uloženo v textových souborech.
Hlavní konfigurační soubor Openboxu ~/.config/openbox/rc.xml
Moje defaultní úprava dodává možnost zobrazení menu při stisku levé win klávesy.
Do sekce <keyboard> přidáme:
<keybind key="Super_L"> <action name="ShowMenu"> <menu>root-menu</menu> </action> </keybind>
Konfigurační soubor pro menu openboxu ~/.config/openbox/menu.xml
Základní kostra položky v menu vypadá následovně:
<item label="GIMP"> <action name="Execute"> <execute> gimp </execute> </action> </item>
Openbox je sám o sobě dobře funkční, ale pořád to není ono. Určitě si ho budete chtít přiohnout podle vlasních požadavků. Pro zjednodušení konfigurace a rozšíření vlastností vašeho nového desktopu existuje mnoho pěkných programů.
Zjednodušení konfigurace
Pro zjednodušení konfigurace menu a vlastností můžeme použít pěkné grafické nástroje s názvy obconf, obmenu a jednoduchý program menumaker.
MenuMaker - program který automaticky projde systém a přidá do menu nalezené programy.
Instalace:
# emerge menumaker
Spuštění:
# mmaker Openbox3
Při problémech s generováním menu (menu.xml) pod normálním uživatelem, spusťte menumaker pod root-em. Soubor menu.xml se uloží do adresáře /root/ odkud si ho překopírujeme do našeho domovského adresáře ~/.config/openbox/
Použít menumaker doporučuji jen jednou a to při počátečním nastavování menu. Nejdříve spustím menumaker a poté použiji obmenu pro dolazení nastavení. Nové položky do menu pak již jen pomocí obmenu, nebo ruční úpravou menu.xml, protože by nám menumaker přepsal naší pracně upravenou konfiguraci.
ObConf - Manažer preferencí Openboxu
Instalace:
# emerge obconf
Spuštění:
# obconf
Po spuštění se otevře jednoduchý grafický konfigurátor, kterým můžeme nastavit mnoho vlastností (motiv vzhledu, fonty, chování oken, virtuální plochy, okraje, dok, ...... ).
Obmenu - Editor položek menu
Instalace:
# emerge obmenu
Spuštění:
# obmenu
Po spuštění se otevře pěkný grafický editor menu. Odpadá tak zdlouhavější ruční úprava souboru menu.xml
Autostart
K automatickému spouštění aplikací po startu OpenBoxu používám soubor autostart.sh
Vytvořil jsem soubor ~/.config/openbox/autostart.sh do kterého se zapisují jednotlivé aplikace ke spuštění.
Aby Openbox tento soubor akceptoval, musíme mu nastavit práva ke spuštění.
Obsah mého souboru ~/.config/openbox/autostart.sh
# Run system-wide support stuff . $GLOBALAUTOSTART # --------- Prepinani klavesnice ----------------------------- setxkbmap -layout us,cz -variant qwerty -option grp:alt_shift_toggle & # ---------- Kompozitni manager ------------------------------ #xcompmgr -c -t-5 -l-5 -r4.2 -o.55 & #myxcompmgr --startstop & # ------------ Pozadi plochy ------------------- nitrogen --restore & # ---------- Spusteni terminalu ---------------- xterm -fa terminus -fs 12 -bg black -fg white & tilda & # ---------------- Aplikace -------------------- stardict & xpad & # FreeVolume python2 ~/.config/openbox/scripts/freevolume/freevolume.py & # Manazer schranky (sleep 1s && parcellite) & # Spuštění screensaveru xscreensaver -no-splash & # ------------ Aplikace na Plochu ---------------- #conky & (sleep 1 && sudo root-tail -g 800x250+10+750 -font fixed /var/log/messages,white ) & gkrellm & # ------------------ Panely -------------------- #wbar -vbar -p left -above-desk -isize 36 -zoomf 1.5 & (sleep 3 && netwmpager) & (sleep 2 && pypanel ) &
Nastavení GTK témat
Pro jednoduché nastavení GTK témat používám program GTK-2.0 Theme Switcher.

Instalace:
# emerge gtk-chtheme
Nastavení:
Program se spustí příkazem # gtk-chtheme
Pro jednoduchou manipulaci přidat do menu OpenBoxu.
Téma ikon
Jako defaultní GTK téma ikon používám Tango. Konfigurace gtk tématu je uložena v souboru ~/.gtkrc-2.0
Instalace Tango ikon:
# emerge tango-icon-theme
Nastavení:
Do souboru ~/.gtkrc-2.0 přidat:
gtk-icon-theme-name="Tango"
Defaultní font pro GTK aplikace nastavíme pomocí:
gtk-font-name="Nimbus Sans L 11"
Téma kurzorů myši
Jeden z balíčků témat kurzorů myši se v gentoo linuxu jmenuje xcursor-themes.
Instalace:
# emerge xcursor-themes
Nastavení:
Témata se nastavují v souboru ~/.Xdefaults, jestliže ho nemáte, vytvořte ho.
Nastavení tématu provedeme přidáním následujícího řádku do souboru ~/.Xdefaults
Xcursor*theme: whiteglass
Whiteglass je název tématu, ostatní témata můžeme najít v adresáři /usr/share/cursors/xorg-x11/
Např.:
handhelds, redglass
Nastavení se projeví až po restartu OpenBoxu.
Přepínání klávesnice.
Jistě chcete mít možnost přepínat rozložení klávesnice pomocí klávesové zkratky. Dá se to zařídit více způsoby. Moje nastavení: rozložení us,cz - klávesová zkratka Shift+Alt
1. Jednoduchým přidáním příkazu do souboru ~/.config/openbox/autostart.sh
setxkbmap -layout us,cz -variant qwerty -option grp:alt_shift_toggle
2. Editací konfiguračního souboru xserveru /etc/X11/xorg.conf
Section "InputDevice" Option "XkbRules" "xorg" Option "XkbModel" "pc101" Option "XkbLayout" "cz,us" Option "XkbOptions" "grp:alt_shift_toggle" EndSection
Jaký způsob zvolíte ponechám na vašem rozhodnutí.
Nastavení pozadí plochy - NITROGEN
Hledal jsem jednoduchý grafický program pro změnu a nastavení pozadí plochy a našel výborný NITROGEN.
Instalace v Gentoo Linuxu:
# emerge nitrogen
Program se spouští s parametrem (cesta k adresáři s pozadími).
# nitrogen ~/backgrounds/
Aby se zachovalo zvolené pozadí i po restartu OpenBoxu, přidáme následující do souboru ~/.config/openbox/autostart.sh
# ------------ Pozadi plochy ------------------- nitrogen --restore &
Toto nastavení přečte uloženou konfiguraci a zobrazí příslušné pozadí. Konfigurace se při nastavení se zaškrtlou volbou save uloží do ~/.config/nitrogen/bg-saved.cfg
Pro snadnou obsluhu jsem přidal nitrogen do menu OpenBoxu.
Feh
Jiný jednoduchý program pro nastavení pozadí se jmenuje feh.
Instalace:
# emerge feh
Nastavení:
Nastavení pozadí se provede jednoduše, spustíme program feh s parametry.
Pro nastavení roztaženého obrázku ~/backgrounds/picture.jpg zadáme:
# feh --bg-scale ~/backgrounds/picture.jpg
Vycentrovaný obrázek dostaneme volbou "--bg-center"
Automatické nastavení pozadí provedeme zapsáním následujícího příkazu do souboru autostart.sh
feh --bg-scale ~/backgrounds/picture.jpg &
Panel
Panelů je dostupných mnoho (fbpanel, pypanel, perlpanel,lx-panel,kicker,gnome-panel, ... )
Používám výborný program pypanel.
Instalace:
# emerge pypanel
Nastavení:
Pypanel se nastavuje pomocí souboru .pypanelrc ve vašem domovském adresáři. Jestliže ho nemáte, vytvořte ho. Můj ~/.pypanelrc
Automatické spouštění - do konfiguračního souboru ~/.config/openbox/autostart.sh přidejte:
# ------------------ Panely -------------------- (sleep 2 && pypanel )&
Tato konfigurace (sleep) zamezí pádu pypanelu při příliš rychlém načtení.
Terminál
Používám xterm, ale samozřejmě si můžete zvolit z mnoha dalších (Eterm, urxvt, roxterm, ...)
Instalace:
# emerge xterm
Nastavení:
Nastavení provádím pomocí parametrů při spuštění xtermu.
Parametry xtermu:
-fa - font (používám terminus, který jsem nainstaloval pomocí "# emerge terminus-font")-fs - velikost fontu
-bg - barva pozadí
-fg - barva popředí (písma)
Do menu Openboxu jsem přidal příkaz (pomocí obmenu).
xterm -fa terminus -fs 12 -bg black -fg white
Dále mám rád automaticky spuštěný terminál hned po startu Openboxu.
Do konfiguračního souboru ~/.config/openbox/autostart.sh přidejte:
# ---------- Spusteni terminalu ---------------- xterm -fa terminus -fs 12 -bg black -fg white &
Xterm obsahuje i grafická nastavovátka, která zobrazíme pomocí:
Ctrl + levé tlačítko myši - Main Options
Ctrl + prostřední tlačítko myši - VT Options
Ctrl + pravé tlačítko myši - VT Fonts
RUN dialog - gmrun
Pěkný program, který otevře okno pro zadání příkazu. Používám gmrun, protože podporuje autokompletaci.
Instalace:
# emerge gmrun
Nastavení integrace do Openboxu:
Můj požadavek byl, aby se program gmrun spustil po stisknutí kláves Alt-F2.
Nastavení provedeme přidáním následujících řádků do sekce <keyboard> konfiguračního souboru Openboxu (~/.config/openbox/rc.xml).
<!-- RUN DIALOG --> <keybind key="A-F2"> <action name="execute"> <execute>gmrun</execute> </action> </keybind>
RUN dialog - dmenu
Další výborný program pro snadné a rychlé spouštění aplikací.
Instalace:
# emerge dmenu
Nastavení:
1. Vytvořil jsem soubor ~/.config/openbox/scripts/dmenu.sh s následujícím obsahem a nastavil mu práva ke spuštění.
#!/bin/sh `dmenu_path | dmenu -fn '-*-helvetica-*-r-normal-*-*-120-*-*-*-*-iso8859-* ' -nb '#000000' -nf '#FFFFFF' -sb '#0066ff'` && eval "exec $exe"
2. Nastavení provedeme přidáním následujících řádků do sekce <keyboard> konfiguračního souboru Openboxu (~/.config/openbox/rc.xml). Tato konfigurace bude spouštět dmenu po stisku alt+f3
<!-- DMENU --> <keybind key="A-F3"> <action name="execute"> <execute>~/.config/openbox/scripts/dmenu.sh</execute> </action> </keybind>
Pager
Hledal jsem použitelný pager pro OpenBox a nainstaloval netwmpager.
![]()
Instalace:
# emerge netwmpager
Konfigurace:
Pager se konfiguruje pomocí ~/.config/netwmpager/config
Pro automatické spuštění jsem přidal do souboru ~/.config/openbox/autostart.sh:
# Pager (sleep 5 && netwmpager) &
Screenshot
Pro sejmutí obrazovky můžeme použít jednoduchý program se jménem scrot.
Instalace:
# emerge scrot
Konfigurace:
Pro sejmutí můžeme spustit např.:
# scrot -d 3 'shot_%d.%m.%Y_%H:%M:%S.png' -e 'mv $f ~/shots/'
Tento příkaz sejme obrazovku za 3sec po spuštění a uloží obrázek do adresáře ~/shots/ s unikátním jménem. Adresář ~/shots/ musí existovat.
Pro jednoduchou manipulaci jsem si přidal scrot do menu OpenBoxu.

Sejmutí obrazovky při stisku klávesy Print-screen
Nastavení provedeme přidáním následujících řádků do sekce <keyboard> konfiguračního souboru Openboxu (~/.config/openbox/rc.xml).
<!-- Screenshot -->
<keybind key="Print">
<action name="execute">
<execute>scrot 'shot_%d.%m.%Y_%H:%M:%S.png' -e
'mv $f ~/shots/ & geeqie ~/shots/$f'</execute>
</action>
</keybind>
Stisk klávesy print-screen sejme obrazovku, uloží obrázek do ~/shots/ a automaticky ukáže náhled specifikovaným prohlížečem obrázků (např. geeqie).
Kompozitní manager
Vzhled OpenBoxu můžeme vylepšit například pomocí kompozitního manageru xcompmgr. Používám ho pro možnost reálného zprůhlednění oken a nastavení stínů oken.
Instalace :
# emerge xcompmgr - nainstaluje kompozitní manager
# emerge transset - nainstaluje program pro nastavování průhlednosti oken
Konfigurace:
1. musíme mít rozchozenou 3D akceleraci naší grafické karty.
2. musíme mít povolené kompozitní rozšíření x-serveru.
Do souboru /etc/X11/xorg.conf přidáme:
Section "Extensions"
Option "Composite" "Enable"
EndSection
3. musíme nastavit spouštění xcompmgr.
Do souboru ~/.config/openbox/autostart.sh přidáme:
# ---------- Kompozitni manager ------------------------------ xcompmgr -c -t-5 -l-5 -r4.2 -o.55 &
Tento příkaz spustí xcompmgr při startu a nastaví stíny oken.
4. Nastavení průhlednosti oken.
Pro nastavení používám program transset, který se spouští s parametrem(průhlednost).
Např: # transset 0.5
Pro jednoduchou možnost nastavování jsem si přidal transset do menu openBoxu.


Kompozitní manager - pipe-menu
Pipe-menu je moc hezká věc, která dovoluje přidávat do menu scripty pomocí nichž jsou jeho položky dynamicky měnitelné za chodu. Protože se mi zdá spouštění xcompmgr při startu Openboxu zbytečné, tak jsem možnost pipe-menu využil pro pohodlné zapínání a nastavování průhledností přes položky v menu.


Řídící script se jmenuje myxcompmgr a napsal ho Philip Newborough - http://crunchbang.org/
Zde si můžete stáhnout počeštěný myxcompmgr.
Nastavení:
1. Zkopírujeme myxcompmgr do adresáře ~/.config/openbox/scripts/ a nastavíme mu práva ke spouštění.
2. Vložíme do souboru ~/.config/openbox/menu.xml následující řádku, nebo přidáme myxcompmgr do menu pomocí programu obmenu.
<menu execute="~/.config/openbox/scripts/myxcompmgr" id="CompositingPipeMenu" label="Pruhlednost"/>

Pro automatické zapnutí xcompmgr při startu OpenBoxu můžeme přidal do souboru ~/.config/openbox/autostart.sh
~/.config/openbox/scripts/myxcompmgr --startstop &
Screensaver a zamykání obrazovky
Jako screensaver můžeme použít program xscreensaver.
Instalace:
# emerge xscreensaver
Nastavení:
Pro spuštění screensaveru přidáme do souboru ~/.config/openbox/autostart.sh
# Spuštění xscreensaveru xscreensaver -no-splash &
Nastavení screensaveru se provádí příkazem:
# xscreensaver-demo

Pro vypnutí xscreensaveru při přehrávání mplayerem přidáme do konfiguráku mplayeru(~/.mplayer/config):
stop-xscreensaver=yes
Zamykání obrazovky
Zamknutí obrazovky pomocí programu xscreensaver:
# xscreensaver-command -lock
Pro jednoduchou manipulaci přidat do menu OpenBoxu.
Zamykání obrazovky - alock
Jestliže nechceme používat xscreensaver, můžeme pro zamykání obrazovky použít například minimalistickou aplikaci s názvem alock.
Instalace:
# emerge alock
Konfigurace:
Obrazovku zamkneme například zadáním níže uvedeného příkazu. Odemknutí se provede zadáním hesla uživatele a stiskem klávesy enter.
# alock -bg blank -auth pam -cursor glyph
Pro jednoduchou manipulaci můžeme tento příkaz přidat do menu Openboxu.

Schování kurzoru myši - unclutter
Program unclutter dokáže automaticky skrývat kurzor myši při nečinnosti.
Instalace:
# emerge unclutter
Nastavení:
Pro automatické spouštění přidat do souboru ~/.config/openbox/autostart.sh:
unclutter &
Další parametry:
-idle 2 : skryje myš po 2 sekundách (default je 5)
-keystroke : skryje myš při psaní na klávesnici
-not : nebude skrývat myš v oknech vyjmenovaných jako argumenty
Clipboard manager - parcellite
Program který dokáže udržovat ve schránce více řetězců najednou. Používání je klasické (ctrl-c, ctrl-v).
Instalace:
# emerge parcellite
Nastavení:
Pro automatické spuštění jsem přidal do souboru ~/.config/openbox/autostart.sh:
# Manazer schranky (sleep 1s && parcellite) &

Nastavení hlasitosti do panelu
Dlouho jsem hledal jednoduchou aplikaci pro nastavení hlasitosti do pypanelu. Našel jsem jednoduchý python gtk skript s názvem VolumeControl od Mayguz@web.de, který jsem převzal a lehce upravil. Od té doby se program ještě více zlepšil díky spolupráci s uiii@centrum.cz
Výsledek jsem nazval FreeVolume.
Instalace:
Rozbalte obsah souboru freevolume_0.3.1.tar.bz2 do adresáře ~/.config/openbox/scripts/freevolume/ a nastavte souboru freevolume.py spouštěcí práva.
Program potřebuje ke svému běhu nainstalované balíky python, pygtk, pyalsaaudio, gtk.
Na některých zvukových kartách je potřeba v programu změnit výstup z Master na Front.
Nastavení:
Pro automatické spuštění jsem přidal do souboru ~/.config/openbox/autostart.sh:
# FreeVolume python2 ~/.config/openbox/scripts/freevolume/freevolume.py &

Filemanager - Tux Commander
Jako filemanager se mi velice osvědčil Tux Commander od českého autora Tomáše Bžatka.
Instalace:
Jelikož není Tux Commander v oficiálním stromu porage, přidáme ho do portage overlay. Aktuální ebuild je přibalen v archivu se zdrojovými kódy aplikace.
# emerge tuxcmd


Samozřejmě můžete použít i jiné osvědčené filemanagery (Xfe, Rox, pcmanfm, emelfm2, ...).
Programy pro monitorování systému
Pro monitorování běžícího systému můžeme použít mnoho dalších aplikací. Různě používám například program Conky.
Konfigurace se provádí editací souboru .conkyrc ve vašem domovském adresáři.
Můj .conkyrc
Hojně užívaný je i výborný program Gkrellm.
root-tail
Další pěkný program, který dokáže na plochu přidat obsah jakéhokoli textového souboru a periodicky načítat změny.
Instalace:
# emerge root-tail
Nastavení:
Nastavení provádím přidáním parametrů při spuštění programu. Automatické spuštění provedeme zapsáním následujícího příkazu do souboru ~/.config/openbox/autostart.sh
(sleep 3 && sudo root-tail -g 800x250+10+750 -font fixed /var/log/messages,white) &
Sudo jsem použil, protože soubor /var/log/messages není přístupný běznému uživateli.
Nastavení programu sudo, aby po uživateli radek nepožadovalo heslo pro program root-tail.
/etc/sudoers
# User privilege specification radek ALL=NOPASSWD:/usr/bin/root-tail
Kompletní konfigurační soubory ke stažení
› Openbox Software - Soupis GTK programů vhodných pro vytvoření desktopu na openboxu
























