U příležitosti 30. výročí vydání počítačové hry Quake byla vydána nová epizoda s názvem Dawn of the Machine (Steam).
Vládní CERT upozorňuje (𝕏) na sérii bezpečnostních záplat (CVSS 9.9) v produktech Cisco řešících kritické zranitelnosti umožňující obejití autentizace, eskalaci oprávnění, vzdálené spuštění kódu a odepření služby. Úspěšné zneužití může útočníkům umožnit získat neoprávněný přístup k dotčeným systémům, kompromitovat zařízení Cisco Catalyst SD-WAN a Cisco IOS XE, spustit libovolný kód, zpřístupnit citlivé informace nebo narušit dostupnost postižených systémů.
Soud v americkém státě Nové Mexiko ve čtvrtek nařídil internetové společnosti Meta Platforms zaplatit 567 milionů dolarů (téměř 12 miliard Kč) za újmy, které její platformy působí mladým lidem. S přihlédnutím k dřívějšímu verdiktu tak má společnost celkem zaplatit 942 milionů dolarů, což je malý zlomek jejího ročního výnosu, který loni činil 60 miliard dolarů. Čtvrteční verdikt firmě také nařizuje, aby změnila způsob, jakým její
… více »Mark Russinovich (CTO v Microsoft Azure) se na LinkedIn pochlubil svým projektem MS Paint Doom napsaným pomocí Claude. Hru Doom umožňuje hrát v programu Malování (Microsoft Paint). Malování funguje jako monitor. Herní engine (ViZDoom) běží na pozadí a každý vykreslený snímek hry vkládá automaticky přes schránku (clipboard) do Malování.
Platformy ChatGPT i Roblox by mohly být zařazeny na seznam mimořádně velkých on-line platforem nebo internetových vyhledávačů, na něž se vztahují zvláštní podmínky podle nařízení o digitálních službách (DSA). Vzhledem k tomu, že ChatGPT i Roblox oznámily počet uživatelů nad prahovou hodnotou DSA, je toto označení „rozhodně možné“ a mohlo by „přijít dříve či později“. On-line platformy a vyhledávače zařazené na seznamy DSA musejí
… více »Společnost Cloudflare představila Cloudflare OS (GitHub), tj. open source platformu navrženou pro integraci umělé inteligence (agentů) přímo do pracovních procesů organizací.
Byla vydána nová verze 5.13 svobodného multiplatformního softwaru pro konverzi a zpracování digitálních fotografií primárně ve formátů RAW RawTherapee (Wikipedie). Vedle zdrojových kódů je k dispozici také balíček ve formátu AppImage. Stačí jej stáhnout, nastavit právo ke spuštění a spustit.
Jean-Baptiste Kempf na svém blogu představil novou verzi 9.0 "Lei" kolekce svobodného softwaru umožňujícího nahrávání, konverzi a streamovaní digitálního zvuku a obrazu FFmpeg (Wikipedie).
Richard Hughes oznámil, že službu Linux Vendor Firmware Service (LVFS) umožňující aktualizovat firmware zařízení na počítačích s Linuxem, nově sponzoruje také společnost NVIDIA.
Edvard Rejthar na blogu zaměstnanců CZ.NIC představil svou aplikaci SlideRshow (GitHub). Funguje jako prohlížeč fotek, ale i jako jejich organizér a prezentátor. Neinstaluje se, běží přímo v prohlížeči. Bez serveru. Offline.
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:
CSI a [;b] m
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ď \033 (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).
\033[31mAhoj barevný světe!\033[0m
^^ ^- vypne formátování
`- zahájí výpis v červené barvě
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: \033[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:
| číslo | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
| barva | černá | červená | zelená | žlutá | modrá | purpurová | tyrkysová | bílá |
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:
\033[31;42m – červený text (31) na zeleném pozadí (42)\033[42;31m – totéž\x1b[32;1m – tučný (1) zelený text (32)\x1b[34;4m – podtržený (4) modrý text (34)\e[101;34m – světle červené pozadí (101), modrý text (34)\e[44;1m – modré pozadí (44), tučný text (1)Poznámka: Nikdy nezapomínejte ukončovat formátování pomocí \033[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.
echo -e "\033[31mAhoj barevný světe!\033[0m"
for((i = 0; i <= 7; i++))
do
echo -e "(3$i) \033[3${i}mBarevný text\033[0m a (4${i}) \033[4${i}mbarevné pozadí…\033[0m"
done
V Pythonu můžete použít funkci print().
print("\033[32mZelený text\033[0m")
YELLOW = '\033[93m'
END = '\033[0m'
print(YELLOW + "Žlutý text!" + END)
V Perlu lze také použít funkci print().
my @colors = ("cerna", "cervena", "zelena", "zluta",
"modra", "purpurova", "tyrkysova", "bila");
do {
my $number = 37 – $#colors;
my $color = shift @colors;
print "\033[${number}m${color}, \033[1mtucna ${color}\033[0m\n";
} while (@colors);
PuTTY na Symbianu je ukázkou toho, že ne všude všechny atributy fungují. (Tučný text se zobrazí jako normální.)

Lze použít funkce printf() z C nebo std::cout z C++.
/* C nebo C++ */
#include <stdio.h>
void vypis_tucne(const char* text)
{
printf("\x1b[1m%s\x1b[0m\n", text);
}
/* C++ */
#include <iostream>
void vypis_tucne_cpp(std::string text)
{
std::cout << "\e[1m" << text << "\e[0m\n";
}
Nástroje: Tisk bez diskuse
Tiskni
Sdílej:
8 - rudá, která je na černé lépe vidět. Škoda že není i v xterm.
"\033[1;31m" je IMHO videt vsude dobre.
http://www.abclinuxu.cz/blog/idea/2008/7/ansi-ridici-sekvence
echo $TERM a zamyslet se, co to asi znamená
Jistě zajímavá perlička, ale prosím prosím, opravdu to takhle nikdy v programech nedělejte.Uzasny nazor. Protoze to nekde nefunguje, tak to nebudu vubec pouzivat
less se dá donutit, aby barvičky zachoval: less -R
\E[0;1;4;5;7;8m^N by používal jen blázen, když tu jsou nové a lepší terminfo \E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;%?%p7%t;8%;m%?%p9%t\016%e\017%;,. Jen žertuji :)
Nevím ale když je v shellu něco jako "Ahoj ${cred}lidi${cnorm}" tak mi to až tak "plné divokých nečitelných sekvencí" nepřipadá.
termcap_set_attr(TERMCAP_RED | TERMCAP_BOLD); /*...*/ termcap_set_attr(TERMCAP_PLAIN);. Existuje to?
echo -e '\033[32;40m'
ale tučným písmem...
echo -e '\033[32;40m\033[1mXXX\033[0m'
man tput man terminfonapriklad:
echo "$(tput setaf 1) Red Text $(tput sgr0)"Jinak barev muze byt daleko vice, napriklad xterm nema problem s 256 barvama,
export TERM=xterm-256colornebo
xterm -tn xterm-256color
Vůbec se nerozčiluji a autor doufám taky ne. Prostě se mu snažím předat svoji zkušenost.Tak to má bejt; diskuse má být o tom, co jsem zapomněl, atp. Pak je užitečná.
$ cat bin/prompt #!/bin/bash ########## # prompt # ########## # prompt is a template-like program designed to simplify the process of colourizing one's prompt. # By analyzing the variables, it is easy to identify what ANSI colour sequences match up with which colour. # Thus, modifying one's bash prompt is a simple matter of going through the variables and inserting the colour of choice. # # When the script is modified to your liking, you should place it a useful place (like ~/bin/). # Then replace PS1="..." in your bootup file (~/.bashrc or ~/.bash_profile) with PS1=`~/bin/prompt` (those are backticks!) # # Only known to work as expected with bash # # No licensing or copyright is placed on this script. Do with it as you wish. ################################################ # THERE SHOULD BE NO NEED TO EDIT THIS SECTION # ################################################ #$normal will reset the colour to the default, use it to stop using a certain colour (see "prompt parts") normal="\[\e[0m\]" # # # # # # # #BACKGROUNDS # # # # # # # blackbg=";40m\]" redbg=";41m\]" greenbg=";42m\]" brownbg=";43m\]" bluebg=";44m\]" purplebg=";45m\]" cyanbg=";46m\]" greybg=";47m\]" ############################################################################################ # THERE SHOULD BE NO NEED TO EDIT THIS SECTION (UNLESS YOU DO NOT WANT A BLACK BACKGROUND) # ############################################################################################ # # # # # # # #FOREGROUNDS # # # # # # # black="\[\e[0;30$blackbg" redfaint="\[\e[0;31$blackbg" greenfaint="\[\e[0;32$blackbg" brownfaint="\[\e[0;33$blackbg" bluefaint="\[\e[0;34$blackbg" purplefaint="\[\e[0;35$blackbg" cyanfaint="\[\e[0;36$blackbg" greyfaint="\[\e[0;37$blackbg" grey="\[\e[1;30$blackbg" red="\[\e[1;31$blackbg" green="\[\e[1;32$blackbg" yellow="\[\e[1;33$blackbg" blue="\[\e[1;34$blackbg" pink="\[\e[1;35$blackbg" cyan="\[\e[1;36$blackbg" white="\[\e[1;37$blackbg" ################################## # EDIT THIS STUFF TO YOUR LIKING # ################################## # # # # # # # #PROMPT PARTS # # # # # # # prompt_opening_brace="$yellow[$normal" prompt_closing_brace="$yellow]$normal" prompt_date="\d" prompt_hostname_short="$blue\h$normal" prompt_hostname_long="\H" prompt_jobs="\j" prompt_terminal="\l" prompt_shellname="\s" prompt_time_24="\t" prompt_time_12="\T" prompt_time_12_am_pm="\@" prompt_username="$green\u$normal" prompt_version="\v" prompt_version_patchlevel="\V" prompt_pwd_long="\w" prompt_pwd_short="$red\W$normal" prompt_history_number="\!" prompt_session_number="\#" prompt_usertype_sign="\\$" prompt_git_branch="$white\$(__git_ps1)$normal" # # # # # # # # #FINAL PROMPT # # # # # # # # echo -n "$prompt_opening_brace$prompt_time_24 $prompt_username@$prompt_hostname_short $prompt_pwd_short$prompt_git_branch$prompt_closing_brace$prompt_usertype_sign "
transparentbg="m\]"
to je tak, když něco měním po napsání
ESC[ [i];a[;b]m , kde A (30-37) a B (40-47) su farby popredia a pozadia tak ako popisuje clanok. Intenzita farby I (0-8) sa zapisuje ako prvy nepovinny parameter. Clanok ale uvadza, ze hodnoty 0-8 by mohli byt zapisane do parametra A. Resp. ak sa do A zapise intenzita a potom do B farba popredia, clanok nespomina moznost tretieho parametra kam sa zada farba pozadia. Ako to teda je?
\e[A;Bm\e[Cm tradáá \e[0m
# 3x to samý \e[1;33;43m \x1b[33;1;43m \033[43;1;33mEvidentně tam lze zadat libovolný množství parametrů.