Váltás Openbox-ra

Openbox, de nem ilyen :)
Openbox, de nem ilyen 🙂

Ha Linuxot használsz, akkor az XFCE felületet kapod alapból sok disztribúciónál, ha egy kisebb erőforrás igényű felületet akar adni neked. Az XFCE egy közepes felület, ami elég sokat tud, kis igényű az erőforrásokban. Én régebben egy másik disztribúciót, a bunsenlabs-ot használtam, ami nem XFCE, hanem egy kisebb, de nagyon stabil „felületet” adott, az openboxot. Már itt is érdemes megjegyeznem, hogy közel egy tucat felület (asztali környezet, ablakkezelő együttes) van, így érdemes többet kipróbálni, és azt használni ami neked, és a gépednek a legjobb. Érdemes azt is megjegyezni, hogy több Linux disztribútor szerint az a helyes, ha már telepítéskor több felületet ad. Így az Arcolinux is XFCE, openbox és egy i3-assal érkezik. Ilyen esetben már nem kell semmi egyebet tenned, csak a bejelentkezésnél kiválasztani az openbox-ot. Szuper, kényelmes, és nagyon szépen összerakott openbox jön az Arcolinux disztribúcióval. Az eredeti cikk megjelenése óta találtam egy érdekes és nagyon kényelmesen használható openbox felületet adó Linux disztribúciót a Mabox-ot. Aki openboxolni akar, de kevés ideje van beállogatni ez egy nagyon jó megoldás lehet neki!

Nekem nagyon tetszik, hogy valóban egyszerű és nagyon átlátható, de alapból elég fapados az openbox. Pár napja futott be egy kérdés, hogy egy adott disztribúció alatt lehet-e egy másik felületet felrakni? Amire természetesen a válasz igen. Ebből kiindulva próbálom összeszedni azokat a fontosabb lépéseket, amivel egy XFCE-ről (vagy bármi másról) át tudnál térni az openboxra.

A leírás eredetileg MX Linuxhoz készül, de valószínűleg point így fog működni más disztribúció alatt is.

Az openboxra való váltás első lépése

Az első, ami nagyon fontos kérdés, és el kell dönteni: a hatékonyság. Érdemes-e neked átállni? Ezt én nem tudom megmondani, én kedvelem az openbox-ot, így akinek van egy kis ideje, annak azt tanácsolnám, hogy próbálja ki. A döntés másik fontos tényezője, bár kisebb az erőforrás igénye, de nem biztos, hogy olyan nagy mértékű gyorsulást érsz el, mint ami energiát egy kezdő belefektet. Így lehet, hogy csak olyan kis mértékben gyorsul a géped, hogy az nem éri meg neked a munka. Én annyit tudok mondani, hogy az XFCE 650mega memóriát fogyaszt nálam, a 350-400 közt az openbox, pontosan ugyanolyan programok futtatásánál. A pontosan ugyanolyan azt jelenti, hogy az alapból indított, nekem kellő programokat elindítva. Ez elég szép megtakarítás, de nem sokat jelent. Nem biztos, hogy a programok gyorsabban fognak indulni, és pld. a renderelés gyorsabb lesz.

Kis kitérő

A Linux nagyon hatékonyan használja a memóriádat, így számomra mindig kérdéses volt: megéri azért sokat dolgozni, hogy pár magányi memóriát az alapjáraton megtakarítsak? Az egyértelmű, hogy indulásnál startoló programokat, szolgáltatásokat átnézi az ember, mert csak az induljon, ami kell. De ezt nem érdemes szerintem túlzásba vinni. Egy szerveren, vagy egy régebbi 2-4 gigányi memóriával szerelt gépen valóban figyelni kell, de 8-16 gigásnál már ez nem lesz olyan fontos. Szerintem.

A kinézete elég egyszerű (ezért szeretem), de aki egy szép, csillogó KDE Plasma, vagy Gnome alól tér át, annak csalódni kell, hiszen nem olyan dekoratív. Legalábbis alap telepítéssel.

Openbox telepítése

