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 HP.
O víkendu proběhla demopárty Outline 2026. Publikována byla prezentovaná dema. Upozornit lze na 16 bajtové, opravdu šestnáct bajtové, zvukově obrazové demo Wake Up! 16b (YouTube).
Byla vydána nová verze 9.5 multiplatformní digitální pracovní stanice pro práci s audiem (DAW) Ardour. Přehled novinek, vylepšení a oprav v poznámkách k vydání a na YouTube.
Dnes a zítra probíhá vývojářská konference Google I/O 2026. Sledovat lze na YouTube a na síti 𝕏 (#GoogleIO).
Canonical vydal Ubuntu Core 26. Vychází z Ubuntu 26.04 LTS a podporováno bude 15 let. Ubuntu Core je minimální neměnný operační systém určený pro vestavěné systémy.
Bylo vydáno OpenBSD 7.9. Po dlouhé době opět se songem: Diamond in the Rough.
Byl vydán Mozilla Firefox 151.0. Přehled novinek v poznámkách k vydání a poznámkách k vydání pro vývojáře. Řešeny jsou rovněž bezpečnostní chyby. Nový Firefox 151 bude brzy k dispozici také na Flathubu a Snapcraftu.
Elon Musk prohrál soudní spor se společností OpenAI, která se podle jeho žaloby odchýlila od původně uváděného cíle vyvíjet umělou inteligenci (AI) ku prospěchu lidstva. Porota včera po necelých dvou hodinách dospěla k jednomyslnému závěru, že Musk žalobu podal příliš pozdě. Musk byl jedním ze spoluzakladatelů společnosti OpenAI, která vznikla v roce 2015 a vyvinula populární chatovací systém ChatGPT. V roce 2018 na svůj post ve vedení
… více »Byla vydána nová verze 10.4 z Debianu vycházející linuxové distribuce DietPi pro (nejenom) jednodeskové počítače. Přehled novinek v poznámkách k vydání. Opraveny jsou zranitelnosti Copy Fail a Dirty Frag. Přibyl nový obraz pro Orange Pi 5B.
Pokud je zranitelnost Linuxu v nepoužívaném jaderném modulu, lze ji jednoduše vyřešit zakázáním automatického načítání tohoto konkrétního zranitelného modulu. Projekt ModuleJail si klade za cíl zvýšit bezpečnost Linuxu zakázáním automatického načítání všech nepoužívaných jaderných modulů. Jedná se o skript, který dá všechny nepoužívané jaderné moduly na blacklist (/etc/modprobe.d/modulejail-blacklist.conf).
Už dlouhou dobu jsem poměrně rozčarován ze způsobu zacházení s českými manuálovými stránkami v Debianu. Používá se mix znakových sad UTF-8 a ISO-8859-2. Snad je problém ve formátu nroff, ve kterém se IMHO nedá určit v jaké znakové sadě je dokument napsán a s Debianem nesouvisí; ovšem nejednotnost kódování jen přilévá benzín do ohně. To, že české manuály bývají zastaralé a málo kdo je čte, tento nedostatek neomlouvá. Běžně sice z praktických důvodů používám anglické verze, ale požitek z češtiny bych si při občasné relaxaci spočívající v pročítání manuálů nerad odpouštěl.
Většina stránek je v ISO-8859-2, avšak některé v UTF-8 (např. mplayer, dvdisaster). A ta změť znaků skutečně nevypadá vábně. Protože jsem na webu nenašel rozumný návod, jak problém řešit, trochu jsem zalaboroval a výsledek dávám k posouzení a zároveň si ho zálohuji :)
Když zadám shellu příkaz man cokoliv, projde zdrojový text manuálové stránky řadou preprocesorů spojených rourou, na jejímž konci je předán obsah nějakému pageru (např. less). Před pagerem je zařazen procesor groff, který formátuje text do výsledné podoby a mimo jiné provádí konverzi na kódování určené locale. V mé instalaci Debianu tedy z ISO-8859-2 na UTF-8, které používám. Problém nastane, když stránka již v UTF-8 je. Potom si zcela zbytečně dává práci převést ji na UTF-8 a samozřejmě ji naprosto zmrší. Napadlo mě do řetězu vklínit vlastní preprocesor, který by převedl UTF-8 stránku na kódování ISO-8859-2, ve kterém je většina manuálů v Debianu. Takže by se převáděla z UTF-8 na latin2 a dále zpět z latin2 na UTF-8 ;) Nebyl jsem ale schopen zjistit, jak vklínit do řetězu další preprocesor, a tak jsem se rozhodl udělat wrapper na již existující a doufám vždy použitý: tbl.
K detekci znakové sady jsem použil program enca a k vytvoření dočasného souboru binárku tempfile z debianího balíčku debian-utils - je to ovšem nepostradatelná utilitka snad dostupná v každé distribuci.
sudo apt-get install enca debian-utils
Konfigurační soubor programu man je v Debianu /etc/manpath.config. Stačí v něm předefinovat preprocesor tbl na vytvořený wrapper:
DEFINE tbl /usr/local/bin/tbl-utf8-latin2.sh
například tento:
#!/bin/sh
#BUGS: does not parse LANGUAGE environment variable
#TODO: other languages support (i.e. Slovak)
do_convert=0
if test -n "$LC_ALL" ; then
echo "$LC_ALL" | grep -q cs_CZ && do_convert=1
elif test -n "$LC_MESSAGES"; then
echo "$LC_MESSAGES" | grep -q cs_CZ && do_convert=1
elif echo "$LANG" | grep -q cs_CZ; then
do_convert=1
fi
test -x /usr/bin/enca || do_convert=0
test -x /bin/tempfile || do_convert=0
if [ $do_convert -eq 1 ]; then
tmp=`/bin/tempfile`
cat $1 > $tmp;
if /usr/bin/enca $tmp | grep -q "Universal transformation format 8 bits; UTF-8"; then
cat $tmp | /usr/bin/enca -x ISO-8859-2 | /usr/bin/tbl
else
cat $tmp | /usr/bin/tbl
fi
rm $tmp
else
cat $1 | /usr/bin/tbl
fi
Skript detekuje nastavení locales a pokud je cs_CZ a manuál je v UTF-8, převede ho na ISO-8859-2 a pošle dál. Jinak ho předá beze změn.
Pokud jsem jako osel vymýšlel již vymyšlené, a existující řešení nekoliduje s balíčkovacím systémem, budu rád, pokud mě na něj upozorníte. Koneckonců nevěřím, že by neexistovalo elegantnější řešení - vždyť je to natolik závažný problém dotýkající se mnoha česky hovořících uživatelů.
Tiskni
Sdílej:
export PAGER="enca -c|most"
je nedostatečné řešení?
/usr/bin/zsoelim /tmp/zmanKqA3pR | /usr/bin/tbl | /usr/bin/groff -M/usr/local/share/groff/tmac -mandoc -rLL=118n -rLT=118n -Tascii8 | iconv -c -f ISO-8859-2 -t UTF-8 | $PAGER
Kdyby místo iconv -c -f ISO-8859-2 -t UTF-8 použil enca, nebo by se dalo vypnout konvertování úplně, nebyl by asi problém.
Ale nevím jak.
Místo navrhovaného enca -c | most by se musel použít wrapper ve smyslu: pokud je po převodu z UTF-8 na latin2 text v UTF-8, zobraz pagerem tento, jinak text původní.
Snad by to skutečně bylo jednoduší.
Mimochodem roura v proměnných se na mém systému ignoruje.