Google v pátek spustil v Česku Vyhledávání Live. Tato novinka umožňuje lidem vést plynulou konverzaci s vyhledávačem v češtině. A to prostřednictvím hlasu, nebo prostřednictvím toho, na co ukážou svým fotoaparátem či kamerou v mobilu. Rozšíření této multimodální funkce je možné díky nasazení Gemini 3.1 Flash Live, nového hlasového a audio modelu, který je od základu vícejazyčný, takže umožňuje lidem po celém světě mluvit na vyhledávač přirozeně a v jazyce, který je jim nejbližší.
Jsongrep je open-source nástroj, který efektivně prohledává JSON dokumenty (editovat je neumí). Kompiluje regulérní jazyk dotazu do podoby deterministického konečného automatu (DFA), díky čemuž prochází strom JSON dokumentu pouze jednou a je v tom tedy rychlejší než jiné nástroje jako jsou například jq, JMESPath nebo jql. Jsongrep je napsaný v programovacím jazyce Rust, zdrojový kód je dostupný na GitHubu.
O víkendu probíhá v Praze na Karlově náměstí 13 konference Installfest 2026. Na programu je celá řada zajímavých přednášek a workshopů. Vstup na konferenci je zcela zdarma, bez nutnosti registrace. Přednášky lze sledovat i online na YouTube.
Mozilla a společnost Mila oznámily strategické partnerství za účelem rozvoje open source a suverénní AI. Cílem je ukázat, že open source AI může konkurovat uzavřeným systémům. Obě organizace chtějí posílit technologickou suverenitu a snížit závislost na hrstce velkých technologických firem.
Adam Rice předvedl, že pomocí DNS lze distribuovat a spustit kompletní hru DOOM. Rozdělil WAD soubory a binárky do téměř 2000 DNS záznamů v Cloudflare zóně (jeden TXT záznam v DNS může nést okolo 2000 znaků textu). Ty pak stáhl PowerShellem, dekomprimoval a spustil přímo v paměti počítače bez nutnosti zápisu na disk, což prakticky dokazuje, že DNS může sloužit jako distribuované úložiště dat a možný kanál pro načítání kódu. Repozitář projektu je na GitHubu.
Dnes a zítra probíhají Arduino Days 2026. Na programu je řada zajímavých přednášek. Sledovat je lze od 17:00 na YouTube. Zúčastnit se lze i lokálních akcí. Dnes v Poličce v městské knihovně a zítra v Praze na Matfyzu.
Byla vydána beta verze Ubuntu 26.04 LTS s kódovým názvem Resolute Raccoon. Přehled novinek v poznámkách k vydání. Dle plánu by Ubuntu 26.04 LTS mělo vyjít 23. dubna 2026.
Byla vydána aktualizována Příručka pro začínající wikipedisty a wikipedistky (pdf).
Ubuntu plánuje v budoucích verzích nahradit tradiční nástroje pro synchronizaci času (chrony, linuxptp a gpsd) novým, v Rustu napsaným ntpd-rs, který nabídne vyšší bezpečnost a stabilitu.
Byla vydána nová verze 7.6 živé linuxové distribuce Tails (The Amnesic Incognito Live System), jež klade důraz na ochranu soukromí uživatelů a anonymitu. Správce hesel KeePassXC byl nahrazen správcem hesel GNOME Secrets. Bitcoinová peněženka Electrum byla povýšena na verzi 4.7.0. Tor Browser byl povýšen na verzi 15.0.8. Další novinky v příslušném seznamu.
libpng warning: iCCP: known incorrect sRGB profile libpng warning: iCCP: known incorrect sRGB profile Neoprávněný přístup do paměti (SIGSEGV) (core dumped [obraz paměti uložen])Ten obraz paměti jsem našel, ale nemám žádné zkušenosti, co a jak se z něj dá zjistit. Zajímavé je, že když se vytvoří nový uživatel, program epsonscan2 funguje bez problémů. Řekl bych, že v rámci sdílené konfigurace se program snaží použít nějaké neexistující nebo staré knihovny, ale nepodařilo se mi zjistit, kde se k nim dostane. Uživatelská konfigurace je v adresáři .epsonscan2, ale její odstranění nepomohlo, stejně tak nepomohlo, když jsem tam zkusil nakopírovat konfiguraci od uživatele, kde program fungoval. Kolega mi ještě poslal záznam své diskuse o problému s AI, ale k tomu jsem poměrně skeptický. Jako řešení bych viděl zálohu dat, uživatele vytvořit znovu, konfiguraci přenášet postupně a průběžně kontrolovat funkčnost skeneru, ale do toho se kolegovi moc nechce. Takže kdyby měl někdo jiný nápad, budu rád. Jirka
Řešení dotazu:
Co "strace epsonscan2" ?Kolega mi poslal kompletní výpis, přikládám jeho část před tím, než se objeví hlášení o pádu, ale moje znalosti nestačí na to, abych z toho něco zjistil. Můžu samozřejmě poskytnout celý výpis, případně jinou část, pokud budu vědět, na co se zaměřit.
2479 stat("/usr/lib/x86_64-linux-gnu/epsonscan2/non-free-exec/dtrplugin", {st_mode=S_IFREG|0755, st_size=24916, ...}) = 0
2479 stat("/usr/lib/x86_64-linux-gnu/epsonscan2/non-free-exec/libesdtr.so", {st_mode=S_IFREG|0444, st_size=340188, ...}) = 0
2479 stat("/usr/lib/x86_64-linux-gnu/epsonscan2/non-free-exec/dtrplugin", {st_mode=S_IFREG|0755, st_size=24916, ...}) = 0
2479 stat("/usr/lib/x86_64-linux-gnu/epsonscan2/non-free-exec/libesdtr.so", {st_mode=S_IFREG|0444, st_size=340188, ...}) = 0
2479 stat("/usr/lib/x86_64-linux-gnu/epsonscan2/non-free-exec/dtrplugin", {st_mode=S_IFREG|0755, st_size=24916, ...}) = 0
2479 stat("/usr/lib/x86_64-linux-gnu/epsonscan2/non-free-exec/libesdtr.so", {st_mode=S_IFREG|0444, st_size=340188, ...}) = 0
2479 stat("/usr/lib/x86_64-linux-gnu/epsonscan2/non-free-exec/fitplugin", {st_mode=S_IFREG|0755, st_size=203528, ...}) = 0
2479 write(17, "\1\0\0\0\0\0\0\0", 8) = 8
2479 write(17, "\1\0\0\0\0\0\0\0", 8 <unfinished ...>
2488 <... poll resumed>) = 1 ([{fd=17, revents=POLLIN}])
2479 <... write resumed>) = 8
2488 read(17, "\2\0\0\0\0\0\0\0", 8) = 8
2488 sendmsg(19, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="l\4\1\1\210\0\0\0\344\0\0\0~\0\0\0\1\1o\0%\0\0\0/org/a11"..., iov_len=144}, {iov_base="\7\0\0\0enabled\0\1\0\0\0\0\0\0\0\4(so)\0\0\0\0\0\0\0"..., iov_len=136}], msg_iovlen=2, msg_controllen=0, msg_flags=0}, MSG_NOSIGNAL) = 280
2488 sendmsg(19, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="l\4\1\1\210\0\0\0\345\0\0\0~\0\0\0\1\1o\0%\0\0\0/org/a11"..., iov_len=144}, {iov_base="\t\0\0\0sensitive\0\0\0\1\0\0\0\0\0\0\0\4(so)\0\0\0"..., iov_len=136}], msg_iovlen=2, msg_controllen=0, msg_flags=0}, MSG_NOSIGNAL) = 280
2479 futex(0x37e12470, FUTEX_WAKE_PRIVATE, 1 <unfinished ...>
2488 poll([{fd=17, events=POLLIN}, {fd=18, events=POLLIN}, {fd=19, events=POLLIN}], 3, -1 <unfinished ...>
2479 <... futex resumed>) = 0
2479 write(17, "\1\0\0\0\0\0\0\0", 8) = 8
2488 <... poll resumed>) = 1 ([{fd=17, revents=POLLIN}])
2488 read(17, "\1\0\0\0\0\0\0\0", 8) = 8
2488 sendmsg(19, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="l\4\1\1\210\0\0\0\346\0\0\0~\0\0\0\1\1o\0%\0\0\0/org/a11"..., iov_len=144}, {iov_base="\7\0\0\0enabled\0\1\0\0\0\0\0\0\0\4(so)\0\0\0\0\0\0\0"..., iov_len=136}], msg_iovlen=2, msg_controllen=0, msg_flags=0}, MSG_NOSIGNAL <unfinished ...>
2479 write(17, "\1\0\0\0\0\0\0\0", 8 <unfinished ...>
2488 <... sendmsg resumed>) = 280
2479 <... write resumed>) = 8
2488 write(17, "\1\0\0\0\0\0\0\0", 8) = 8
2488 poll([{fd=17, events=POLLIN}, {fd=18, events=POLLIN}, {fd=19, events=POLLIN}], 3, 0) = 1 ([{fd=17, revents=POLLIN}])
2488 read(17, <unfinished ...>
2479 write(17, "\1\0\0\0\0\0\0\0", 8 <unfinished ...>
2488 <... read resumed>"\2\0\0\0\0\0\0\0", 8) = 8
2479 <... write resumed>) = 8
2488 sendmsg(19, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="l\4\1\1\210\0\0\0\347\0\0\0~\0\0\0\1\1o\0%\0\0\0/org/a11"..., iov_len=144}, {iov_base="\t\0\0\0sensitive\0\0\0\1\0\0\0\0\0\0\0\4(so)\0\0\0"..., iov_len=136}], msg_iovlen=2, msg_controllen=0, msg_flags=0}, MSG_NOSIGNAL) = 280
2479 futex(0x37e12470, FUTEX_WAKE_PRIVATE, 1 <unfinished ...>
2488 futex(0x37e12470, FUTEX_WAKE_PRIVATE, 1 <unfinished ...>
2479 <... futex resumed>) = 0
2488 <... futex resumed>) = 0
2488 sendmsg(19, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="l\4\1\1\210\0\0\0\350\0\0\0~\0\0\0\1\1o\0%\0\0\0/org/a11"..., iov_len=144}, {iov_base="\7\0\0\0enabled\0\1\0\0\0\0\0\0\0\4(so)\0\0\0\0\0\0\0"..., iov_len=136}], msg_iovlen=2, msg_controllen=0, msg_flags=0}, MSG_NOSIGNAL <unfinished ...>
2479 write(17, "\1\0\0\0\0\0\0\0", 8 <unfinished ...>
2488 <... sendmsg resumed>) = 280
2479 <... write resumed>) = 8
2488 write(17, "\1\0\0\0\0\0\0\0", 8) = 8
2488 poll([{fd=17, events=POLLIN}, {fd=18, events=POLLIN}, {fd=19, events=POLLIN}], 3, 0) = 1 ([{fd=17, revents=POLLIN}])
2488 read(17, "\3\0\0\0\0\0\0\0", 8) = 8
2488 sendmsg(19, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="l\4\1\1\210\0\0\0\351\0\0\0~\0\0\0\1\1o\0%\0\0\0/org/a11"..., iov_len=144}, {iov_base="\t\0\0\0sensitive\0\0\0\1\0\0\0\0\0\0\0\4(so)\0\0\0"..., iov_len=136}], msg_iovlen=2, msg_controllen=0, msg_flags=0}, MSG_NOSIGNAL <unfinished ...>
2479 write(17, "\1\0\0\0\0\0\0\0", 8 <unfinished ...>
2488 <... sendmsg resumed>) = 280
2479 <... write resumed>) = 8
2488 write(17, "\1\0\0\0\0\0\0\0", 8) = 8
2488 poll([{fd=17, events=POLLIN}, {fd=18, events=POLLIN}, {fd=19, events=POLLIN}], 3, 0) = 1 ([{fd=17, revents=POLLIN}])
2488 read(17, <unfinished ...>
2479 write(17, "\1\0\0\0\0\0\0\0", 8 <unfinished ...>
2488 <... read resumed>"\2\0\0\0\0\0\0\0", 8) = 8
2479 <... write resumed>) = 8
2488 sendmsg(19, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="l\4\1\1\210\0\0\0\352\0\0\0~\0\0\0\1\1o\0%\0\0\0/org/a11"..., iov_len=144}, {iov_base="\7\0\0\0enabled\0\1\0\0\0\0\0\0\0\4(so)\0\0\0\0\0\0\0"..., iov_len=136}], msg_iovlen=2, msg_controllen=0, msg_flags=0}, MSG_NOSIGNAL) = 280
2488 sendmsg(19, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="l\4\1\1\210\0\0\0\353\0\0\0~\0\0\0\1\1o\0%\0\0\0/org/a11"..., iov_len=144}, {iov_base="\t\0\0\0sensitive\0\0\0\1\0\0\0\0\0\0\0\4(so)\0\0\0"..., iov_len=136}], msg_iovlen=2, msg_controllen=0, msg_flags=0}, MSG_NOSIGNAL <unfinished ...>
2479 write(17, "\1\0\0\0\0\0\0\0", 8 <unfinished ...>
2488 <... sendmsg resumed>) = 280
2479 <... write resumed>) = 8
2488 write(17, "\1\0\0\0\0\0\0\0", 8) = 8
2488 poll([{fd=17, events=POLLIN}, {fd=18, events=POLLIN}, {fd=19, events=POLLIN}], 3, 0) = 1 ([{fd=17, revents=POLLIN}])
2488 read(17, <unfinished ...>
2479 write(17, "\1\0\0\0\0\0\0\0", 8 <unfinished ...>
2488 <... read resumed>"\3\0\0\0\0\0\0\0", 8) = 8
2479 <... write resumed>) = 8
2488 sendmsg(19, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="l\4\1\1\210\0\0\0\354\0\0\0~\0\0\0\1\1o\0%\0\0\0/org/a11"..., iov_len=144}, {iov_base="\7\0\0\0enabled\0\1\0\0\0\0\0\0\0\4(so)\0\0\0\0\0\0\0"..., iov_len=136}], msg_iovlen=2, msg_controllen=0, msg_flags=0}, MSG_NOSIGNAL) = 280
2488 sendmsg(19, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="l\4\1\1\210\0\0\0\355\0\0\0~\0\0\0\1\1o\0%\0\0\0/org/a11"..., iov_len=144}, {iov_base="\t\0\0\0sensitive\0\0\0\1\0\0\0\0\0\0\0\4(so)\0\0\0"..., iov_len=136}], msg_iovlen=2, msg_controllen=0, msg_flags=0}, MSG_NOSIGNAL) = 280
2488 poll([{fd=17, events=POLLIN}, {fd=18, events=POLLIN}, {fd=19, events=POLLIN}], 3, -1) = 1 ([{fd=17, revents=POLLIN}])
2488 read(17, "\1\0\0\0\0\0\0\0", 8) = 8
2488 poll([{fd=17, events=POLLIN}, {fd=18, events=POLLIN}, {fd=19, events=POLLIN}], 3, -1 <unfinished ...>
2479 --- SIGSEGV {si_signo=SIGSEGV, si_code=SEGV_MAPERR, si_addr=0x18} ---
2496 <... futex resumed>) = ?
2486 <... futex resumed>) = ?
2485 <... futex resumed>) = ?
2484 <... futex resumed>) = ?
2482 <... poll resumed> <unfinished ...>) = ?
2481 <... futex resumed>) = ?
2496 +++ killed by SIGSEGV (core dumped) +++
Vypadá to, že ten epsonscan2 využívá nějakou knihovnu, kterou „vylepšili”. Řešením je ten strace a dohledání knihovny, se kterou ten epsonscan2 funguje.Něco takového jsem si myslel, ale nevěděl jsem, jak tu knihovnu najít. Díky za tip, poslal jsem to kolegovi, uvidím, co mi odpoví. Jirka
Po instalaci driveru a nějakého softwaru od výrobce skener fungoval. Pak kolega nastavoval zmíněné sdílení konfigurace, ale po ukončení celého procesu zjistil, že skener nefunguje, proto mně požádal o radu.
Možná je problém jen o nastavení správné cesty, nebo práv. Funguje to pod rootem?
Zajímavé je, že když se vytvoří nový uživatel, program epsonscan2 funguje bez problémů. Uživatelská konfigurace je v adresáři .epsonscan2, ale její odstranění nepomohlo, stejně tak nepomohlo, když jsem tam zkusil nakopírovat konfiguraci od uživatele, kde program fungoval.Podle tohoto popisu je možné, že starý uživatel má nějaké trochu divné nastavení GUI se kterým si epsonscan2 na nové verzi GUI z nějakého důvodu neví rady. To by vysvětlovalo proč to nově vytvořenému uživatelovi (s výchozím nastavením) funguje. Co se stane když pokusně spustíš ten epsonscan2 pod jinačím správcem oken? padá to taky? Kdyby byl problém v knihovnách, tak by to nefungovalo ani nově vytvořenému uživatelovi.
Tiskni
Sdílej: