Poznámky k nastavení LXDE – neboli sbohem GNOME :-(

autor - Kvě.21, 2011 - Linux, Postupy

Tak jsem po mnoha letech používání GNOME 2 nezvládl revoluční proměnu v GNOME 3, což mne donutilo hledat náhradu. Po vyzkoušení alternativ (Enlightment E17, Xfce 4.8, KDE 4.6) jsem nakonec z různých důvodů skončil u LXDE (+ Openbox, LXDM) Nevýhodou odlehčeného prostředí je počáteční nesladěnost (vzhledu, funkčnosti) mezi jednotlivými aplikacemi. Článek je soupiskem poznámek k úvodnímu nastavení a doladění (vše na Arch Linuxu). Ne vše jsem zatím dořešil k plné spokojenosti (tj. uživatelské přívětivosti, na kterou jsem uvykl v GNOME 2).

Display manager

Potřebuji display manager, který umožňuje zobrazit seznam uživatelů a též podporuje přepínání mezi lokálními sezeními. To první by nativní LXDM ještě jaktakž zvládl, to druhé však nikoliv.

Takže jsem skončil u GDM.

U klávesnice se samostatným blokem numerické klávesnice je vhodné ji aktivovat – stačí přidat do /etc/gmd/Init/Default (před exit 0):

if [ -x /usr/bin/numlockx ]; then
  /usr/bin/numlockx on
fi

Spouštění aplikací po přihlášení

LXDE automaticky spouští .desktop soubory uvedené v /etc/xdg/autostart a $HOME/.config/autostart. Pozor na klíč „OnlyShowIn=GNOME;“ atd. – program se pak nespustí v jiném DE.

Editovat lze buď ručně, nebo jednodušeji pomocí lxsession-edit (v AUR). Ten se postará i o zkopírování upravené verze z /etc do $HOME.

(Vhodným kandidátem je „numlockx on“…)

Screensaver

Používám xscreensaver – má sice otřesný design okna pro zadávání hesla, ale podporuje přepínání sezení (ve spolupráci s GDM) a též lze nastavit zhasnutí obrazovky po X minutách a zamčení obrazovky po dalších Y minutách. (Tuším, že toto v gnome-screensaver nastavit nešlo.)

Spouštění xscreensaver by mělo být již zapsáno v „/etc/xdg/lxsession/LXDE/autostart“.

Panel

Rád používám DockbarX, neboť

  • v sobě spojuje jak spouštěč aplikací (launcher) tak i správce úloh (task manager);
  • je prostorově úsporný (zobrazuje pouze ikony, velikost záleží na tématu, přičemž okna stejné aplikace jsou sdružována pod jednu ikonu);
  • je-li aplikace již spuštěna, tak při kliknutí na spouštěč pouze přepne do příslušného okna (velmi logická záležitost), přitom však umožňuje spouštět i další instance paralelně k té již běžící;
  • při pouhém najetí kurzorem nad spouštěč (ikonu) běžící aplikace zobrazí již otevřená okna této aplikace;
  • při kliknutí na spouštěč aplikace „zvedne“ všechna její běžící okna nahoru nad ostatní otevřená okna, při kliknutí na konkrétní položku ze seznamu otevřených oken se „zvedne“ pouze toto okno;
  • a hlavně: na rozdíl od podobných produktů (Cairo, AWN) nepotřebuje hw akceleraci.

Potenciální problémy:

  • DockbarX je primárně napsán jako applet pro gnome-panel verze 2. Současná verze již umí fungovat i jako samostatný program (dockx), nicméně ten nelze integrovat do jiného panelu, a tedy pro ostatní applety (menu, oznamovací oblast, ikona pro odhlášení, přepínač ploch, atd.) je nutné použít samostatný panel, a to zabírá další prostor na ploše. Řešení jsem prozatím nenašel.
  • DockbarX (/usr/bin/dockx) se v Openboxu primárně zobrazí pouze na aktuální ploše. Lze vyřešit doplněním konfiguračního souboru Openboxu ($HOME/.config/openbox/lxde-rc.xml, sekce <applications>):
<application name="dockx">
   <desktop>All</desktop>
</application>

Vzhled (témata)

Vzhled je v linuxu obecně komplikovaná záležitost: měnit lze vzhled ovládacích prvků vnitřku oken, rámů oken. Používání různých vzájemně nekompatibilních grafických toolkitů (GTK+ 1.x, 2.x, 3.x, Qt 3.x 4.x, FLTK, atd.) je završeno různorodými programy starajícími se o zobrazování různých prvků (ikony, prvky oken, rámy oken, písma), výsledkem pak bývá totální chaos ve vzhledu.

Velká desktopová prostředí se to obvykle snaží řešit komplexně (GNOME, KDE), a to jak sjednocením nastavení vzhledu do jednoho programu, tak i nabízením velkého množství programů napsaných ve stejném toolkitu, ta menší desktopová prostředí pak doplácí na roztříštěnost linuxu a je na uživateli / distribuci, jak se to pokusí sladit.

V současné době používám mix aplikací, které závisejí na GTK+ 2.x i 3.x a Qt 4.x. Bohužel každý z těchto grafických toolkitů se musí konfigurovat zvlášť.

Řešením je zvolit téma vzhledu ovládacích prvků, které je doladěno tak, aby programy používající rozdílné toolkity vypadaly víceméně shodně. Pro shodu GTK+ 2.x a Qt 4.x je to např. Qt-Curve (nastavuje ovládací prvky obou prostředí shodným způsobem) nebo GTK-qt (nastaví vzhled ovládacích prvků GTK+ 2.x tak, aby vypadaly jako libovolné Qt téma). GTK+ 3.x je nová záležitost, zatím jsem nenašel řešení.

  • Pro volbu GTK+ 2.x tématu lze použít např gtk-chtheme, zvolit Qt-Curve (ostatní věci neměnit, nastaví se v dalším kroku);
  • pro volbu Qt 4.x tématu je třeba použít systemsettings (pouze sekce „Vzhled aplikací“) z balíku kdebase-workspace, kde jej lze navíc doladit (barvy, atd.). Změny se projeví i ve vzhledu aplikací GTK+ 2.x;
  • dalším krokem je nastavení dekorace oken (Openbox) tak, aby ladil s výše uvedenými tématy. K tomu slouží obconf.
  • posledním krokem by mohlo být volba tématu v gnome-tweak-tool pro GTK+ 3.x, to však nainstaluje prakticky celé GNOME 3 (takže tudy cesta nevede), ti odvážní pak budou editovat konfigurační soubory – já jen doufám, že časem bude aktualizován Qt-Curve i pro GTK+ 3.x.

Součástí (volitelnou) LXDE je program lxappearance, kterým lze též nastavovat vzhled. Bohužel se zdá být poněkud nedokončený, při přepínání témat se proměňují jen některé prvky a snadno se „rozhodí“ vzhled celého tématu. (LXDE programy jsou založeny též na GTK+ 2.x.).

Pozor na to, že např. při nastavování vzhledu Qt-Curve v systemsettings (část KDE), lze nastavit například i dekorace oken – to se však nijak neprojeví, neb správcem oken je Openbox a nikoliv KDE.

Samostatným problémem může být velikost písem – typ písma lze samostatně zvolit ve výše uvedených nástrojích (systemsettings – změna se aplikuje i na GTK+ 2.x, obconf pro dekorace oken), ovšem např. při vzdáleném desktopu je velikost písem náhle v nesouladu (text ve firefoxu má normální velikost, text v menu či dekoracích oken je mrňavý). Řešením by mělo být vnucení shodného DPI obrazovky, zatím jsem se o to však nepokoušel.

Pozn.: pokud to ještě není zřejmé, tak nejjednodušším řešením je používat programy používající stejný grafický toolkit.

Oznamování událostí

LXDE neobsahuje žádný démon, který by zobrazoval některé druhy událostí ve formě bublin na desktopu v X.org. Canonical vyvinul celkem pěkný notify-osd (v AUR), který automaticky zachytává události v souladu s definicemi freedesktop.org. (Po instalaci není třeba nic nastavovat, pouze je nutné dát pozor, zda již jiný notification-daemon není nainstalován.)

Multimediální klávesy

Nejjednodušší cesta je nainstalovat xfce4-volumed (v AUR) a umožnit spouštění při přihlášení – viz výše (lxsession-edit). Komunikuje i s notify-osd.

Ostatní klávesové zkratky

LXDE nemá žádné nativní GUI pro definici klávesových zkratek a příslušných akcí. Pro openbox se to řeší editací $HOME/.config/openbox/lxde-rc.xml.

Je nutné editovat právě tento xml soubor, neb openbox je spouštěn s parametrem —config-file …lxde-rc.xml. Ostatní definiční soubory v daném adresáři či v /etc/xdg/openbox jsou ignorovány. (Respektive jsou načteny při spuštění čistého openboxu bez LXDE.)

Identifikátor klávesy lze zjistit pomocí „xev“. Definice se přidávají do sekce <keyboard>:

<keybind key="XF86AudioNext">
   <action name="Execute">
      <command>banshee --next</command>
   </action>
</keybind>
<keybind key="XF86AudioPlay">
   <action name="Execute">
      <command>banshee --toggle-playing</command>
   </action>
</keybind>
<keybind key="XF86AudioPrev">
   <action name="Execute">
      <command>banshee --restart-or-previous</command>
   </action>
</keybind>
<keybind key="XF86AudioMedia">
   <action name="Execute">
      <command>banshee</command>
   </action>
</keybind>
<keybind key="XF86Mail">
   <action name="Execute">
      <command>claws-mail</command>
   </action>
</keybind>
<keybind key="XF86HomePage">
   <action name="Execute">
      <command>chromium</command>
   </action>
</keybind>
<keybind key="XF86Sleep">
   <action name="Execute">
      <command>sudo shutdown -h now</command>
   </action>
</keybind>
<keybind key="XF86Calculator">
   <action name="Execute">
      <command>xcalc</command>
   </action>
</keybind>

Po editaci konfiguračního souboru stačí spustit „openbox –reconfigure“ nebo se odhlásit a přihlásit.

 


Komentář: 1

Zanechte komentář

Archivy