přejít na obsah přejít na navigaci

Linux E X P R E S, Souboj terminálů

Souboj terminálů

Xterm a Aterm jsou terminálové emulátory v některých ohledech velmi podobné, v jiných se zase velmi liší. Cílem tohoto článku je vás jako uživatele seznámit s jejich nastavením a porovnat jejich vlastnosti.


Oba dva programy mají v podstatě dva způsoby nastavení. Jedním je klasické předávání parametrů a hodnot pomocí příkazové řádky a druhým je nastavení pomocí souboru .Xresources, který by se měl nacházet ve vašem domovském adresáři; pokud tam není, tak jej klidně vytvořte. U většiny parametrů příkazové řádky existuje alternativa v souboru .Xresources. Do tohoto souboru se na každý řádek zapisuje nastavení ve tvaru program*parametr: hodnota. Rád bych ještě upozornil na fakt, že ATerm čte parametry i pro XTerm, takže pokud máte běžící XTerm a chcete, aby ATerm vypadal a choval se stejně, není třeba velkých změn - doporučuji v souboru .Xresources nastavit pro ATerm pouze parametry, které se liší od těch platných pro XTerm. XTerm má svoje defaultní/standardní parametry uloženy obvykle v souboru /etc/X11/app-defaults/XTerm, ATerm je má v /etc/X11/Xresources/aterm.

Obrázek: Xterm: Polotransparentní pozadí a parametr -sh

Obrázek: Aterm: Polotransparentní pozadí a parametr -sh

Ještě bych rád připomněl, že pokud vytvoříte soubor .Xresources, je třeba při každé jeho změně a při startu X Window zajistit jeho "natažení" do systému příkazem xrdb ~/.Xresources, který, pokud jej neprovádí vaše distribuce automaticky, je nutné zapsat do spouštěcího souboru vašeho okenního správce.

XTerm

Dva z nejdůležitějších parametrů jsou -fg a -bg. Pomocí prvního si nastavíte barvu popředí (rozuměj textu) a pomocí druhého se nastavuje barva pozadí. Jako hodnoty se jim zadávají anglická jména barev (příklady: black, white, green). Takže například příkaz xterm -fg black -bg white vám spustí XTerm s černým textem a bílým pozadím. V .Xresources se pro nastavení pozadí používá hodnota background a pro nastavení barvy textu foreground.

XTerm je vyvíjen člověkem, jehož jméno je Thomas E. Dickey, ten začal s vývojem už v roce 1995 a pokračuje v něm prakticky dodnes. V dnešní době je XTerm prakticky základní výbavou X Window Systemu a ve většině dnešních distribucí patří mezi jeho závislosti. ATerm je zkratka od "AfterStep Terminal Emulator" a jak už z názvu vyplývá, je součástí okenního správce AfterStep.

Nyní přistoupíme k nastavení písma. Pokud se vám nelíbí standardní, nic vám nebrání v tom, abyste si pomocí programu xfontsel vybrali nějaké pěkné a zde jej použili. Jenom podotýkám, že jméno vámi vybraného písma bude ve tvaru -něco-něco-něco a aby vám fungovala čeština, je potřeba, aby řetězec končil sekvencí -iso8859-2 (české kódování). Jméno písma potom napište jako hodnotu parametru -fn, dávejte si ovšem pozor, aby náhodou v názvu písma nebyly mezery, protože pak by jej bylo třeba obalit uvozovkami. Já na svém "tučňákovi" používám font Terminus, takže XTerm spouštím příkazem xterm -fn -*-terminus-medium-*-*-*-14-*-*-*-*-*-iso8859-2, z něhož je zřejmé, že se použije font Terminus, řezu medium a velikosti 14 s kódováním iso8859-2. K nastavení písma se v .Xresources používá parametr font.

Soubor .Xresources pochopitelně slouží k nastavení mnoha jiných aplikací, hlavně těch starších, nejenom terminálů. Prostředky Xresources jsou ovlivňovány programy psané např. v rozhraní OpenMotif.

Nyní se podíváme na nastavení kurzoru, tedy spíše "toho blikajícího čtverečku". K nastavení kurzoru se používá více voleb. Jednou z nich je například -bc, tím si můžeme zapnout blikání kurzoru. Pokud ho máme zapnuté, tak si ještě pomocí příkazu -bcf nastavíme, na jak dlouho kurzor neuvidíme, nebo naopak pomoci -bcn, jak dlouho jej uvidíme. Pro úplnost ještě uvádím, že časy jsou v milisekundách. Já používám -bcf 100 a -bcn 200. Dalším parametrem je -cr, ten jako hodnotu očekává barvu, jakou by kurzor měl mít (taky anglicky). Co se týče .Xresources, tak ekvivalentem parametru -bc je cursorBlink s hodnotou true, pro -bcf to je cursorOffTime a pro -bcn je to cursorOnTime.

Další volba se týká těch z vás, kteří (stejně jako já) používají například konzolový poštovní program mutt nebo jenom potřebují zjistit výsledek nějakého příkazu a nechtějí sami ručně spouštět XTerm. Ke spouštění programů/příkazů se používá argument -e. Například tedy spouštím příkaz xterm -e mutt. S tímto souvisí volba -hold, která způsobuje, že po vykonání příkazu se XTerm ihned nezavře, ale bude čekat na stisknutí klávesy. Takže například příkaz xterm -hold -e ps aux spustí XTerm a v něm provede příkaz ps aux, ten sám o sobě by proběhl velmi rychle a okno s XTermem by se zavřelo, ale díky parametru -hold se to nestane. Nutno ještě podotknou, že je dobré parametr -e uvádět až jako poslední, protože spouštíte-li nějakou aplikaci/příkaz a předáváte jí nějaké další parametry, tak s tím XTerm počítá, a ve chvíli, kdy narazí na -e, posílá vše další jako parametr aplikaci. V .Xresources se místo parametru -hold používá hold s hodnotou true.

Ještě chvíli zůstaneme u příkazu ps aux, jehož výstup je obvykle velmi dlouhý a ve většině situací nám přesáhne hranice jedné obrazovky a my tedy musíme nějak zajistit, že to, co se nevejde na obrazovku, se někam uloží a budeme se na to moci ještě podívat zpětně. K tomuto poslouží parametr -sl, tento jako hodnotu očekává počet řádků, které si má Xterm pamatovat. Standardně je tato hodnota nastavena na 64, ale není problém ji změnit. Určitě si říkáte: "K čemu mi ale je, že mám uloženo několik řádků zpět, ale nemůžu se k nim dostat?" Odpověď je jednoduchá, parametr -sb, který nám spustí scrollbar (táhlo známé například z webových prohlížečů). Musím ale připomenout, že scrollbar nemusí být nutně zapnut, pokud máte nastavené kolečko u myši, dá se "scrollovat" pomocí něho. K nastavení scrollbaru se v .Xresources používá volby scrollBar s hodnotou true pro jeho zapnutí.

Nezapomeňte, že při jakékoliv změně souboru .Xresources je potřeba provést jeho opětovné načtení do paměti pomocí příkazu xrdb ~/.Xresources.

Pokud se vám nelíbí pípání, které terminál běžně vydává při chybách, můžete si pomocí parametru -vb zapnout tzv. "visual bell", tj. nebude vám už PC pípat, ale bude vám blikat XTerm. Já osobně nejraději vypínám jak speaker, tak visual bell, protože jeden je nepříjemný pro uši, druhý po oči. Pro zapnutí visual bellu se v .Xresources používá parametr visualBell s hodnotou true.

Nyní přistoupíme k "grafickým vychytávkám". Nelíbí-li se vám ten klasický titulek okna (většinou je tam napsáno XTerm nebo nějaký podobný nápis), můžete si jej pomocí parametru -T změnit, ale dávejte si pozor na víceslovné titulky, které je třeba dát do uvozovek. Další vychytávkou je mezera mezi textem uvnitř terminálu a jeho okrajem (na obrázcích je použita hodnota 10), tu určuje parametr -b. Vadí vám věčné ruční roztahování okna XTermu pro vaši vlastní potřebu? Nastavte si ho sami! Provádí se to parametrem -geometry, ten jako hodnotu očekává šířku a výšku ve znacích oddělenou písmenem x. Pokud si tedy chcete spustit XTerm se standardní velikostí okna 80x25 řádků, použijete příkaz xterm -geometry 80x25. V .Xresources se titulek okna nastavuje pomocí parametru title, parametr -b se nahrazuje internalBorder a velikost okna se nastavuje pomocí parametru geometry.

Obrázek: .Xresources

Obrázek: .Xresources

Parametr -tb spustí velice užitečnou utilitku (ono je to vlastně menu), pomocí které si můžete interaktivně nastavit některé funkce a vlastnosti XTermu přímo za běhu. Tyto se ovšem nikam neukládají, takže je to spíše jenom tak na vyzkoušení, co jak bude vypadat a podobně.

ATerm

Budu se snažit popisovat parametry ATermu ve stejném pořadí jako u XTermu, abyste měli možnost srovnat si rozdíly, popřípadě podobnosti. V závorce parametry pro soubor .Xresources. Začneme tedy nastavováním pozadí a popředí (barvy textu). Pozadí se nastavuje pomocí -bg (background) a popředí pomocí -fg (foreground), takže to není až zase tak odlišné, že. Hodnoty se pro tyto parametry používají ty stejné jako u XTermu (názvy barev). K nastavení písma se používá, stejně jako u XTermu, parametr -fn (font).

Co se kurzoru týče, tak pro ATerm se jeho barva nastavuje pomocí parametru -cr (cursorColor), který jako hodnotu očekává barvu kurzoru. Blikání kurzoru ATerm bohužel nepodporuje.

Ke spuštění programu pod ATermem se používá stejný parametr jako u XTermu, tím je -e, jako hodnotu mu zadáte příkaz, který chcete vykonat a pokud ten příkaz má i nějaké parametry, tak ty uvedete za něj. Stejně jako u XTermu je důležité parametr -e uvádět až jako poslední z parametrů, protože ATerm všechny další parametry bere jako argumenty spouštěného příkazu, a ne sama sebe. Mnohé z vás asi zklamu, ale alternativa k xtermovému -hold v ATermu neexistuje.

Scrollbar už ovšem pod ATermem jde nastavit, a to myslím celkem dobře. Vypínat nebo zapínat jej můžete pomocí parametrů -sb a +sb (scrollBar). Pokud se vám scrollbar nelíbí v levém rohu obrazovky, můžete jej pomocí parametru -sr (scrollBar_right) přehodit na pravou stranu. Pokud byste se rádi vraceli v ATermu zpět o více řádků než standardně, můžete si počet řádků zpět nastavit pomocí parametru -sl (saveLines) a jako hodnotu mu zadat počet řádků, které si má pamatovat. VisuallBell se pod ATermem spouští úplně stejným způsobem jako u XTermu (stejné jsou i .Xresources parametry).

Titulek okna se mění parametrem -title (title) a hodnotou je titulek. Vnitřní mezera mezi textem a okrajem terminálu se nastavuje pomocí parametru -ib (internalBorder). Velikost okna si nastavíte parametrem -geometry (geometry).

Nyní již pomalu přistupujeme k parametrům, které ATerm od XTermu odlišují. Jsou to sice hlavně "grafické vychytávky", ale hodí se. První vlastnost, na kterou bych rád upozornil, je takzvaná pseudotransparentnost (jinak také nazývaná polotransparentnost). Pojem transparentnost znamená česky průhlednost. Pro ATerm se ale používá pojem polo- nebo pseudo-, protože je průhlednost zajištěna tak, že ATerm si zjistí velikost obrazovky, pozadí plochy a z velikosti a pozice terminálu si vypočítá, jaká část pozadí se nachází pod terminálem a tu umístí na pozadí místo klasické černé (pokud jste si barvu pozadí v terminálu nenastavili jinak).

Jak jste si jistě dokázali domyslet, pokud dáte dvě okna nad sebe a to vrchní z nich bude polo-transparentní ATerm, tak v něm uvidíte pouze pozadí a ne vámi očekávané okno. Pokud tedy máte o polo-transparentní terminál zájem, neváhejte a spusťte ATerm s parametrem -tr (transparent). Sice možná vidíte skrz terminál na pozadí, ale na 90 % nevidíte žádný text. Já osobně to řeším parametrem -sh (shading), hodnotu je číslo, které v procentech značí míru světlosti pozadí (číslo je tedy od 0 do 100), čili pokud použijete -sh 20 (toto používám já), tak budete mít pozadí o 80 % tmavší.

Některé z voleb, které zde popisuji, nemusejí být nutně přítomny právě ve vaší verzi XTermu nebo ATermu, takže doporučuji upgradovat, nebo provést vlastní kompilaci. Není složitá, trvá krátce a terminál si tak můžete velmi dobře přizpůsobit. Běžné verze ale už mohou být zkompilovány s ohledem na nejlepší výkon a mohou mít maximum vlastností, které jim autoři dali do vínku. Zkrátka - je potřeba to vyzkoušet.

Pokud se vám polotransparentnost nelíbí, můžete si na pozadí terminálu nastavit obrázek. Dělá se to parametrem -pixmap (backgroundPixmap), hodnotou je cesta k obrázku. I obrázek na pozadí se dá ztmavovat pomocí parametru -sh. Pokud chcete, aby se obrázek na pozadí škáloval, je dobré použít parametr -bgtype (backgroundType) s hodnotou scale.

Velmi zajímavou "vychytávkou" je parametr -bl (borderLess), který řekne okennímu správci, že by neměl ATermu přidávat žádné dekorace a také nastaví nulové okraje, to způsobí, že ATerm bude možno poté použít například jako výpis logu přímo na plochu nebo něco podobného. Nevýhodou je, že když okno nemá dekorace, nedá se s ním hýbat ani měnit jeho velikost.

Obrázek: ATerm: Midnight Commander

Obrázek: XTerm: Midnight Commander

Na bázi Xtermu vzniklo mnoho různých emulátorů terminálů, nejen ATerm. Stačí nahlédnout do sekce http://unix.freshmeat.net/browse/158/ a vybrat si ten svůj. Potřebujete UTF terminál nebo panely, jako jsou ve Firefoxu? Není problém. Problém ale je, že neexistuje jeden dokonalý projekt, každý má své mouchy. Pozn. red.

.

Nahoru

Odkazy

Příspěvky

Souboj terminálů
Tomas 11. 02. 2008, 14:18:51
Odpovědět  Odkaz 
Dobry den, chtel bych vedet, jestli existuje nejaka moznost, jak nastavit pruhledne (pseudopruhledne) pozadi u Xtermu. Zvykl jsem si na nej a nerad bych ho menil...
Vlastimil Ott Re:Souboj terminálů
Vlastimil Ott 11. 02. 2008, 16:39:58
Odpovědět  Odkaz 
Trochu jsem hledal a našel jsem, že to spíše nejde, všude doporučovali jiný *term. Možná nějaký patch...
Milan Kozák Re:Re:Souboj terminálů
Milan Kozák 13. 02. 2008, 15:40:34
Odpovědět  Odkaz 
XTerm opravdu průhlednost neumí.
Doporučuje se ho nahradit ATerm-em nebo ETerm-em.
U ATermu pak stačí do ~/.Xdefaults přidat řádku:

aterm*transparent: true

nebo ho spouštět s patřičnými parametry:

aterm -tr -tint barva_pozadi -fg white barva_popredi
Souboj terminálů
Tomas 25. 02. 2008, 09:33:05
Odpovědět  Odkaz 
Dobry den,
zkusil jsem tedy aterm a po chvilce zkouseni ted vypada podle mych predstav. Bohuzel jsem narazil na mensi zadrhel a to na diakritiku v ceskem textu. S defaultnim fontem, ktery aterm vyuziva se mi nezobrazuje diakritika, dobre rekl jsem si, zmenim font na takovy, co jsem pouzival v xtermu (v nem diakritika fungovala spravne), tedy na "-misc-fixed-medium-r-semicondensed--13-120-75-75-c-60-iso10646-1". Bohuzel ani toto nepomohlo. Vim, ze zrejme muzu najit jiny font, ktery se bude zobrazovat korektne, jen nechapu tu vec, ze stejne pismo zobrazuje diakritiku spravne v xtermu a spatne v atermu. Nejsem uplny novacek, takze jsem vse vyzkousel nekolikrat, bohuzel nevim, kde je zakopany pes.

Dekuji za odpoved.
Vlastimil Ott Re:Souboj terminálů
Vlastimil Ott 25. 02. 2008, 10:18:34
Odpovědět  Odkaz 
Moje zkušenost je taková, že se způsob, jakým různé programy pracují s fonty, liší. Takže i když jsou si blízké, může tam být třeba chyba. Postupoval jsem kdysi tak (taky jsem to řešil), že jsem ubral všechny konkrétní hodnoty kromě velikosti a kódování - tj. dpi (to jsou ty 75), geometrii apod. Někde tam "se to chytlo". Nebo prostě použijte sousední velikost... Může se stát, že to prostě nepůjde, ale možností, jak to řešit, ještě pár je (mimojiné doporučuju Terminus).

Odpovědět

Nejsou podporovány žádné značky, komentáře jsou jen čistě textové. Více o diskuzích a pravidlech najdete v nápovědě.
Diskuzi můžete sledovat pomocí RSS kanálu rss



 
 

Top články z OpenOffice.cz