Alkalmazások

SuperKaramba újratöltve A SuperKaramba már többször szerepelt a Linuxvilágban, ezért most inkább azokhoz szólnék, akik az érdekességet nem a projekt felélesztésében vélik felfedezni, sokkal inkább az egyedi, látványos és hasznos témák kreálásában.

int a bevezetõben leszö- színû információkat tett rikító piros geztem, ebben a cikkben háttérre. Utóbbi attrakciót hosszú ideig nem célom a közkedvelt egy nagyon rossz tréfának véltem, M„Karamba” bemutatása. Még a felélesz- miszerint talán olyan szándékkal szüle- tésre sem térek ki: a sokszor bemuta- tett, hogy a felhasználó szeme órákon tott és csontig rágott témával senkit át káprázzon tõle. nem nem szeretnék feleslegesen untat- Végül aztán rádöbbentem, nincs ezek- ni. A szokatlan bevezetést egy huszá- ben semmi különös, csupán nem va- ros vágással le is zárom: a továbbiak- gyunk egyformák. Triviális felismerés ban feltételezem, hogy az Olvasó volt, de ahogyan két ízlés egyezése (kedvenc disztribúciójának csomagke- annyira valószínû, mint két azonos 1. ábra A munkaasztalom, „pucéron” zelõjével, esetleg forráskódból) már fel- pofoné, úgy más irányban kerestem telepítette ezt a kiváló programot, majd a megoldást. A szubjektív megítélés felhasználóként kiadta a superkaramba szülte elégedetlenségemet munkába talál rá a számításaira, hogy a többi parancsot. A mûvelet eredményekép- fojtottam, és csináltam magamnak egy felületet ne is említsem. Mindenki pen, néhány pillanat múlva a szoftver olyan „Karamba-témát”, amitõl nem másképp csinálja: ismerõsen cseng már kérte is a megnyitandó *.theme rázott ki a hideg. Ez a hajlandóság az öregecske hazai sláger – és micsoda leíró állományokat. szerencsére mind a mai napig meg igazságot rejt! Én sem vagyok kivétel: van bennem, mára azonban kissé más évek óta KDE-párti vagyok, az „ele- Szép, szebb, leghaszontalanabb megközelítésben: az elõbb leírt linket fánt méretû” környezet a kezdetektõl Amikor néhány éve elõször kutakod- aktívan használom, bizonyos kreáto- fogva lenyûgöz engem is. No nem tam SuperKaramba témák után, némi rok GPL munkáit keresve. Ezeket a méretével – nem is az igényeivel, iróniával „rosszmájú” következtetése- a mûveket aztán jellemzõen átalakí- sokkal inkább az összetett képessé- ket vontam le: voltak szép munkák, tom – saját ízlésemnek megfelelõen. geivel: az extráktól roskadó asztal akadtak szebbek, és teljesen felesleges mérhetetlenül sok segédprogramot szenzorokkal felszerelt giccses darabok. Mire kell törekedned? és lehetõséget biztosít a rálátásomhoz A méltán híres  http://kde-look.org Nehéz kérdés! A választ nem is tud- mérten. Így a példaként bemutatandó honlap ide vonatkozó választékából nám úgy megadni, hogy ne szóljon téma felépítésénél a KDE asztalom az egyik kezemen meg tudtam volna közbe a részrehajlás ténye. Inkább megjelenését tartottam szem elõtt... számolni az értelmes munkákat. Nem olyan megoldást választok, ahol le- tudtam mire vélni a jelenséget, csak írom, hogy én milyen szempontok Íme, a formák és a színvilág csóváltam a fejem: „Létezik olyan em- szerint képzelem a stílusos és hatékony Személy szerint leginkább a fehér, a fe- ber, aki azt szereti, ha az aktuális idõjá- SuperKaramba környezetet. Reménye- kete és a kék színekkel vagyok kibékül- rást a monitorról olvassa le ahelyett, im szerint ebbõl az Olvasó le tudja ve – ezeket (és árnyalataikat) huzamo- hogy kinézne az ablakon? Ennyire gya- majd szûrni a tanulságokat, aminek sabb ideig is el tudom viselni a képer- kori, ha valakinek kevés a rendszertál- hatására (nézeteim helyeslése vagy el- nyõmön. Pontosítanék: kizárólag csak cán lévõ óra, ezért egy éktelen nagy lenzése által) szilárdulhat a véleménye ezeket tudom elviselni... A mindenható idõmérõt tesz a képernyõre második – feltéve, hogy még csak „tapogatózik”. eléggé kényes látást „programozott” eszközként?” De a legjobb csak ezután A hatékony munkaasztal megítélése nekem: sajnos még egy csodaszép, szí- jött! Egy rendszerparaméter bûbájos a felhasználó beállítottságától függ. nes természetfotó is zavaróan hat rám kijelzésétõl majdnem „üvöltve futot- Van, aki esküszik a villámgyors hosszú távon, így a tetszetõs munkákat tam ki a világból”: az alkotó neon-sárga BlackBox-ra, van aki a GNOME-ban legtöbbször telítetlenné teszem.

43 Alkalmazások

2. ábra Készül a téma, épül a skicc 3. ábra A vázlat alapján dolgozom...

Az asztalom „alapját” rendszerint Az eredményt ezután (összefésülve) sét: a GIMP még fut, így egy újabb a következõképpen alakítom ki: há- el kell mentenünk tetszõleges névvel, rétegen érdemes lehet kipróbálni né- rom-négy szürkeárnyalatos képet be- mondjuk PNG formátumban (esetem- hány lehetõséget, szövegblokkokat másolok egy mindenki által olvasható ben sajat.png). Ezzel a résszel meg létrehozva és türelmesen rendezgetve (e célra fenntartott) mappába, majd is volnánk, de még ne zárjuk be (valójában a kész témát szeretnénk készítek egy apró szkriptet, ami a grafi- a képmanipulátort: a mûveletek elõzetesen modellezni). Az elfogadha- kákat meghatározott szisztéma szerint közben szerepe lesz! tónak ítélt skiccet hagyjuk nyitva! „körkörösen” átnevezi a számítógép in- A vázlaton szereplõ, megjelenítendõ dulásakor. A KDE asztal hátterét aztán A belbecs ereje paramétereket rögzíteni kell az egyik ilyen grafika tallózásával hatá- A történet most kezdõdik igazán: a stí- a SuperKaramba új témájának fõ állo- rozom meg, így minden egyes indítás lusos munka belbecsben is meg kell mányában. Tetszõleges szerkesztõvel után más háttérképpel fogad a profi- nyilvánuljon. Márpedig a lekérdezett hozzunk létre egy szöveges fájlt, lom. Igyekszem az ikonszettekben is (és kijelzett) paraméterek terén mondjuk sajat.theme néven! Elsõ sorát követni a kissé különc ízlésvilágomat, szükséges némi rálátás a /Unix (saját példám szerint) kezdjük így: tehát a két színre szûrt remekmûveket parancsokra, a SuperKaramba doku- favorizálom. Természetesen a menü- mentációjában leírt megoldások mel- karamba x=30 y=30 w=200 h=450 szerkezetet és a konzolokat is ehhez lett. Utóbbi leírás egyébként nem szû- igazítom, miközben bizonyos fokú kölködik a lehetõségek ismertetésé- Ez a következõket jelenti: „Karamba” áttûnésre törekszem. ben! Hálózati és rendszer információk, témáról van szó, aminek alapértel- merevlemez „monitorozás”, egyéb mezett elhelyezkedése az asztal „x,y” Külcsín... programvezérlések egyaránt beleszõ- pozíciójába kéretik, a kijelzõn lévõ in- Nos, egy ilyen „szürke világra” hetõek a témába. Az elképzelt megol- formációk helyzetét pedig egy „w,h” nem nehéz egyszerû és elegáns dásomban a hálózat, a merevlemez pixelméretû mátrixon fogjuk megadni SuperKaramba témát készíteni, hiszen és a memória adatait fogjuk elõtérbe (ez rendszerint egyezik a létrehozott csak a színekben csökkentett környe- helyezni, emellett a rendszer para- *.png háttérkép dimenzióival). zet szabályait kell figyelembe venni. méterei (kernel, felhasználó, gépnév, A következõ két sor így fest: Képzeljünk el egy képet, ami az egész asztali környezet) is szerepet kapnak vizualitás alapját fogja nyújtani, lehe- majd. A programvezérléshez nem defaultfont color=255,255,255 tõleg áttetszõ háttérréteggel. Nyúl- fogunk görcsösen ragaszkodni, de az fontsize=9 font="Tahoma" junk bátran a GIMP-ért! Kezdjünk XMMS alapfunkcióit például integrál- shadow=2 bgcolor=0,0,0 nagyjából 200x450px méretû áttetszõ hatnánk... No, mindegy, erre a részre image x=0 y=0 path="sajat.png" rajzfelületen, ennek sarkait kerekít- azért még visszatérek! name="background" sünk le, és lágy szélekkel öntsük ki Az elõzõ blokkban leírtam, hogyan a területet fekete színnel. A sötétre fes- lehet egyszerûen elkészíteni a munka Ezzel azt közlöm, hogy az alapértelme- tett réteg áttetszõségét állítsuk hatvan grafikai alapját. Tényleg nem volt nagy zett szöveg színe fehér lesz (RGB százalékosra, majd egy új rétegen dolog, viszont most komolyan végig 255,255,255), típusa Tahoma, kilences készítsünk egy fehér színû keretet. kellene gondolni az alkotás megjelené- méretben. A betûknek vastag fekete

