čtvrtek 25. února 2010

Hrátky s Gnuplotem

Před pár dny za mnou přišla má přítelkyně s tím, že potřebuje poradit s nějakým grafem. Řeknete si pche nějaký hloupý graf přece nemůže být problém. No tak to je přesně to, co mi v tu chvíli proběhlo hlavou.

Ukázala mi tabulku s jakýmisi hodnotami s tím, že v excelu je to na jedno kliknutí. Zde možná stojí za zmínku, že přítelkyně je šťastným uživatelem Ubuntu linuxu a na nějaký "Excel" už jistě dávno zapomněla. Bohužel už si nevybavím to šílené slovo kterým ten druh grafu titulovala, každopádně v Excelu se to prý jmenuje povrchový graf.

Jelikož sám nejsem zrovna nadšeným příznivcem molochů, jako je OpenOffice, či Microsoft Office, osobně raděli LaTeX stálo mně to chvilku hledání a následně i googlení, abych zjistil, že takový graf zřejmě OpenOffice neumí (pokud ano prosím podělte se se mnou).

No co řekl jsem si, když něco potřebuješ obrať se na profíka. A tak jsem se začal přehrabovat v dokumentaci Gnuplotu :). Jelikož nejsem ani žádný nadšený grafista chvíli mi trvalo, než jsem se dopracoval k něčemu o čem byla přítelkyně ochotná prohlásit že to je přibližně ono - docela úspěch na to, že jediné co jsem o tom grafu věděl byla vstupní data.

Mějme tedy vstupní data v podobě matice 10x10. V tomto případě se jedná pouze o náhodná data.

26502 17800 19489 28724 10661 5578 22339 26876 16096 17132 21579
1277 2745 28030 30732 29398 6996 27581 22413 7083 5514 22908
6020 8953 18124 15056 6036 5914 30910 7550 5445 7831 25231
25893 711 11825 21530 11819 3430 5038 30398 29545 4045 24932
16382 25238 27643 1671 29143 2932 2309 8242 17637 21948 28816
20278 6196 27082 18445 7846 17127 30729 8627 18207 25483 2844
24894 23256 18744 20690 12393 9837 21101 1479 16172 21099 23977
28633 19381 4506 10185 4945 11816 26638 13349 3790 25623 22252
6761 18929 22464 30973 22067 25290 24329 23540 29809 1541 11836
8831 14968 7636 14978 15120 8933 924 18465 14184 19508 8287
8309 4328 13602 10220 11184 26007 25282 23240 27217 31218 19553

Z těchto dat, dokáže Gnuplot vygenerovat vcelku pěkný 3D obrázek. Co jsem ale já, resp. moje přítelkyně, potřeboval, byl 2D obrázek zachycující kontury onoho 3D objektu jakoby rozsekaného do několika pásem (v z-ové ose, na níž se nanášejí právě ty hodnoty z matice).

Pro lepší pochopení si představte, že uvedená matice představuje výšky hor v pohoří a to co jsem já potřeboval je mapa s vrstevnicemi. To už se představit dá ne?

Takže asi následovně. Nejdříve bude třeba s matice vytvořit data, se kterými bude moci gnuplot pohodlně pracovat. Teda, ne že by to s maticí neuměl, ale pokud budeme chtít do grafu vykreslit obojí, bude Gnuplot protestovat.

set xrange [0:10]; set yrange [0:10]
set size ratio 1
set table 'gnuplot.data'
splot 'data' matrix
unset table

Tímto si gnuplot vytvoří z matice uložené v souboru data přijatelnější formát a uloží jej do souboru test.dat. Ostatní snad nemusím vysvětlovat, jen podotknu, že nastavení poměru je důležité, jelikož gnuplot z nějakého důvodu nepředpokládá čtvercová data a obrázek by tak byl zkreslený do obdélníku. Následuje ta důležitější část a co vytvoření dat pro ony zmiňované vrstevnice

set contour base
set cntrparam bspline
unset surface
set table 'gnuplot.cont'
splot 'data' matrix
unset table

Potřebné vysvětlení najdete v manuálu, protože jsem trošku lenivý to tady rozepisovat :). Snad jen zmíním, že v tomto příkladu jsem použil pro vykreslení kontur bspline, jelikož dat je málo a zaoblené to vypadá lépe. Jakmile máme data připravena můžeme graf vykreslit.

set terminal png
set output 'plot.png'
p 'gnuplot.data' with image, 'gnuplot.cont' w l lt -1 lw 1.5
# p 'cont.dat' w l lt -1 lw 1.5
# p 'test.dat' with image

Zakomentované řádky jsou jenom jednotlivé části (data a kontury) samostatně. A zde už je výsledek

Není to nic moc, což je asi taky důvod proč se rozhodla použít obrázek od kamarádky :(. Mimochodem, pokud místo dat použijete například nějakou pěknou funkci, vypadá to vážně moc dobře, viz. obrázek na začátku článku. Jde vlastně hlavně o to, že se mi nepodařilo přijít na to, jak vyplnit prostor, který kontury ohraničují nějakou barvou...snad příště. Pokud se najde nějaký gnuplotí odborník, který jednoduše Ví, prosím neváhejte a podělte se v komentáři.

Každopádně mně ale mrzí, že něco takového OpenOffice neumožňuje, nakonec, jak moc to může být složité? Asi jim napíšu feature request.

Zajímavé odkazy

Osobní údaje na internetu

Většinou, když se snažím lidem vysvětlit, že není dobré brát bezpečnost na internetu na lehkou váhu, dostane se mi ve většině případů otřepané odpovědi typu "A kdo by se tak asi zajímal o mně, nebo o můj počítač!". Schválně, kolik z vás už takovou odpověď slyšelo, vyslovilo, nebo si ji alespoň pomyslelo ? Je smutné, že takový názor je většinový i dnes, kdy jsou krádeže identit, tajných informací a napadání osobních počítačů za účelem zisku na denním pořádku.

Má reakce na takovouto odpověď bývala, že útočníkovi je vcelku jedno, že daný člověk je Pepa Paběrka z Kotěhůlek (Jen doplním, že útočník samozřejmě sám žádný takový útok neprovádí, ale dělají to za něj automatizované nástroje, malware, spyware apod.). Podstatné pro něj je, že vlastní vcelku slušný počítač s dobrým připojením k internetu, jehož výpočetní výkon může použít pro libovolnou činnost. Nutno dodat, že tato činnost bývá vždy nelegální. A tak se Pepův počítač může stát účastníkem útoků na různé korporátní, nebo vládní servery či rozesílat nabídky na viagru apod. Možnosti útočníka jsou neomezené. Ovšem v dnešní době je stále více patrné že to ani zdaleka není vše.

Počítač našeho milého Pepy totiž obsahuje také spousty emailových kontaktů, které mohou být využity pro spam. Mnoho kontaktů různých kecálků mohou být také velmi dobře využity pro nevyžádaná sdělení. Ale to ani zdaleka není vše. Bankovní čísla, hesla k účtům (také bankovním), jména a adresy lidí, firemní tajemství atd atd. Je jasné, že útočníci se zajímají i o osobní údaje obsažené na počítači. Ovšem zde je situace ještě horši, než se může zdát.

I takové informace, které bychom označili za velmi osobní je totiž mnoho lidí více než ochotno vystavit na internetu všem na odiv (facebook, libimseti,xchat, různé blogísky atd). Množství a povaha takových informací může být někdy až zarážející. Nebudu zde zacházet do podrobností, jelikož nejsem z těch kteří by toužili tyto informace využít, ale vězte, že takových už ne pouze jednotlivců, ale celých organizací je spousta a ač se vám to může nepozdávat, dovedou takové informace velmi dobře využít.

Jeden příklad za všechny je třeba intelius.com, kde si můžeteza nepatrný poplatek nechat pro libovolnou osobu vyhledat informace jako je například, přibližný plat, telefonní čísla, zaměstnavatele, datum narození, jméno za svobodna, data narození rodičů, nebo i přibližnou velikost majetku. To jsem jen vypíchl pár věci kterých jsem si na stránkách všiml. Tato konkrétní služba je koncipována pouze pro USA, ale určitě existují i hromady dalších bez tohoto omezení.

V článku Web Fraud 2.0: Data Search Tools for ID Thieves autor popisuje své zkušenosti s takovými službami. Podotýkám, že tvrdí, že je opravdu vyzkoušel, tedy za informace si zaplatil. Je až neuvěřitelné čeho se dá takovým způsobem dosáhnou. Z věcí co mne zaujaly asi nejvíce je možnost zjištění zůstatku na bankovním účtě, nebo možnost změnit adresu pro zasílání vyúčtování z kreditní karty. Nad takovými možnostmi už se člověk opravdu podiví. Každopádně doporučuji přečíst.

Situace je kritická, nikoliv však beznadějná. Na internetu čeká na uživatele spousta hrozeb. Vzhledem k řečenému výše, je potřeba si v prvé řadě uvědomit, že i Já(Ty) jsem cílem takových organizací a tomu se pak přizpůsobit. Tedy nevystavovat na internetu osobní údaje, pokud to není nutné (a to není nikdy), raději zadávat údaje neplatné a vymyšlené, chránit svá hesla (opravdu není důvod aby mé heslo znal i někdo cizí) a také v neposlední řadě chránit svůj počítač (antivirem, firewallem).

Co se týče posledního bodu, dá se to rozvést na samotný článek, nebo spíše seriál, ideálně i na sérii knih. Počítačová bezpečnost není samoúčelná a různé přístupy mohou být různě efektivní. Jako jednu z velmi efektivních bych označil výběr operačního systému. Například výměnou systému MS Windows za nějakou z Linuxových distribucí (doporučuji Ubuntu) můžete získat mnohem bezpečnější systém bez virů, spyware a podobného haraburdí, které operační systém Windows přitahuje jako magnet. Důvodů, proč je Linux mnohem bezpečnější než jakýkoliv windows, je opravdu velmi mnoho. Možná někdy napíšu nějaký článek o tom proč používat právě Linux, ale nyní zájemce odkážu na českou stránku prezentující Linux www.proclinux.cz. Nepodléhejte ovšem iluzi o absolutní bezpečnosti, nic takového neexistuje a jakkoli bezpečný operační systém, potažmo program, je bezmocný při střetu s nepřemýšlejícím uživatelem.

A pamatujte, chraňte své osobní údaje a svou identitu! V dnešní době je to potřeba.

Souvísející odkazy

Správa uživatelů v linuxu (pro začátečníky)

Tenhle článek jsem se rozhodl napsat zejména proto, že z vlastních zkušeností vím, jakým hrůzným způsobem jsou schopni běžní Frantové uživatelé (BFU) pracovat se svým systémem. Doufám, že člověk, který mi byl inspirací právě čte tyto řádky a tuší, že je řeč o něm a také doufám, že si z tohoto článku něco pozitivního odnese.

Ke správu účtů se většina uživatelů laiků dívá asi tímto způsobem: "Jaké účty? Jaká správa?". A pak dochází ke zmatkům, nepořádku v domovském adresáři, rozvrtaných nastaveních různých programů a podobně. A přeci stačí tak málo, vytvořit pro naše milované členy rodiny, nebo přátele vlastní účet. Nejen, že se zbavíme všech možných i nemožných problémů z koexistence více uživatelů na našem účtu plynoucích, ale myslím, že s povděkem to přijme i strana druhá, tedy naši blízcí, kteří jistě uvítají možnost upravit si prostředí k obrazu svému.

V původu těchto problémů bych se nerad šťoural, ale na vině bude nejspíš zvyk z windows, kde většinou celá rodina používá na rodinném počítači jeden účet a to ještě ten superuživatelský. Ovšem operační systém vyžaduje systém. A není nakonec krásné, když je vše přehledně uspořádané, uživatelé si navzájem nepřepisují data, nepřenastavují programy a nedohadují se kdo bude používat který komunikátor. Věřím, že spousta laiků si momentálně nedovede výhody takového přístupu úplně přesně představit, ale vězte, že výhody to jsou a nezanedbatelné, stačí jen vyzkoušet.Tak tedy jak na to?

Uvedený postup se v této části bude týkat distribuce Ubuntu, tedy pracovního prostředí Gnome. Ovšem idea zůstává stejná.

Správu uživatelů a skupin naleznete v menu Systém->Správa->Uživatelé a skupiny. Všimněte si, že položka se nachází v podmenu Správa což naznačuje že se jedná o nastavení ovlivňující celý systém na rozdíl od podmenu Volby, kde se nastavení týkají pouze daného uživatele.

V okně Nastavení uživatelů vidíte stávající uživatele s tím, že žádné volby nejsou momentálně aktivní. Je potřeba nastavení odemknout, což bude vyžadovat vaše heslo. Všimněte si že uživatel root je deaktivován. Je tomu tak z důvodu zvýšení bezpečnosti na desktopových počítačích, nedoporučuji tedy si s nastavením uživatele root pohrávat. Po odemknutí již můžete přidat nového uživatele. V okně Nový uživatelský účet můžete nastavit zejména uživatelské jméno, tedy login, a heslo. Ostatní položky můžete klidně nechat prázdné.

Pro ty zvídavé jen doplním, že zde lze nastavovat i práva jednotlivých uživatelů formou přidělování uživatelských skupin v záložce Uživatelská oprávnění. Položky jsou zde vcelku výstižně pojmenovány, nemá smysl se jimi nějak zabývat. Snad jen doporučím nedávat ostatní uživatele do skupiny adm, tedy nepřidělovat jim právo Spravovat systém. Jde přeci jenom o Váš počítač a měli by jste mít nad vašim systémem alespoň nějakou kontrolu.

Záložka Pokročilé skrývá nastavení, která stejně ani nebudete mít touhu měnit. Ono vlastně ani není proč, pokud ovšem nechcete nastavit uživateli nějakou společnou hlavni skupinu.

Tím bychom měli celý proces přidání uživatele zvládnutý. Nezbývá než se přihlásit. Jen mě ještě napadá, že se mohou vyskytnout situace, kdy chce být připojeno více uživatelů naráz. Taková situace není neobvyklá ba je dokonce v mnoha případech i žádaná a linux jako takový je vyvíjen jako multiuživatelské prostředí. Problém ovšem může nastat, když musíte oba sdílet klávesnici i monitor, stručně řečeno jeden počítač. Ovšem i v tomto případě nejste nuceni se neustále odhlašovat a přihlašovat. Gnome vám nabízí možnost přepnout uživatele, pomocí které se jednoduše spustí další X server a v něm můžete přihlásit dalšího uživatele. Pak již mezi jednotlivými uživateli jednoduše přepínat.

Přepnout uživatele můžete jednoduše z hlavního panelu, kde kliknete na položku s vašim loginem. V menu pak vyberete uživatele na kterého chcete přihlásit a voila - hotovo. Když už je další X server vytvořený dá se mezi nimi přepínat klasickou kombinací Alt+f(7 a výše), resp z grafického rozhraní Ctrl+Alt+f(7 a výše).

Pro uvedený postup samozřejmě existuje mnohem jednodušší a rychlejší alternativa a sice použití terminálu:

man adduser

Další možností je přímo editace souborů /etc/passwd a /etc/group, kde se nachází seznam všech uživatelů a skupin. Ovšem tento postup bych rozhodně nedoporučil nezkušenému uživateli. Jednak by nejspíš neznal ani syntaxi souboru a navíc by z největší pravděpodobností něco velmi pohnojil. Ikdyž člověk se pořád učí že?

Jak na jednorázová hesla v Linuxu

Zabezpečení serverů, se mnohokrát bohužel neobejde bez různých kompromisů, které mnohdy mohou vést až k docela nepříjemným bezpečnostním dírám. Například v situaci, kdy potřebujete mít k serveru v podstatě nepřetržitý přístup odkudkoli je situace dosti obtížná. Samozřejmostí je zakázat přihlašování pomocí hesel a přihlašovat se pouze pomocí klíčů. Ovšem co dělat v případě, kdy se potřebujete připojit z nedůvěryhodného stroje, kde je možnost odposlechu klíče vcelku velká, nebo prostě sebou své privátní klíče netaháte po kapsách?

Vcelku elegantním řešením v tomto případě můžou být jednorázová hesla (OTP). Jelikož je každé takové heslo vždy pouze na jedno použití je nebezpečí plynoucí z odposlechu hesla naprosto irelevantní. V tomto článku bych se pokusil popsat postup jak zprovoznit přihlašování na vzdálený server přes ssh pomocí jednorázových hesel. Veškerý uvedený postup byl prováděn na Debian linuxu, ovšem bude s drobnými obměnami platný i na jiných distribucích, dost možná i na jiných systémech, pro které byl program portován.

Instalace

Pro plnou funkčnost, tedy generování i ověřování klíčů budeme potřebovat tyto 3 balíčky :

  • libpam-opie - modul pro PAM
  • opie-client - programy pro generování sady hesel
  • opie-server - programy pro vytvoření master hesla a poskytování informací o OTP
Vše nainstalujeme pomocí :

aptitude install libpam-opie opie-client opie-server

Nastavení

Za předpokladu, že budeme jednorázová hesla používat pro autentizaci přes ssh, budeme muset správně nastavit ssh démona. V souboru /etc/ssh/sshd_config upravíme následující:

ChallengeResponseAuthentication yes
PasswordAuthentication yes

Jelikož v linuxu používáme PAM, musíme nastavi soubor, který používá ssh server. Nejspíše jej najdeme zde /etc/pam.d/ssh. V této chvíli je ovšem potřeba se zamyslet a to hlavně v případě, že jsme na daný stroj připojeni vzdáleně. Hrozí totiž, že si odřízneme k serveru přístup úplně. Pro testování prozatím doporučuji odkomentovat druhý řádek, aby nám zůstala možnost přihlásit se heslem v případě, že se něco nepovede.

# @include common-auth
# auth    sufficient      pam_unix.so
auth    sufficient      pam_opie.so
auth    required        pam_deny.so
Všimněte si, že include je zakomentovaný. Nyní je třeba restartovat ssh server.

Vygenerování hesel

Nejdříve inicializujeme sekvenci hesel a zavedeme master heslo.

opiepasswd -c

Toto bychom měli provádět v ideálním případě přímo na daném stroji, aby nedošlo k odposlechu master hesla. Pokud i přesto toužíte vygenerovat hesla vzdáleně použijte parametr -f. Master heslo by mělo být dostatečně bezpečné a dostatečně dlouhé (10 - 127 znaků). Heslo si po absolvování celého návodu není třeba pamatovat!

V souboru /etc/opiekeys si můžeme ověřit že heslo již na serveru opravdu je. Pomocí nástroje opieinfo se můžeme podívat, jaké heslo bude vyžadováno při dalším přihlášení.

Nyní přichází na řadu ta nejpodstatnější část a to je vygenerování sady jednorázových hesel pomocí příkazu :

opiekey -n 10 'opieinfo', nebo například opiekey -n 10 498 as2776

Při zadávání master hesla se musíme mít napozoru, jelikož se nekontroluje jeho správnost (není k tomu důvod, ani to není žádoucí). Mohlo by se tedy lehce stát, že vygenerujete sadu hesel, která ovšem nebude korespondovat s heslem uloženým na serveru a bude tedy nepoužitelná. Po vygenerování sady hesel můžeme master heslo zapomenout, pak ale budeme muset v případě potřeby dalších hesel znovu inicializovat sekvenci hesel pomocí opiepasswd.

A jak to funguje ?

Jednorázová hesla fungují na velmi jednoduché principu, je ovšem potřeba ten princip nejprve pochopit. V návodu jsme nejdříve inicializovali sekvenci hesel. Předali jsme programu naše tajné master heslo a ten na něj aplikoval 499-krát hashovací funkci ƒ a výsledek si zapamatoval. Hashovací funkce musí být zvolena takové, o které se ví, že pro ní neexistuje reverzní algoritmus.

Dále jsme si nechali vygenerovat sadu jednorázových hesel. Opět jsme programu předali naše tajné master heslo a ten na něj aplikoval funkci ƒ tolikrát kolik bylo potřeba podle parametru -n. Příslušné mezivýsledky nám vytiskl. Aby byla hesla čitelnější jsou překládána pomocí slovníku vybraných anglických slovíček, ale to pro funkci není podstatné.

A nyní přichází ta vtipná část. Při přihlášení po nás bude server vyžadovat vždy heslo s indexem o jedna nižším než to, které je uloženo na serveru. Jako příklad vezměme první přihlášení po vygenerování hesel. Na serveru je heslo s indexem 499, na master heslo byla tedy hashovaci funkce ƒ aplikována 499-krát. Server po nás bude chtít heslo s indexem 498. Na něj aplikuje hashovací funkci ƒ a získá heslo s indexem 499. Pokud se hash shoduje s heslem na serveru je vše v pořádku a server zapomene heslo 499 a zapamatuje si námi předané heslo 498. A tak to pokračuje dále až to vyčerpání sady. Geniálně jednoduché a jednoduše geniální.

Jak na hromadnou změnu kódování pomocí Iconv

Už kolikrát se mi stalo, že jsem potřeboval jednoduše, ale hlavně rychle změnit kódování u většího množství souborů. To se dosti často stává, když chce někdo předělat webové stránky z roku raz dva, dělané na koleně a nejlépe ještě vygenerované pomocí nějakého pochybného programu jako je třeba word :).

Vzhledem k tomu, že po téhle náhlé potřebě většinou vytvořený skriptík ihned zapomenu, nebo ztratím, rozhodl jsem se si do budoucna usnadnit práci a vystavit ho zde. Samozřejmě ne pouze pro svou potřebu:). Tak tady to je.

for i in $( find . -name "*.htm"); do iconv -f WINDOWS-1250 \ -t UTF-8 $i > ${i}_temp; mv ${i}_temp $i ;done

V jednoduchosti je síla a tohle opravdu ve většině případů postačí. V aktuálním adresáři se vyhledají soubory s příponou htm a na nich se provede příkaz iconv, který změní jejich kódování z obludného WINDOWS-1250 na něco normálního. V tomhle případě UTF-8. A protože iconv vypisuje překódovaný soubor na standardní výstup je třeba si jej uložit do souboru. V tohle případě bude mít soubor příponu rozšířenou o _temp. A v poslední se nahradí původní soubor nově vytvořeným a máme hotovo.

Samozřejmě se předpokládá známé kódování souboru. V opačném případě poslouží program enca, který lehce odhalí v jakém kódování je ten který textový soubor.

Wmii - jednoduše a efektivně

V prvé řadě je třeba uvést na pravou míru pojmy. Správce oken (window manager) a dekstopové prostředím (desktop enviroment) jsou dvě rozdílné věci. Většinou se věc má tak, že desktopové prostředí používá nějakého správce oken. Je to v podstatě program, který se stará pouze o to jak vypadají okna (resp. jejich dekorace), jak jsou rozložená, případně jak se chovají. To vše je v režii správce oken a bez něj se dá program s grafickým rozhraním sice bez problémů spustit, ale uživatel už nemá žádnou možnost jej přesunout, zmenšit apod. Schválně, zkoušeli jste někdy spustit X window system jen tak ?

Wmii je tedy dlaždicový správce oken. Nečekejte vlnící se okýnka, květnaté grafické efekty, ani hromadu balastu na ploše. Je to prostředí, které se primárně zaměřuje na jednoduchost. Z toho mimo jiné vyplývá také to, že Wmii je prostředí, které ocení právě lidé, kteří si nadevše oblíbili práci v příkazové řádce.

Nepopírám, že existuje spousta lidí, kteří si práci bez vlnících se okýnek, plochy se spoustou ikonek, nebo krásných leč zbytečných grafických efektů téměř ani neumí představit. Leč to není můj případ a tak jsem se před KDE, GNOME a Fluxbox dostal k Wmii. Tolik tedy k úvodu.

Instalací se snad ani nebudu zabývat, jelikož se, až na výjimky, spoléhám na balíčkovač v mém debianu. Pro případné zájemce je k dispozici na stránkách projektuarchív se zdrojovými kódy nejnovějšího vydání.

Tedy po instalaci a spuštění čeká možná pro mnohé šok, jelikož člověk není napoprvé schopen ani spustit jakýkoli program natož správce oken ukončit (ikdyž trojhmat Ctrl+Alt+Backspace je tady vždy:). Je tedy důležité si uvědomit, že Wmii se nejpohodlněji a nejefektivněji ovládá klávesovými zkratkami. Zde nabízím základní přehled některých, které pokládám za nejdůležitější,

ZkratkaČinnost
Alt+pZpůsobí zobrazení menu spustitelných programů na spodní liště. Seznam je vcelku obsáhly, je generován na základě proměnné PATH
Alt+aZobrazí menu samotného Wmii. Zde jej můžeme například ukončit.
Alt+EnterSpustí váš preferovaný emulátor terminálu.
Alt+1..NPřepne na plochu definovanou číslem.
Alt+lPřesune focus na okno vlevo
Alt+kPřesune focus na okno výše
Alt+jPřesune focus na okno níže
Alt+hPřesune focus na okno vpravo

Ještě se může hodit klávesa shift pomocí které můžete, v kombinaci předchozíma zkratkama okna libovolně přesouvat.

První kroky uživatele Wmii zřejmě povedou ke konfiguračnímu souboru, který je v Debianu umístěn /etc/X11/wmii-3.5/wmiirc. Samozřejmě se správným číslem verze. Ono jde vlastně o vcelku jednoduchý shellovský skript, který se ovšem stará o celé ovládání a vzhled prostředí. Lze zde nastavit klávesové zkratky, barvy, ale také popisky jednotlivých ploch, které se dají upravovat podle spuštěné aplikace a v neposlední řadě také jakýsi jednoduchý status bar. Například :

echo -ne $(cpufreq-info -fm) '|' 'IP:' $(ip addr show eth0 | \ 
grep -w inet | awk '{print $2}')  '|' 'UPTIME:' $(uptime | \ 
awk '{print $3}') '|' $(date '+%d.%m.%Y %H:%M:%S')

Když si prohlédnete celý skript záhy zjistíte, že se to není žádná věda a je i pro uživatele neznalého skriptování s shellu vcelku snadno pochopitelný. A pokud by byl přeci jenom problém na internetu jsem zahlédl i pár skriptů napsaných v jiných skriptovacích jazycích. Samozřejmě zde zůstává i možnost napsat si jej sám.

Je ovšem ještě jedna věc, které mně ze začátku celkem potrápila. Když jsem používal jako upozornění na různé události xmessage, nebo když jsem se snažil něco bastlit v Gimpu, vždy bylo dlaždicové chování vcelku na obtíž. Nakonec jsem přišel na to, že to řeší část v konfiguračním souboru označená jako Tagging Rules. Pokud například chci aby se mi xmessage spouštěla ve floating módu, stačí zde zadat xmessage.*/ -> ~

Co se vzhledu týče není toho ve Wmii moc k nastavování. V podstatě si můžete nastavit pouze barvu panelu, barvu dekorace oken a pozadí. Pro nastavení pozadí existuje několik různých metod (např xsetroot). Já jsem si, už ani nevím proč, zvolil feh. V konfiguračním souboru pak stačí zadat například eval `cat $HOME/.fehbg` & a do .fehbg feh --bg-scale "cesta/k/obazku".

Po patřičných úpravách je potřeba nově upravený skript spustit. Toho docílíme příkazem wmiistartrc nebo výběrem položky wmiirc z menu.

To by jako lehký úvod do tohohle vynikajícího správce oken mělo stačit. Zbytek si snad každý najde v příslušných manuálech, nebo na stránkách tvůrců. Časem se snad rozepíšu i o dalších vlastnostech Wmii, o programech (vesměs konzolových) které používám. Takže pokud se vám Wmii zalíbilo a styl práce s ním vám vyhovuje můžete zde určitě časem najít více zajímavých informací.

Pro představu ještě screenshot:

Zajímavé odkazy

Něco málo o mé osobě

Jsem přibližně 25-letý student z města jménem Třinec, ve kterém jsem se sice nenarodil, ale už tam nějaký ten pátek žiji. Momentálně by jste mně tam asi jen tak nezastihli, jelikož většinou přebývám Brně, kde studuji, pracuji atd.

Co se mého studia týče tak se dá říct, že je poněkud rozmanité. Po dokončení průmyslové školy jsem se s vervou pustil do studia na VUT v Brně, přesněji fakulty elektrotechniky a komunikačních technologií. S vervou možná není ten nejlepší výraz, nicméně se již můžu pyšnit titulem Bc.

Asi v druhém ročníku mého studia jsem začal pozvolna objevovat záhady a krásy Linuxu. A opět, pozvolna asi není zrovna nejvhodnější slovo, protože můj přechod na linux by se dal shrnout do tří bodu a zvládnout v časovém období asi tří hodin, ale o tom někdy příště.

A jak se můj zájem o tento systém začal prohlubovat společně s mými samostudiem nabytými vědomostmi, zjistil jsem, že to je přesně to, čemu se chci v budoucnu věnovat. Pravda, dosti široký pojem ten "Linux". Ale pro začátek dostačující. Bohužel jsem ale začal zjišťovat, že mi má fakulta můj koníček zrovna neulehčuje a tak jsem se po úspěšné státní závěrečné zkoušce vydal na FIT (rozuměj Fakultu informačních technologií), kde mne s otevřenou náručí přijali.

Momentálně se zabývám spoustou různých věcí, z nichž jedna z těch málo důležitých je právě tento blog. Bohužel. Ale vše se může změnit.