A telepítése nagyon egyszerű, a disztribúciód telepítő szoftverével fel kell tenni az openboxot, és egypár egyéb kis programot. Az MX Csomagkezelőjét és a synaptic-ot videón bemutattam, így nem lesz nehéz a telepítésnél rákeresni az openbox-ra és felrakod. Az MX linux alatt a Stable Repo-ban lesz. Az Arch alapú disztribúcióknál az itt leírtakat olvasd el, és akár profi mód terminálból is telepítheted.

Én pár programot is fel szoktam tenni:

openbox – a WM, egyértelmű
conky – rendszer információkat jelenít meg, meg sok mást is
tint2 – panel, mert megszoktuk, hogy van…
volumeicon – hangerős szabályzó
network-manager-applet – hálózati ikon
nitrogen – háttérkép kezelő
obconf-qt – egyszerű openbox beállító

A telepítés után már csak ki kell lépned a futó grafikus felületből, és bejelentkezni az újba. A legtöbb Linux telepítésnél a bejelentkező felület jobb felső sarkában lesz egy legördülő menü, amiben ki kell választani az openbox-ot. Majd jelszó, és beléptél. Miután magadhoz tértél, hogy nem kaptál semmit, és lehet, hogy a szürke háttér nem is csinál semmit, teljesen üres, és hááát... ezzel aztán nem lehet semmit csinálni, nincs sem panel, sem ikon, semmi, akkor  kattints jobb egérrel, és lesz egy fapados menüd. Az egyik menüpont egy terminált ad, ami már meg is old mindent: van terminálunk és fut a grafikus felület. Így bármit elérünk, el tudunk indítani, be tudunk állítani.

Ha most ismerkedsz a Linux rendszerekkel, akkor próbálj ki egypár olyan Linux disztribúciót, ami alapból ad openbox-ot is. Ezek egy része már előre bekonfigurált, szépen összerakott környezetet ad. Ezzel sok munkát megtakaríthatsz magadnak!

Aki régóta olvas, annak amit leírok az nem lesz újdonság, hiszen pár régebbi cikket írok át, és másolok be ide, kicsit aktualizálva, hiszen azok még bunsenlabs disztribúcióhoz készültek.

Monitorok beállítása:

Az openbox telepítése után szembesültem azzal, hogy a két monitorom felbontása és a pozíciója nem megfelelő: maximális felbontással üzemelnek, illetve a másodlagoson is ugyanazt látni… Ez nagyon bosszantó, és hamar orvosolni kellett, hiszen ha már van van kettő, akkor azt illő lenne úgy használni, ahogy megszoktam. Eddigi ablakkezelőknél minden esetben volt valami olyan megoldás, ahol grafikusan lehetett mozgatni a két, vagy több monitor helyzetét, és a felbontást stb. állítani lehet. Itt is van, mert fel lehet telepíteni ArandR-t, ami egy jó grafikus beállítási lehetőség. Használata egyszerű, nem okoz senkinek sem gondot. Bár egyéb megoldással is tudod konfigurálni a monitort, ezzel gyorsabb.

Én egy lehetőségre hívnám fel a figyelmet: a beállításokat szkriptbe is menteni lehet, azaz több beállítást is létrehozhatunk, majd azt a szkriptet, amibe mentettük lefuttatva váltani is lehet. Egy ilyen szkriptet érdemes létrehozni és belenézni. Az elérési út (alapesetben)

/home/laci/.screenlayout/

ahol természetesen a laci a te felhasználói neved legyen. Aki többet olvasott tőlem, az már sejti, hogy én nem az alap könyvtárat, hanem a saját bin könyvtáramat használom erre a célra. Kis Arcolinux kitérő: ott nem a sima ~/bin amit alapból használ, hanem a ~/.bin. Ez nem jelent gondot. Bármi jó ami biztosan benne van az elérési útban! Egy hibája van ennek a megoldásnak: induláskor nem azzal indul a rendszer, amivel akarom, hanem megint be kell állítani, vagy az adott szkriptet futtatni. Természetesen van arra is lehetőség, hogy az autostart-ba beírjuk a parancsokat és a paramétereket. Én ezt választottam.

Az ArandR az xrandr előtétprogramja, azaz „csak” azt paraméterezi fel és menti el a paramétereket a szkriptekbe. Így már viszonylag egyszerű dolgunk van. Ha megfelel a beállítás, amit a ArandR létrehozott, akkor simán be kell másolni az autostart-ba majd ki-, és belépni.

xrandr –output VIRTUAL1 –off –output DP2 –off –output DP1 –off –output
HDMI2 –off –output HDMI1 –mode 1280×720 –pos 0x0 –rotate normal
–output VGA1 –mode 1024×768 –pos 1280×0 –rotate normal

igencsak hosszú beállítást adott. A fele nem kell (off-al letiltott monitorok, rotate forgatás stb.) és jó lenne, ha számomra jobban átlátható lenne. Ezért ezeket töröltem, mint feleslegeseket. Így egy rövid sort kaptunk, amit elhelyeztem az openbox indítójában, azaz az autostart-ba.

Az xrandr -help és a man xrandr ennél lényegesen komolyabb műveletekre is segítséget nyújt, a lehetőségek tizedét sem érintettük, de a célt elértük: ott és olyan elhelyezkedésben és felbontásban működnek a monitorok, ahogy akartam. Szokjuk meg, hogy nem csak automatikusan bemásolunk egy parancsot, hanem elolvassuk a leírást és a helpet is. Illetve, akit bővebb magyarázat érdekel, annak érdemes ezt cikket: Monitor beállítása Linux alatt elolvasni, bár nem sokkal, de bővebben tárgyaltam a témát.

Tipp: Egy szkript-et is készíthetünk valamilyen beállítással és azt futtatva ideiglenesen megváltoztathatjuk a felbontást – gyorsan, majd egy másikkal vissza.

Automatikusan induló programok az openboxban

Senkinek nem okozhat nagy meglepetést, aki az openbox-ot használja, hogy az indításkor elindítandó programokat az autostart fájlba kell megadni. A neve is jól mutatja, hogy mi a funkciója. De kezdőknek gondot jelenhet, hiszen megszokták, hogy grafikus felületen állítják be, bepipálva azokat, amiket indítani akarnak. Itt én nem találtam ilyen kényelmes, és GUI lehetőséget. Bár párat megnéztem, de azok vagy régiek, és nem működnek, vagy csak esetlegesen működnek: ha olyan a kedvük igen, ha olyan, akkor nem… Ezért alapoktól kezdve végigviszem a feladatot: indítsuk egypár programot automatikusan, amikor az openbox elindul.

Az autostart fájl elérési útvonala:

/home/laci/.config/openbox/autostart

Természetesen a laci a te felhasználóneved legyen. Grafikus módban bármely fájlkezelővel odanavigálva és rákattintva meg tudod nyitni a beállított szerkesztővel. Én azt javaslom, hogy valami txt szerkesztőt használj, ami biztosan nem rakja tele felesleges dolgokkal a fájlt. Geany az alapbeállítású nálam, de xed, kate stb. is jó. Ha nincs ilyen fájl, akkor hozd létre. Az MX Linux alatt nem volt, így létre kellett hozni, ami egy szövegszerkesztővel egyszerű: „mentés másképp” egy üres szövegfájlt.

Kitérő: érdemes feltenni az mc-t és az mcedit-et is, ha nem indul az openbox (vagy általánosságban a grafikus felület) akkor nagyon kényelmes lesz parancssorban dolgozni ezekkel. Ismerd meg őket alapszinten!

A szerkezete nagyon egyszerű

# utáni sorok megjegyzések. Ezeket nem hajtja végre, így a megjegyzéseket ezután írhatod. Nem vagy programozó, így minden beírt parancsot kommentálj! Ezt a # használhatod arra is, hogy egy már beírt parancsot kikapcsolj, mert megjegyzésnek veszi.

A parancsok teljesen ugyanúgy működnek, mintha a terminálba írnád őket. És egy & jelet teszünk utánuk a legtöbb esetben. Ha valami nem tölt be, vagy furán viselkedik akkor nézd meg, hogy nem maradt el, vagy ha beírtad, akkor töröld.

Azaz egy korrekt lista részlet valahogy így néz ki:

# Alapmonitor beállítása
xrandr --output HDMI1 --mode 1280×720 –pos 0x0 --output VGA1 --mode 1024×768 --pos 1280×0

# Start tint2 oldalsó és alsó panel
tint2 -c /home/laci/.config/tint2/also.tint2rc & tint2 -c /home/laci/.config/tint2/oldalso.tint2rc &

# Panel indítása
xfce4-panel &

# Redshift
redshift -l 55.7:12.6 -t 5700:3600 -g 0.9 -m randr -v &

Mindig legyen csoportba foglalva az azonos téma, és mindig legyen kommentelés. Az xrandr-t ismered, az xfce panelt pedig már be tudjuk állítani, mert volt róla videó. A redshiftről pedig itt olvashatsz. A tint2 egy panelkezelő, ami lényegesen többet tud, mint az xfce-s.

Az indítandó programokat hasonló módszerrel lehet beírni. Ez első olvasatban nehézkes, de az első után már nem fog hiányozni a grafikus felület, amivel más rendszer alatt beállíthattad az automatikusan induló programokat. Az is megoldás lehet, hogy rögvest az autostart fájlt kezded el szerkeszteni, de én egy lassabb, de kevesebb csalódást adó megoldásként azt javaslom: előbb mindent próbálj ki terminálban. Nyissunk meg egy terminálablakot, és oda írjuk be előbb próbaképp.

Miért? Sok parancshoz több kapcsolót is használunk, azaz nem csak beírjuk azt a fenti példánál, hogy tint2, hanem egy -c kapcsolóval megadjunk egy elérési utat. Vagy a redshift nappali/éjjeli szín-hőmérsékletet szabályzó program is több tagból áll. Hibázhatunk, elírhatjuk, vagy akár le is gyilkolhatjuk az indulni készülő openbox-unkat rossz paranccsal. Kényelmesebb, gyorsabb a hibakeresés is, ha terminálban fut a program. Ha valami hiba van, akkor sok hasznos információt kiír, amit nem látunk majd az autostart esetén. Az sem utolsó szempont, ha hibázunk és le akarjuk állítani a programot terminálban gyorsan: killall-t kiadva megtehetjük, vagy CTRLc , vagy a terminál ablakot bezárva. Ha egy fejlettebb program leállító, „legyilkoló” programra lenne szükséged, akkor az fkill-t néz meg.
Miután már biztosak vagyunk, hogy minden megfelelő, akkor írjuk be, vagy másoljuk be a autostart fájlba a teljes parancsot. Sok terminal lehetőséget ad a másolásra is, így biztos, hogy nem marad ki semmi és nem is írunk el semmit. Ha elkészültünk, akkor már csak le kell menteni a fájlt. Majd kilépni az openbox-ból és vissza. Ezt érdemes megjegyezni, mert sok programban a beállító fájlok szerkesztése után azonnal érvényesül a változás, itt nem. Ami logikus is, hiszen egyszer fut le a fájl, induláskor. Bár megoldható, de én ellenjavallom, hogy futtassuk az autostart fájlt és így az összes programot elindítsuk. Logikus, hiszen az autostart egy sima script, amit futtathatóvá lehet tenni. Működik! Csak akkor van gond, ha így több példányban is futhat erőforrás igényes dolog. Sok esetben gondot jelent a párhuzamosan futó azonos program. Nálam a redshift okozott kellemetlen perceket, villogó monitort, amikor kettő vagy több alkalommal indítottam az autostartot. Jobb, ha kijelentkezünk, majd vissza.

A kívánt programok szép sorban, ahogy beírtuk őket elindulnak. Érdemes előbb az „eszközkezelőket” indítani (a példában a xrandr), majd a felhasználói részt. A felhasználói programok egy része lassabban tölt be, vagy különféle ellenőrzéseket is elvégez. Ez sok esetben lassíthatja az indulási folyamatot, hiszen több program indul egyszerre, ami leterhelheti a gépet. Ha több ilyen programot indítasz, akkor érdemes őket késleltetni. Erre nagyon jó példa a dropbox.

# Autostart the Dropbox daemon
(sleep 60s; /home/laci/.bin/dropbox.py start) &

Ideális megoldás! Egy késleltetés állítunk be, amit a sleep 60s ad. A 60s szerintem egyértelmű: várjon egy percet, majd akkor induljon el a dropbox. Így a többi program már mindent megtett, elindult és szabadok az erőforrások. A zárójelek itt fontosak! A mai erős gépeken ez nem jelent gondot, ennek ellenére jobb, ha az erőforrás igényesebb programokat sorba rendezzük.

Már említettem, de ismétlem: ha egy sor nem kell, akkor elé tett # kommentárrá alakítja nem fut le.

Ami az adott témán túlmutat: nem ördöngösség egy szöveges config fájlt szerkeszteni. Így már nem fogunk idegenkedni, ha egy config fájlt kell szerkeszteni: előbb megnézzük a beállítások értelmét, lementjük az eredetit, és már bátran, kellő figyelemmel, de majdnem bármit meg tudunk változtatni Linux alatt. Sok esetben gyorsabb egy configot szerkeszteni, mint grafikus beállító programmal. Amire érdemes figyelni: ezt nem kell hangoztatni fórumokon, mert ellenszenvet kelt sok emberben a terminál használata. Tapasztalat.

Ha valaki nem tudná:

#az ALTGr(jobb alt gomb) ésxbetű, a &az a ALTGr(jobb alt gomb) és a c betű.

Bonyolult volt? Nem.

Openbox és a kompozítálás

Ha a paneloknál használsz árnyékot, vagy átlátszóságot, illetve az ablakoknál is szeretnél ilyen „szépészeti” dolgokat, akkor kell neked egy kompozitáló program is. Én az openbox-hoz a compton-t javaslom. Kicsi, és az alapokat tudja. Ne várj egy izgő-mozgó kereteket és kiemelkedően attraktív effektusokat! Ha ilyen kell, akkor maradj a KDE Plasmán, vagy a Gnomon!
Sok rendszer a compton-t leváltotta a picom-ra, de az alapműveleteket hasonlóképp ellátja bármelyik. Azt használd, ait a Linux disztribúciód ad! Érdemes átnézni a picom különféle fork-jait, mert eltérő tudással rendelkeznek.

A legtöbb disztribúció tartalmazza a compton/picom-t, így csak telepíteni kell. Amit már egyszerűen meg tudsz tenni. Három csomag lesz: compton, compton-conf és a compton-conf-i10n. A két utolsó a beállító programja, és a magyarítása. Valószínű, hogy az MX Linux alatt csak a i10n-t kell feltenni, hiszen ez az egyik kompozítor amit az MX használ. Egyéb disztribúció alatt a nevek eltérhetnek kicsit, de ez sem okozhat gondot :). Majd nem kell semmi mást tenned, csak elindítani a compton-t, és a compton-conf-al beállítani, ha az alap beállítás nem felel meg. Majd ezt is az autostart-ba kell beírni, és újra indítani az openbox felületet.

Mindenképp vedd figyelembe, hogy most az openbox-ról volt szó, ami alapesetben nem használ kompozítálót, így a feladat viszonylag egyszerű: el kell indítani. Más asztali környezetben már futhat kompozítáló, aminél egy-egy ilyen váltás nem annyira egyszerű! Itt már több lépést is meg kell tenni, és az nem ehhez a témához tartozik!

Fontos kiegészítő:

Több Linux disztribúció már nem a comptont használja, hanem a picom-ot. Ami nem okoz gondot, hiszen a compton forkja, így hasonló a beállításai. Ha ezekben a disztribúciókban a comptont "telepíted", akkor felrakja a picom-ot és készít egy linket rá compton néven...

Mit is tettünk meg? Egy nagyon jól működő, egyszerű ablakkezelőre váltottunk, beállítottuk a felbontást, majd adtunk hozzá annyi panelt, emennyit akartunk. Az automatikusan elindítandó programokat is megoldottuk. Akinek árnyékol ablakkeret, vagy kicsivel szebb dekoráció kell, annak is volt megoldás. Ezekkel eljutottunk egy olyan felhasználói környezethez, amivel kényelmesen dolgozhatunk, ki is néz valahogy, illetve nagyon gyors, kezes és jól beállítgatható.