44 Alkalmazások

text x=30 y=106 value="Uptime:" text x=102 y=106 sensor=uptime format="%Hh:%Mm:%Ss" interval=1000 text x=30 y=121 value="Dátum:" text x=104 y=121 sensor=time format="yy.MM.dd ddd" interval=60000

Nos, így kell lekérdeznünk a KDE kör- nyezet verzióját, majd a sed által érde- mes levágunk az információ felesleges részét. Egyúttal megmérjük a bekap- csolás óta eltelt idõt, hogy adott formá- tumban ki tudjuk jelezni (ehhez nem kell külsõ program, így itt kihagytam a programvezérlõt). Az uptime szenzor frissítését 1000 ms-os (tehát egy másod- perces) idõközökre állítjuk, az interval=1000 érték segítségével. 4. ábra Az asztal bal oldalán a kész téma! Végül, de nem utolsó sorban a dátum is a témára fog kerülni, amit percen- ként leellenõrzünk (ezen a ponton árnyékot szeretnék (RGB 0,0,0)! A téma nem pedig a „Karamba” beépített lehe- kérhetnénk jóval lomhább frissítést is, grafikai alapját az elõzõekben készített tõségeit használjuk (e külsõ program viszont egy esetleges éjféli „átfordulás” egyszerû sajat.png kép fogja biztosíta- jelen esetben az említett echo). A hasz- esetén a kijelzõ csúnyán késne). ni, amit a pixelmátrix x,y(0,0) pontjába nálandó betûtípus méreténél csúnyán A következõ blokk a processzorra, kell elhelyezni (így a mátrix és a PNG eltértem az alapértelmezettõl – azért, a gyökér partícióra és a memória grafika pontosan „lefedi” egymást). hogy ez a sor azonnal szemet szúrjon foglaltságára fog vonatkozni. Kezdjük A bevezetés ezzel meg is volna, követ- mindenkinek! a központi egységgel! A CPU adatai- kezzenek kijelzõ alkotóelemei. Ettõl kezdve kicsit kuszább lesz nak lekérdezéséért egyaránt felel A GIMP-pel létrehozott skicc elsõ szö- a helyzet, mivel a kijelzõ ugyanazon a „külsõs” cpuinfo és az uname -p veges sorában a büszke felhasználó sorában lesz a szenzoros érték és az parancs, valamint a SuperKaramba és a számítógép neve „feszít”. Nagyon általunk megadott szöveg is, a példá- beépített CPU szenzora. A terhelés fontos, hogy ez a szöveg milyen pozí- ban a „Kernel:” felirat, rögtön utána mérése másodperces ciklusokban cióban helyezkedik el! Váltsunk át a a mag jelölése. Ezt a következõkép- esedékes, az órajel kijelzése fél a képmanipulátorra, és vigyük a mu- pen tudjuk megoldani: percenként frissül: tatót a rétegelt kép elsõ gépelt sora elé. A szerkesztõ ablak bal alsó sarká- text x=30 y=76 value="Kernel:" text x=30 y=150 value="HW:" ban leolvasható a pontos pozíció: ese- text x=116 y=76 sensor=program text x=126 y=150 sensor=program temben ez x,y(42,40) érték. Rögzítsük program="uname -r" program="uname -p" ezt is a theme fájlban, tehát a követke- text x=30 y=165 value="Órajel:" zõ sornak nagyjából így kell kinéznie: A pozicionálás itt sem érdemel külö- text x=120 y=165 sensor=program nösebb értelmezést, hiszen a GIMP program="cat /proc/cpuinfo | text x=42 y=40 sensor=program folyamatosan „súg”: a magassági érté- grep 'cpu MHz' | sed -e program="echo ${USER}@ kek értelemszerûen egyeznek, „x” 's/.*: //'| sed -e `hostname`" fontsize=14 irányban azonban el vannak tolva. 's/\..../MHz/'" Az elsõ sorban olvasható value jelölés interval=30000 Ugyebár említettem, némi gyakorlat szolgál arra, hogy a „Kernel:” felirat text x=30 y=180 szükséges a Linux parancsok terén: statikus legyen. Eközben az uname -r value="Terhelés:" az echo parancs az aktuális szintaktiká- parancs kiolvassa a mag verziószámát. text x=148 y=180 sensor=cpu ban itt a felhasználó@gépnév kimenetet Most több elképzelést valósítsunk format="%v%" interval=1000 adja eredményül. A pozicionálás nem meg „egy körben”! szorul magyarázatra, viszont a sensor Ezek után már semmiség a gyökér szó igen: így kell jelölni azokat az érté- text x=30 y=91 és a központi tár mérése, kijelzése. keket, melyek nem általunk rögzített value="Környezet:" Erre a célra szintén a beépített szenzo- szövegek, hanem „szenzorszerûen” text x=140 y=91 sensor=program rokat használhatjuk legegyszerûbben: kiolvasott adatok. A program nevû ve- program="-config -version zérlõ pedig arra utal, hogy egy külsõ | grep KDE | sed -e 's/.*: text x=30 y=212 programból nyerjük ki az adatokat, //'" value="Memória:"

45 Alkalmazások

text x=98 y=212 sensor=memory lás pontosítása ugyan még hátravan, format="%um / %tm Mb" de ez már teljesen személy- és asztal text x=30 y=227 value="Gyökér függõ. Így ha valakinek nem tetszik foglalt:" egy kijelzett adat helye, akkor az x,y text x=146 y=227 sensor=disk koordinátákon változtasson bátran. format="%up%" mountpoint="/" A változtatások idejére azonban az ak- tuális témát mindig be kell zárni, kü- A hálózati vezérlõ sem maradhat ki lönben a SuperKaramba (bizonyos ver- a listából, a befelé és a kifelé mutató ziókban) futása hibával megszakad. adatforgalom sebességét szeretném Említettem, hogy akár az XMMS ve- monitorozni: zérlését is rátehetnénk az elkészült mûre. Engedelmetekkel nem követ- text x=30 y=260 value="Hálózat ném el ezt a „bûnt” (nem látom értel- (le):" mét), de aki mindenképpen szeretné text x=128 y=260 sensor=network megoldani, annak elõször is készítenie device="eth0" format="%in kell egy gombsor grafikát. Olyan képet kB/s" interval=2000 kell szerkeszteni, ahol a népszerû le- decimals=1 játszó alapfunkcióihoz (elõzõ szám, text x=30 y=275 value="Hálózat lejátszás, állj, következõ szám) tartozó  (fel):" gombok egymás mellett sorakoznak, 5. ábra RAM adatai borzasztóak, text x=128 y=275 sensor=network a téma szélességéhez igazodva. Nevez- valami nem ürít... device="eth0" format="%out zük a képet xmms_irany.png néven! kB/s" interval=1000 Ekkor a vezérlést biztosító sorok vala- decimals=1 hogy így festenek: vagy éppen a teljes kinézet átváltozá- sa. Amennyiben igény mutatkozik rá, Most már csak egy dolog van hát- image x=60 y=400 akkor vissza fogunk majd térni erre ra. Egy szép, aktív grafikont gondol- path="xmms_irany.png" egy késõbbi számban – ahol egy tam ki a példa elején, ami a CPU ter- clickarea x=60 y=400 w=20 h=20 nagyon összetett, sok blokkos, több helését mutatja folyamatában (a szán- onclick=" -rew" ablakos interaktív téma létrehozásával dékot a skiccen megjelenítettem). clickarea x=90 y=400 w=20 h=20 fogok megpróbálkozni. Erre is van beépített lehetõség, amit onclick="xmms -play" A másik apróság arról szól, hogy a lét- a következõk szerint kell használni: clickarea x=120 y=400 w=20 h=20 rehozott munka természetesen egy- onclick="xmms -stop" szerû példa jellegû. Személy szerint graph x=50 y=312 w=100 h=80 clickarea x=150 y=400 w=20 h=20 a cikk elején olvasható linkrõl töltöm sensor=cpu points=100 onclick="xmms -fwd" le a nekem tetszõ remekmûveket, color=255,255,255 majd saját ízlésem szerint „rombolom A sorok mûködése rém egyszerû: szét” õket, hogy a fekete-fehérre szûrt Tehát az x,y koordinátákra kérünk egy meghívjuk a gombsoros képet asztalomhoz illeszkedjenek... fehér színû aktív grafikont, ami 100x80 x,y(30,400) pozícióba, majd a WEB Aki kedvet érezne saját munkák alko- pixel szélességben 100 lehetséges érté- kapcsán ismerõs Imagemap eljáráshoz tásához, miközben nem szeretné be- ket tud megjeleníteni. Persze az anali- hasonlóan területeket definiálunk. gépelni a leírt sorokat (vagy éppen zátor jobban mutat, ha van mögötte Az elsõ aktív sor így értelmezhetõ: nem áll kezére a GIMP), látogasson el egy erre a célra készült mutatós hát- a x,y(60,400) ponttól jobbra, lefelé fél percre a  http://kovi.uw.hu/lv2007 térgrafika. Ezt most nem részletezem, irányban 20x20px méretû területen címre! Ide töltöttem fel a cikkben sze- a GIMP segítségével gyorsan össze- figyeljük az egérgomb lenyomását. replõ grafikákat nyers formákkal, és ütök egy 130x100 pixel méretû gráfot. Ha megtörténik, akkor kiadjuk az az aktuális theme állományt – segítség- Ha elkészült, akkor a sajat.theme xmms --opció parancsot (mivel képpen. Egyet kérek szépen mind- három bevezetõ sora után beszúrom a lejátszó futása például egy konzolról össze (mondjuk úgy, cserébe): ha vala- negyediknek a friss-ropogós képet: is változtatható a leírt utasításokkal). ki alkotott egy tetszetõs és hasznos A teljes igazságoz azonban tartozik SuperKaramba témát, azt ne felejtse image x=36 y=300 még két apró információ, amivel tarto- el önzetlenül megosztani a többiekkel, path="racs.png" zom. Az egyik dolog egy fontos ké- tehát irány a  http://kde-look.org! pesség „elhallgatása”: amennyiben Tartalmas kikapcsolódást! Nos, ha mindennel végeztünk, akkor a témát tartalmazó mappában létreho- a létrehozott két képet, valamint zunk egy (bizonyos szabályok szerint Kovács Zsolt ([email protected]) a sajat.theme állományt mozgassuk felépülõ) Python szkriptet, akkor az ugyanabba a mappába – majd interaktivitás magasabb szintre emel- Quake fanatikus. Négy éve a debre- a superkaramba parancs kiadása után hetõ. Például a kész kijelzõn jobb ceni linuxosok egyike. Töretlenül hisz tallózzuk ki a munkánkat. Remélem, egérklikket nyomva adott dolog tör- a Slackware terjesztésben. tetszik a letisztult a téma. A pozicioná- ténhet: akár a háttérgrafika cseréje,

46