Uživatelé mobilních telefonů s Linuxem si nyní mohou nainstalovat aplikaci Mobilní Datovka. Díky tomu je přístup k datovým schránkám dostupný i na zařízeních s mobilními linuxovými distribucemi, jako jsou například Mobian, NixOS Mobile, pmOS atd. Aplikace je dostupná na Flathubu.
Software Freedom Conservancy v novém dokumentu shrnuje doporučení, jak přistupovat ke generativní AI založené na LLM při přispívání do svobodného a open-source softwaru. Mimo jiné vyzývá k obezřetnosti, transparentnosti a revizi generovaného kódu člověkem.
Byla vydána nová verze 5.6.0 programu na úpravu digitálních fotografií darktable (Wikipedie).
Na čem aktuálně pracují vývojáři GNOME a KDE Plasma? Pravidelný přehled novinek v Týden v GNOME a Týden v KDE Plasma. V Týdnu v GNOME je zmíněn flatpak balíček pro GIMP 0.54.1 z roku 1996. Jedná se o poslední verzi GIMPu postavenou nad toolkitem Motif.
Home Assistant Operating System, tj. linuxová distribuce optimalizována pro hostování Home Assistanta a jeho aplikací, byl vydán v nové major verzi 18.0.
Po šestiletém úsilí byla z jádra Linux odstraněna funkce strncpy(). Všechna předchozí volání této funkce byla převedena na bezpečnější alternativy.
Byla vydána nová verze 261 správce systému a služeb systemd (Wikipedie, GitHub). Z novinek lze vypíchnout nový subsystém IMDS (Cloud "Instance Metadata Service"), nový příkaz storagectl nebo novou komponentu systemd-sysinstall.
Vývojové prostředí Qt Creator bylo vydáno ve verzi 20 (seznam změn). Novinky zahrnují hlavně rozšíření pro integraci LLM agentů nebo minimalistický editační režim uživatelského rozhraní („zen mode“).
Už jste se prolétli na webu Google Earth? Přibyl tam Simulátor letu (Nástroje / Simulátor letu). Funguje i bez účtu Google [𝕏].
Byla vydána nová verze 4.7 (𝕏, Bluesky, Mastodon) multiplatformního open source herního enginu Godot (Wikipedie, GitHub). Přehled novinek i s náhledy v příspěvku na blogu.
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: