abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 14:33 | Nová verze

    Laboratoře CZ.NIC vydaly Datovku 4.28.0 a Mobilní Datovku 2.6.0. Hlavní novinkou je ukládání rozpracovaných datových zpráv do konceptů. Datovka je svobodné multiplatformní aplikace pro přístup k datovým schránkám a k trvalému uchovávání datových zpráv v lokální databázi.

    Ladislav Hagara | Komentářů: 0
    dnes 14:22 | Zajímavý projekt

    Unix Pipe Game je vzdělávací karetní hra zaměřená na děti a rodiče, která děti učí používat unixové příkazy prostřednictvím interaktivních úkolů. Klíčovým prvkem hry je využití symbolu | pro pipeline neboli 'rouru', který umožňuje propojit výstupy a vstupy jednotlivých unixových příkazů, v tomto případě vytištěných na kartičkách. Předpokládá se, že rodič má alespoň nějaké povědomí o unixových příkazech a jejich provazování pomocí |.

    … více »
    NUKE GAZA! 🎆 | Komentářů: 0
    dnes 13:55 | Zajímavý software

    PCIem je linuxový framework, který vytváří virtuální zařízení PCIe pomocí technik, které umožňují hostitelskému operačnímu systému rozpoznat tyto syntetické 'neexistující' karty jako fyzické zařízení přítomné na sběrnici. Framework PCIem je primárně zamýšlen jako pomůcka pro vývoj a testování ovladačů bez nutnosti použít skutečný hardware. Dle tvrzení projektu si fungování PCIem můžeme představit jako MITM (Man-in-the-Middle), který se nachází mezi ovladači a kernelem.

    NUKE GAZA! 🎆 | Komentářů: 0
    dnes 05:33 | Bezpečnostní upozornění

    Byla nalezena vážná bezpečnostní chyba v telnetd z balíčku GNU InetUtils. Týká se verzí GNU InetUtils od 1.9.3 z 12. května 2015 až po aktuální 2.7 z 14. prosince 2025. Útočník může obejít autentizaci a získat root přístup, jelikož telnetd nekontroluje předaný obsah proměnné prostředí USER a pokud obsahuje "-f root"…

    Ladislav Hagara | Komentářů: 4
    včera 17:22 | Komunita

    Stanislav Aleksandrov předložil patch rozšiřující KWin (KDE Plasma) na 3D virtuální desktopové prostředí (videoukázka v mp4).

    Ladislav Hagara | Komentářů: 4
    včera 05:55 | IT novinky

    Digg (Wikipedie), "místo, kde můžete sdílet a objevovat to nejlepší z internetu – a nejen to", je zpět. Ve veřejné betě.

    Ladislav Hagara | Komentářů: 3
    včera 01:44 | Komunita

    Po .deb balíčcích Mozilla nově poskytuje také .rpm balíčky Firefoxu Nightly.

    Ladislav Hagara | Komentářů: 8
    včera 00:33 | IT novinky

    Vývojové prostředí IntelliJ IDEA slaví 25. narozeniny (YouTube).

    Ladislav Hagara | Komentářů: 0
    19.1. 23:55 | IT novinky

    Vedení společnosti NVIDIA údajně povolilo použití milionů knih ze známého 'warez' archivu Anna's Archive k výcviku umělé inteligence, ačkoliv vědělo, že archiv tyto knihy nezískal legální cestou. Žaloba, ve které se objevují i citace interních dokumentů společnosti NVIDIA, tvrdí, že NVIDIA přímo kontaktovala Anna's Archive a požadovala vysokorychlostní přístup k datům knihovny.

    NUKE GAZA! 🎆 | Komentářů: 18
    19.1. 14:33 | Zajímavý software

    Grafický správce balíčků Myrlyn pro SUSE a openSUSE, původně YQPkg, dospěl do stabilní verze 1.0.0. Postaven je nad libzypp a Qt 6. Projekt začal na SUSE Hack Weeku 24.

    Ladislav Hagara | Komentářů: 8
    Které desktopové prostředí na Linuxu používáte?
     (18%)
     (5%)
     (0%)
     (10%)
     (20%)
     (3%)
     (5%)
     (2%)
     (11%)
     (37%)
    Celkem 552 hlasů
     Komentářů: 16, poslední včera 17:04
    Rozcestník

    ANSI řídící sekvence

    23.7.2008 08:26 | Přečteno: 1928× | Linux

    Pokud chcete do konzole vypisovat barevný text máte v podstatě dvě možnosti. Můžete na to jít od lesa a použít nějakou knihovnu (například ncurses nebo slang). Nebo použít ANSI Escape sekvence, které jsou s námi již více než 30 let.

    Escape sekvence jsou kombinace znaků uvozené znakem escape (ASCII 27 [nebo také 033 a 0x1b]). Terminál by neměl tyto sekvence vypisovat, ale interpretovat. Pomocí escape sekvencí můžeme měnit základní parametry terminálu - barva popředí, barva pozadí nebo pozice kurzoru. Můžeme také vykonávat základní operace jako smazání obrazovky, řádku, nebo dokonce zjišťovat parametry terminálu.

    Tento blogpost vychází z článku který vyšel na mém webu, kde najdete také jednoduchou knihovnu v Céčku. Kdyby mi něco na webu nefungovalo dejte mi vědět, nedávno jsem přešel na Drupal (o RSS vím).

    Barvičky a atributy textu

    Barvy a atributy textu se nastavují pomocí escape sekvence ESC[x;x;xm kde se na místech x uvádí jednotlivé atributy.

    Barvy jsou číslovány následovně: Černá (0), Červená (1), Zelená (2), Žlutá (3), Modrá (4), Fialová (5), Azurová (6) a Bílá (7). Číslo 9 reprezentuje defaultní barvu. Pokud se barva používá, přičítá se k ní 30 pro barvu popředí, nebo 40 pro barvu pozadí.

    Narozdíl od barev není podpora atributů textu moc dobrá. Terminály obvykle znají všechny atributy, nicméně vizuální podoba se výrazně liší terminál od terminálu.

    Základní podporované atributy textu jsou: Světlý (1), Tmavý (2), Podtržený (4), Blikající (5), Inverzní (7) a Skrytý (8). Nula reprezentuje reset atributů.

    Pokud by jste chtěli například nastavit prompt terminálu tak, aby zobrazoval váš login podtrženým fialovým písmem na azurovém pozadí za kterým by následovala blikající pravá hranatá závorka v červené barvě na bílem pozadí, udělali by jste to nějak tahle:

    export PS1="\033[4;35;46m`whoami`\033[0m\033[5;31;47m]\033[0m"

    Reset atributů uprostřed příkazu je potřebný kvůli podtržení. Bez něj by byla hranatá závorka nejenom blikající, ale i podtržená.

    Ostatní funkce

    Pomocí sekvence ESC[2J můžeme vymazat celou obrazovku a pomocí ESC[x;yf můžeme přesunout kurzor na řádek x a sloupec y. Obrazovku je možné také mazat relativně od kurzoru nebo pouze na řádku kde je kurzor. S kurzorem je zase možné hýbat relativně vůči aktuální pozici (pro detaily mrkněte do článku nebo na wikipedii).

           

    Hodnocení: 86 %

            špatnédobré        

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    Komentáře

    Vložit další komentář

    23.7.2008 09:55 zde | skóre: 9 | blog: Linuch | Brno
    Rozbalit Rozbalit vše Re: ANSI řídící sekvence
    Zmínil bych man console_codes, je to poměrně přehledné i kompletní. Curses je hnusný kód s neuvěřitelně ošklivým API.
    Táto, ty de byl? V práci, já debil.
    23.7.2008 13:02 R
    Rozbalit Rozbalit vše Re: ANSI řídící sekvence
    Riadiace kody ma kazdy terminal ine. Curses funguje na vsetkych terminaloch. Nie je to az take hrozne, jednoduche UI som v tom robil.
    23.7.2008 13:49 Let_Me_Be | skóre: 20 | blog: cat /proc/idea/current | Brno
    Rozbalit Rozbalit vše Re: ANSI řídící sekvence
    To neni tak uplne pravda. ANSI kody by meli fungovat vsude (i kdyz bohuzel nektere funguji ruzne na ruznych terminalech).
    Linked in profil - Můj web - Nemůžete vyhrát hádku s blbcem. Nejdřív vás stáhne na svoji úroveň a pak ubije zkušenostmi.
    23.7.2008 14:59 MJ | Tady a teď
    Rozbalit Rozbalit vše Re: ANSI řídící sekvence
    To žel není pravda. Podívejte se do databáze od terminfa a uvidíte, kolik existuje obskurních terminálů.
    23.7.2008 15:30 Let_Me_Be | skóre: 20 | blog: cat /proc/idea/current | Brno
    Rozbalit Rozbalit vše Re: ANSI řídící sekvence
    Jo, napsal jsem to trochu spatne. Myslel jsem to tak ze kazdy terminal ma obvykle svoje vlastni ridici sekvence, nicmene ANSI funguje vicemene globalne, ale ano podivnych terminalu je spousta.
    Linked in profil - Můj web - Nemůžete vyhrát hádku s blbcem. Nejdřív vás stáhne na svoji úroveň a pak ubije zkušenostmi.
    23.7.2008 14:32 CEST
    Rozbalit Rozbalit vše Re: ANSI řídící sekvence
    Navic IMHO je na ANSI ESCAPE sekvence hezky prave to, ze se to da pouzivat jako obycejny echo/print z cehokoliv i z bashe a perlu. Pokud se nepletu, tak ncurses je knihovna pro C. Samozrejme, urcite existujou moduly do perlu a ruzny dalsi rozsireni do shellu, ale to hezky je prave pouziti ANSI ESCAPE sekvenci je prave ta jednoduchost. Blby pak ovsem je, kdyz si takovej skript clovek spusti v terminalu, kterej ty sekvence neumi:-(
    23.7.2008 15:00 MJ | Tady a teď
    Rozbalit Rozbalit vše Re: ANSI řídící sekvence
    V shellu můžete používat příkaz `tput', který si umí najít řídící sekvence v terminfu.

    Pro Perl existují docela příjemné bindingy na curses (modul Curses). Nic úžasného, ale určitě příjemnější než sekvence bastlit ručně.
    24.7.2008 08:41 Tom.š Ze.le.in | skóre: 21 | blog: tz
    Rozbalit Rozbalit vše Re: ANSI řídící sekvence
    Kromě tput-u lze také přímo použít pro nastavování setterm.

    Založit nové vláknoNahoru

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.