Design

Barevný a formátovaný text v terminálu – AbcLinuxu.cz

TuxClocker je Qt GUI nástroj pro monitorování a nastavování (přetaktovávání) hardwaru na Linuxu. Aktuální verze je 1.2.1.Open Footwear, open

TuxClocker je Qt GUI nástroj pro monitorování a nastavování (přetaktovávání) hardwaru na Linuxu. Aktuální verze je 1.2.1.
Open Footwear, open source běžecké boty pod licencí Creative Commons (CC BY-SA 4.0).
David Leadbeater se na svých stránkách podrobně rozepsal o (ne)bezpečnosti emulátorů terminálů vzhledem k ANSI escape kódům. V různých emulátorech nalezl 10 kritických bezpečnostních chyb, jež mohou útočníci využít k vzdálenému spouštění příkazů (RCE), viz například videozáznam na YouTube, kde spuštění příkazu nslookup vede ke spuštění kalkulačky. Zkuste vytvořit soubor evil.sh příkazem printf “echo evil #bbbbbbgood  n” > evil.sh. Co udělá “cat evil.sh” a co “sh evil.sh”?
Ubuntu dnes slaví 19 let. První verze, 4.10 s kódovým názvem Warty Warthog, byla vydána 20. října 2004.
Byla vydána verze 0.5.14 open source herní platformy pro Linux Lutris (Wikipedie). Přehled novinek v oznámení na GitHubu. Vypíchnout lze podporu více účtů služby Steam nebo podporu EA App. Instalovat lze také z Flathubu.
Multiplatformní programátorský textový editor a IDE Geany (Wikipedie) včera oslavil osmnáct let od vydání první verze 0.1. Při této příležitosti byla vydána nová stabilní verze 2.0. Přehled novinek v poznámkách k vydání. Ve verzi 2.0 byl vydán také balík Geany-Plugins.
Společnost AMD představila (YouTube) novou sérii procesorů Ryzen Threadripper PRO 7000 WX. Nejvýkonnější AMD Ryzen Threadripper PRO 7995WX má 96 jader a 192 vláken.
Ve španělské A Coruňi dnes končí konference X.Org Developer’s Conference – XDC 2023 (program) vývojářů otevřené grafiky (Linux, Mesa, DRM, Wayland, X11, …). Videozáznamy jsou k dispozici na YouTube.
Asterisk (Wikipedie), svobodná softwarová implementace telefonní ústředny (PBX), byl vydán ve verzi 21.0.0. Přehled novinek v této nové major verzi v oznámení a na GitHubu.
Nová čísla časopisů od nakladatelství Raspberry Pi: MagPi 134 (pdf) a HackSpace 71 (pdf).
4. 3. 2010 | David Watzke | Návody | 16758×
Většina un*xových emulátorů terminálu podporuje řídící (escape) sekvence ANSI, které slouží (mimo jiné) k formátování výstupu na textových terminálech.
Nejdříve si povíme něco k teorii a pak si ukážeme ukázky kódu v různých programovacích jazycích. Tato záležitost není multiplatformní a na Windows je třeba postupovat trochu jinak než na Linuxu a jiných unixových systémech. Ne každý emulátor terminálu má implementovánu podporu všech standardizovaných vlastností a aby toho nebylo málo, některé vlastnosti dokonce v různých terminálech dělají různé věci. To vám doufám postačí jako pádný důvod k tomu, abyste v případě, že použijete formátování ve svém programu, nezapomněli i na možnost formátování úplně vypnout.
Snad jsem vás ještě neodradil. V praxi to není až tak hrozné. Většinou budete chtít zřejmě používat jen základní možnosti formátování textu a s těmi není žádný problém na hojně používaných emulátorech terminálu.
Takže jak na to? Escapovací sekvence se tomu neříká jen tak pro nic za nic, escape je totiž znak, který tyto řídící sekvence zahajuje. Tedy ještě spolu se znakem „[“, který jej musí následovat. Této sekvenci znaků se říká zkratkou CSI, a to znamená Control Sequence Introducer/Initiator – česky iniciátor řídící sekvence. Za touto sekvencí následuje samotný příkaz. My se v tomto článku budeme zabývat pouze příkazem ovlivňujícím zobrazení textu na terminálu. Jeho předpis vypadá takto:
Mezery jsou v předpisu pouze pro přehlednost a hranatá závorka značí volitelnost. A co to znamená? CSI je zmiňovaná zahajovací sekvence, tedy ESC+[. Písmena „a“ a „b“ jsou parametry, které nahradíme za čísla. Za jaká? To záleží na tom, co od příkazu očekáváte. Možnosti jsou vypsané v tabulce níže. Za parametry je třeba dát písmeno „m“ tak, jak je.
A teď když konečně prozradím, jak napsat znak escape, tak si to budeme moci předvést. Máte tři možnosti, jak napsat escape, buď 33 (umístění znaku escape v ASCII tabulce zapsáno v osmičkové soustavě je 33), x1b (umístění znaku v ASCII tabulce zapsáno v šestnáctkové soustavě je 1B) nebo e (styl jazyka C), což je nestandardní (a někde nepodporovaný), ale poměrně rozšířený zápis (dostupný nejen v C).
Jak je vidět, v tomto případě používáme pouze parametr „a“ (z předpisu výše). Když použijeme zároveň i parametr „b“, můžeme nastavit dvě atributy najednou stylem „a;b“, takže to pak celé vypadá takto: 33[a;bm, přičemž za „a“ a „b“ dosadíme číselné hodnoty. Následuje výběr ze seznamu možných hodnot parametrů:
U výše zmíněných rozsahů hodnot není jasné, která hodnota náleží které barvě. Proto následuje tabulka barev:
Přidám ještě několik ukázkových parametrů, abyste si mohli ověřit, že to celé chápete správně:
Ukázkové sekvence s oběma parametry:
Poznámka: Nikdy nezapomínejte ukončovat formátování pomocí 33[0m.
Nyní přejdeme k ukázkám z praxe.
V Bashi lze barevný text vypisovat pomocí příkazu echo s přepínačem -e.
barvy konsole barvy xterm
V Pythonu můžete použít funkci print().
V Perlu lze také použít funkci print().
PuTTY na Symbianu je ukázkou toho, že ne všude všechny atributy fungují. (Tučný text se zobrazí jako normální.)
barvy putty symbian
Lze použít funkce printf() z C nebo std::cout z C++.
Nástroje: Tisk bez diskuse
Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook
Vložit další komentář

Založit nové vláknoNahoru

source

About Author

4tune

Leave a Reply

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *