Správce souborů GNOME Commander (Wikipedie) byl přepsán do Rustu a vydán v nové verzi 2.0.0.
Sway (Wikipedie), dlaždicový (tiling) správce oken pro Wayland kompatibilní s i3, byl vydán ve verzi 1.12. Do vývoje se zapojilo 50 vývojářů. Přehled novinek na GitHubu. Sway 1.12 závisí na wlroots 0.20.0.
Papež Lev XIV. ve své první encyklice Magnifica Humanitas (Skvělé lidství), která se věnuje umělé inteligenci (AI), varoval před dezinformacemi, které AI manipulací s obsahem vytváří. Moc mají podle něj sociální sítě ovládané hrstkou soukromníků. Upozornil také roli digitálních platforem v obchodování s lidmi, které podle něj musí být uznáno jako současná forma otroctví. Papež se také poprvé omluvil za roli, kterou Vatikán sehrál při legitimizaci otroctví, a za to, že jej po staletí neodsoudil.
Český telekomunikační úřad zveřejnil Výroční zprávu za rok 2025 (pdf), která shrnuje jeho hlavní aktivity v oblasti regulace elektronických komunikací, poštovních služeb, digitálních služeb a přípravy na dohled nad umělou inteligencí. Součástí zprávy jsou také data o vývoji trhu, včetně pokračujícího růstu spotřeby mobilních dat a rozšiřování sítí nové generace. Celkový objem přenesených mobilních dat dosáhl v roce 2025 přibližně
… více »Tým sdružení CZ.NIC vyvíjející routovacího daemona BIRD oznámil vydání nových verzí 3.3.0 a 2.19.0. Ty přinášejí podporu pro EVPN/VXLAN a automatizaci BGP na základě router advertisementů. Více informací je k dispozici v archivu uživatelského mailing-listu.
Open source software pro úpravu digitálních fotografií LightZone (Wikipedie) byl vydán v nové verzi 5.0.0. LightZone je dnes k dispozici pod licencí BSD. Původně se jednalo o proprietární software vyvíjený společností Light Crafts. Ta v prosinci 2012 souhlasila s uvolněním zdrojových kódů jako open source [Wayback Machine].
Byla vydána verze 0.84 telnet a ssh klienta PuTTY (Wikipedie). Podrobnosti v přehledu nových vlastností a oprav chyb a Change Logu.
Microsoft představil Azure Linux 4.0 a Azure Container Linux. Na konferenci Open Source Summit North America 2026 organizované konsorciem Linux Foundation a sponzorované také Microsoftem. Azure Linux 4.0 vychází z Fedora Linuxu. Azure Container Linux je založen na projektu Flatcar. Azure Linux (GitHub, Wikipedie) byl původně znám jako CBL-Mariner.
Nové číslo časopisu Raspberry Pi zdarma ke čtení: Raspberry Pi Official Magazine 165 (pdf).
Byla vydána verze 9.2 open source virtualizační platformy Proxmox VE (Proxmox Virtual Environment, Wikipedie) založené na Debianu. Přehled novinek v poznámkách k vydání a informačním videu.
while (1) {if(read() != CHYBA) break;}
read vyhodíš. Přestane to zlobit.
$ aplikace data1 data2
while true; do
read -rd $'\0' -s -p ... -n 1
case $REPLY in
$'\e') echo "Escape"; exit;;
$'\n') echo "Konec radky"; exit;;
*) echo -n "$REPLY";;
esac
done
String si postupně poskládáš z jednotlivých znaků (v default sekci casu), při enter nebo escape se rozhodneš dle potřeby.
Ctrl-C místo Esc jsi už zkusil?
Tady je řešení, které neukončí celý skript. Stačí jenom správně použít trap.
read -n1 s1 && [ $s1 != $'\e' ] && read s2 && s="$s1$s2" && { echo "Zadáno: $s"; }
To klidně jde, jenom je potřeba netrvat na ESC. Co takhle Ctrl+C? Tady je příklad, kde Ctrl+C funguje:
#!/bin/bash
do_something() {
read -p 'Enter task name: ' input
[[ "$input" = 'exit' ]] && return 1
echo "Task running: ${input}"
sleep 3
echo "Task done: ${input}"
}
while ((0 == $?)); do (
set -e
do_something 0<&0 &
PID=$!
trap "kill $PID" INT
status=0
wait $PID || status=$?
trap - INT
case $status in
1) echo 'Task encountered "exit" or end of input.'; exit 1 ;;
130) echo 'Task interrupted by Ctrl+C.' ;;
*) echo "Task finished with status ${status}." ;;
esac
) done
Tohle se zeptá na název nějakého úkolu, pak to předstírá, že něco dělá (3 sekundy spí — přesně tam se dá napsat, co to ve skutečnosti má dělat) a během celé rádoby-činnosti se to dá kdykoliv přerušit pomocí Ctrl+C, což se vrátí zase zpátky k promptu s názvem úkolu. Těch readů tam samozřejmě může být za sebou několik a kdykoliv se to pak bude dát přerušit s návratem na první prompt. Celé se to dá ukončit buď zadáním exit nebo ukončením vstupu pomocí Ctrl+D.
Technická: Subshell v cyklu je především proto, aby se nevypisovaly na terminál obsáhlé hlášky o stavu ukončenéno procesu — stav zpracovává a hlásí ten case, takže ho není potřeba vidět od shellu ještě jednou. Jinak by se dalo obejít bez něj.
INT (zvaný taky SIGINT) je ten signál, který skript dostane při stisku Ctrl+C.
Mimochodem, tohle řešení má několik zjevných race condition v tom smyslu, že ve vzácných případech může být nutné stisknout Ctrl+C dvakrát a v podobně vzácných případech se shell pokusí zabít proces, který už neběží (či jiný nešťastný proces, který mezitím dostal stejný PID). Oba problémy se dají odstranit pomocí zamykání (což obvykle obnáší vytvořit si dočasný adresář (mktemp -d) a v něm vytvářet zamykací podadresář — mkdir může posloužit v shellu k implementaci poor man's mutexu). To ale tenhle triviální příklad nedělá.
while true; do read -rd $'\0' -s -n 1 case $REPLY in $'\e') break;; $'\n') break;; esac done
$'\e') echo ESCAPE; break;;zjistil bys, že ty šipky ti ukončují na escape. O těchto znacích jsi nic neříkal a nyní se divíš, že to s nimi nefunguje. Samozřejmě, protože terminál za tyto znaky dostává tzv. escape sekvence, která, jak už vyplývá z názvu, začíná znakem escape. Detaily viz http://ascii-table.com/ansi-escape-sequences.php Zapomeň na ESC a použij to Ctrl+C, co ti tu všichni radí. Nebo se na to celé vybodni.
Tiskni
Sdílej: