Na Kickstarteru běží kampaň na podporu kapesního počítače s Linuxem CardputerZero od společnosti M5Stack. Postaven je na Raspberry Pi Compute Module 0. Podporuje moduly M5. Koupit lze s rozšířeními LoRa a CC1101.
Tento týden se bude vyznačovat zejména deštěm, a proto vás může zajímat, že již v úterý proběhne 63. Virtuální Bastlírna, která se bude odehrávat přímo v teple vašich domovů a bastlíren. Proto se připojte k této volné otevřené diskuzi bastlířů, techniků, vědců, ve které se probírají novinky a zajímavá témata z techniky. Mezi největší novinky bude tentokrát patrně patřit oznámení hackerského nástroje Flipper One. Zároveň úspěšně probíhá
… více »86Box (Wikipedie), tj. emulátor retro počítačů založených na x86, byl vydán ve verzi 6.0. Přibyly například zvuky pevného disku. Na GitHubu jsou vedle zdrojových kódů ke stažení také připravené balíčky ve formátu AppImage.
Byla vydána nová verze 4.6 audio přehrávače Audacious (Wikipedie). Z novinek lze vypíchnout nový plugin pro procházení soubory, podporu audio formátu Musepack SV8 nebo přechod na build systém Meson.
Alliance for Open Media vydala verzi 1.0.0 specifikace svobodného videoformátu AV2. Jean-Baptiste Kempf, prezident neziskové organizace VideoLAN stojící za svobodným multiplatformním multimediálním přehrávačem a frameworkem VLC, představil na svém blogu dekodér AV2 s názvem dav2d.
V aktuálním přehledu vývoje renderovacího jádra webového prohlížeče Servo (Wikipedie) bylo oznámeno vydání nové verze 0.2.0.
Armbian, tj. linuxová distribuce založená na Debianu a Ubuntu optimalizovaná pro jednodeskové počítače na platformě ARM a RISC-V, ke stažení ale také pro Intel a AMD, byl vydán ve verzi 26.5.1. Přehled novinek na GitHubu.
Byla vydána nová stabilní verze 26.05 linuxové distribuce NixOS (Wikipedie). Její kódové označení je Yarara. Podrobný přehled novinek v poznámkách k vydání. O balíčky se v NixOS stará správce balíčků Nix.
Byla vydána verze 1.96.0 programovacího jazyka Rust (Wikipedie). Podrobnosti v poznámkách k vydání. Vyzkoušet Rust lze například na stránce Rust by Example.
Společnosti IBM a Red Hat představily Project Lightwell s investicí 5 miliard dolarů. Jedná se o důvěryhodné clearingové centrum pro bezpečnost open source softwaru a zabezpečení dodavatelských řetězců s novým AI modelem a globální skupinou více než 20 000 softwarových inženýrů. Služby centra budou dostupné prostřednictvím komerčních předplatných. Project Lightwell staví na iniciativách jako Anthropic Glasswing nebo OpenAI Trust Access for Cyber.
Možná jste taky někdy zápasili s tiskem formulářů nebo šablon, které pořád ne a ne vyjít ve správné velikosti. Článek Tisk v přesném měřítku (PDF, PPD, CUPS) popisuje příběh hledání jedné takové chyby v GNU/Linuxu.
Tiskni
Sdílej:
lp. Tím se snadno odliší chyby aplikací od chyb print serveru / tiskárny.
Už dávno jsem si vyrobil jednoduchou postscriptovou testovací stránku pro kalibraci tiskáren.
Vyrobil jsem podobnou stránku (je v příloze blogu), ale ne tak pěknou, díky.
To je nečekaně častý problém.
To mne na tom právě trápí asi víc než to, že jsem zrovna nemohl vytisknout dokument v měřítku. Proto jsem vlastně kolem toho psal ten článek, byť to řešení samotného problému je celkem triviální. Tohle se opakuje často a na různých místech, nejde jen o tisk, je to obecný problém s kvalitou – něco se rozbije a nikdo1 si toho nevšimne, opraví se to až po letech a pak klidně rok nebo déle trvá, než se ta oprava dostane do distribucí, které používají běžní uživatelé.
[1] resp. oni si toho všimnou ti uživatelé, kteří pak dotyčný software třeba přestanou používat, ale nikde to nenahlásí jako chybu, takže z pohledu vývojářů žádný problém neexistuje
pokud byste hledali ve své distribuci PPD soubory pro nenainstalované tiskárny, tak je pravděpodobně nenajdete. Místo nich tam máte /usr/lib/cups/driver/openprinting-ppds, což je skript v Pythonu, který v sobě má textovou proměnnou s velmi dlouhým řetězcem (celý ten skript má přes 5 MB) ve formátu Base64, uvnitř kterého jsou zkomprimované všechny PPD soubory. Tohle raději nebudu komentovat. PPD soubory si můžeme vypsat pomocí openprinting list a jeden konkrétní získat pomocí openprinting-ppds cat URI (kde URI začíná openprinting-ppds: a jde o první sloupec z výpisu). Získání jednoho PPD souboru na mém ne úplně pomalém počítači s SSD diskem trvá dva a půl vteřiny. Tím se vysvětluje, proč přidávání nové tiskány přes CUPS není zrovna dvakrát rychlé.masakr
Ano, týká se to Debianu a Ubuntu. Docela by mne zajímalo, co je k tomu vedlo.
Ono těch 5 000+ souborů může někoho vyplašit, ale pro souborový ani balíčkovací systém by neměl být reálný problém a výkon by měl být lepší než v Pythonu prohledávat komprimovanou proměnnou zabalenou v Base64.
Ono je to rozbité i přímo v té tiskárně:
dávám PDF soubory na USB flashku a nesu je k tiskárně – ta má USB port a nabízí tzv. přímý tisk. Ovládání přes ten malý displej a pár tlačítek je docela použitelné. Tiskárna tiskne… a další makulatura je na světě. Výsledek je o nějaký ten milimetr lepší, ale stále je to celé špatně. Až tak „přímý“ tisk to tedy nebude.
a to je proprietární firmware, se kterým uživatel nic nenadělá. Oproti tomu v GNU/Linuxu je všechno softwarové a protože je to svobodný software, tak to lze opravit. (ano, trvalo to hodně dlouho)
Na druhou stranu, když jsou programy skládané tímhle způsobem a volají se jako podproces, tak se to dá snáze ohackovat, aniž bych musel jít do zdrojáků a něco kompilovat. Můžu si udělat např. skript s názvem lpr, přidat si ho do $PATH a pomocí něj to odladit – jednak se můžu dívat, co jde dovnitř (parametry příkazu, proměnné prostředí, STDIN…), co jde ven (STDOUT, STDERR…), vedlejší efekty monitorovat přes strace… a když se mi něco nelíbí, tak v tom svém skriptu upravím ty parametry a s nimi pak zavolám ten skutečný lpr.
Pokud by to bylo řešené např. přes D-Bus, můžu komunikaci sledovat přes dbus-monitor, ale už nevím, jak do toho vstoupit a přepisovat hodnoty (asi bych musel tu původní službu přesunout a na její místo nasadit nějakou svoji proxy, kterou bych si napsal). Podobné je to s komunikací přes TCP/IP nebo UDP/IP – monitorovat to jde snadno přes Wireshark. Ale vstoupit do té komunikace a upravovat ji, to je trochu víc práce než u těch podprocesů.
Jakou technologií je ten subsystém řešený v KDE 3? Ono by to vlastně šlo řešit přes podprocesy i v případě, že tam bude nějaká abstraktní vrstva, která to bude přesměrovávat dál (CUPS, external program, LPD, LPR/LPRng, RLPR).