Zobrazují se příspěvky se štítkemUbuntu. Zobrazit všechny příspěvky
Zobrazují se příspěvky se štítkemUbuntu. Zobrazit všechny příspěvky

čtvrtek 23. dubna 2015

Jak jsem se hloupě nechal hacknout přes prohlížeč v Linuxu

Tak jsem si dobrovolně nechal hacknout můj klíčový pracovní stroj, jen vlastní důvěřivostí a hloupostí. V nejbezpečnějším prohlížeči na světě zvaném Google Chrome, běžícím v bezpečném operačním systému Ubuntu, bez návštěv pochybných stránek na Internetu, jsem měl pocit sucha a bezpečí jako uvnitř Alcatrazu - že na mě nikdo nemůže, že jsem fakt dobře zabarikádovaný a nedobytný.

A pak jsem si před měsícem nainstaloval rozšíření Adblock Super (verze 2.7.4) a liboval si, jak mi ubylo reklamy na webu. Jenže před pár dny se mi začaly po kliku na odkazy otevírat úplně jiné stránky plné reklam na nějaké online gamesky. Tušil jsem, odkud vítr vane, tak jsem zakázal to jediné rozšíření, které jsem měl, ale nepomohlo to. Dál mi něco předělávalo stránky tak, že po kliku na normální odkazy jsem končil úplně jinde v reklamním pekle.

Začal jsem tedy pátrat online po podobně postižených. Zatímco pro Windows se dá najít několik nástrojů, které rádoby odstraňují různé podobně problémové situace, pro Linux neexistuje  nic - což je logické, neboť Linux se nedá zavirovat, že? Nakonec jsem našel vlákno v google product fóru, kde pár nešťastníků popsalo něco velmi podobného, co pronásleduje mě, ale řešení veskrze žádné - snad jen promazat ~/.cache/chrome a pak to prý přestane.

Nezbylo mi než se na podívat pořádně sám. Dobrá pomoc je, když v chrome://extensions povolíte "Režim pro vývojáře". U povolených rozšíření se objeví možnost "Zkontrolovat zobrazení" a URL. Pokud to URL obsahuje "background.html", tak běží v pozadí.


A když jsem otevřel background.html od Adblock Super, našel jsem tam kromě jeho 10+6 skriptů ještě jeden zjevně navíc: sosá z "https://cdn.dreamnetworld.com" soubor "extend.js":


A tento skript obsahuje funkci popupSnooze() a ta už jednou za několik hodin náhodně vkládá ty po***né (nevyžádané) reklamy:


Děsivé je, že na to jednak není žádná detekce (ani čerstvě nainstalovaný Extension Defender nic nenašel) a dále že nepomůže ani vypnout to nakažené rozšíření, background.html dál zjevně běží a škodí. WTF Google?

A jak může mít +Google Chrome ve vlastním Obchodě nakažené rozšíření? Kde to jsme?


Největší smrt je, že to může zjevně dělat s jakoukoliv stránkou cokoliv, tedy například číst údaje z mnou zadávaných platebních karet (když platím online), zná to login a heslo mého internetové bankovnictví, PayPalu, Bitcoin peněženky atd. Docela děsivé. Zbořil se mi mnohaletý mýtus o bezpečném operačním systému Ubuntu GNU/Linux a bezpečném prohlížeči Google Chrome. Zdá se, že jedinou možností, jak se aspoň trochu chránit, je odstranit z prohlížeče všechna rozšíření mající právo editovat jakékoliv stránky a používat ho bez nich, tak jak ho vydal výrobce.


P.S. možnost, že Adblock Super je v Chrome Webstore "čistý" a něco ho nakazilo až u mě na počítači raději ani neuvažuju - to by totiž bylo ještě mnohem horší...

EDIT: rozhodl jsem se to přece jen ověřit a na jiném počítači jsem se jal instalovat Adblock Super. Helemese - necelou hodinu po vydání tohoto blog postu je v Chrome Webstore naráz úplně jiná verze!


40x menší instalační soubor, major verze o jedničku nižší... Tak tomu říkám změna. Vtipné je, že kvůli menší verzi (1.3 < 2.7.4) nedojde k automatické aktualizaci u lidí, kteří už tu prokletou verzi s malware nainstalovanou mají.

ROTFL, tak ta "nová" verze je ještě horší. Sice už nemodifikuje cizí stránky, na rozdíl od té "mé" verze:


Za to ale obsahuje místo slibované funkčnosti jen zběsilé otevírání reklamních oken:


Takže jsem si nyní 100% jistý, že už ta verze 2.7.4 byla výrobcem nakažená, a teď se to snaží takto zamaskovat či "vylepšit"...

Z instalace rozšíření do prohlížeče jsem tímto definitivně vyléčen.

neděle 22. března 2015

Daně a smrt, nejlépe elektronicky

Jak říkává Joe Black, daně a smrt jsou jediné dvě jistoty, které v tom našem postdemokratickém světě máme. A jelikož tu první jistotu musím kvůli mé samostatně výdělečné činnosti řešit mnohem častěji než tu druhou, snažím se maximálně si to ulehčit. Proto jsem loni poprvé všechny tři březnové daně (z příjmu, sociální a zdravotní) vyřešil jak nejvíc elektronicky to šlo. Letos jsem to zkoušel znovu a opět jsem narazil na ty samé problémy co loni, které jsem ale za ten rok zapomněl! Tudíž jsem si tím marastem musel znovu projít jako by to bylo poprvé. No a abych si příští rok zase netrhal vlasy, raději si to už sem zdokumentuju.

Samotná daň z příjmu jde online pořešit překvapivě dobře. Daňový portál na webu Ministerstva financí funguje výborně - tedy hned poté, co člověk projde přes následující znalostní test z oblasti počítačové a Internetové bezpečnosti:

web českého ministerstva není důvěryhodný pro americký prohlížeč, protože soudruzi udělali někde chybu...

Po odhalení tajného tlačítka "pokračovat na nespolehlivý web" v "rozšířených nastaveních" se dá prokliknout na další stránku, kde si portál otestuje prohlížeč a systém a s potěšením oznámí, že v 64bitovém Ubuntu s Google Chrome budu mít možnost "Komfortní práce se službami daňového portálu" a také mám povoleno "Vyplnění inteligentních elektronických formulářů EPO2". Ještě před pár lety mělo ministerstvo jen EPO1, což jsou smrtící potvory pouze pro MS-Windows a Internet Exploder vyžadující instalaci nějakého binárního bazmeku, ale EPO2 už je čistá HTML aplikace a funguje multiplatformně a výtečně.

Na portálu člověk rychle v sekci "Elektronické formuláře" najde "Daň z příjmů fyzických osob - od roku 2013 včetně (EPO2)". Tam si pak může pustit skvělého průvodce, který se inteligentně ptá většinou jen na to skutečně potřebné a šikovně skrývá všechen ten kontextově nepotřebný balast. Když si člověk nevede žádné účetnictví a z daňové evidence si zapíše jen jedno číslo celkových ročních příjmů, je vyplnění celého přiznání jednodušší než když Vlastík Tlustý před volbami mával v TV korespondenčním lístkem a sliboval daňové přiznání na formulář velikosti A6.

Na závěr je možné si nechat celý vyplněný formulář zkontrolovat - tato funkce také funguje na jedničku. Dále je tam možnost tisku, která v PDF nasimuluje klasický růžový formulář se všemi stránkami pečlivě strojově vyplněnými. To bych ale musel zanést ten vytištěný formulář na podatelnu finančního úřadu, což by bylo zbytečně pomalé a pracné. Proto volím jinou možnost na daňovém portálu nově dostupnou - elektronické podání!

Po stisku tlačítka "Odeslání písemnosti" mám sice opticky na výběr ze tří možností, ale pokud člověk nechce přistoupit na další státní vydírání, ať už v podobě datových schránek, anebo v podobě kupování předražených státních certifikátů od oligopolu firem, které je poskytují, musí nutně zvolit možnost "Nepodepisovat". Písemnost se tak sice na ministerstvo odešle, ale stejně je nutné vytisknout si v dalším kroku potvrzení o tom, že jsem to fakt podal a utíkat s tím papírkem na podatelnu finančního úřadu, jinak je elektronické podání neplatné. To jsem na to vyzrál, co? ;-)

Další kladné body autorům EPO2 připisuji za možnost kdykoliv si celý formulář včetně všech příloh uložit do XML souboru a tento později znovu načíst do EPO2 a pokračovat v editaci. No a po podání je dobré uložit si jakési potvrzení (soubor typu p7s), díky kterému je možné sledovat průběh zpracování daňového přiznání.


Druhý krok je sociální daň, ze které žijí dnešní důchodci (ano, nejde o spoření na vlastní důchod, státní důchody jsou totiž typické "letadlo"), taky se z ní platí lidi bez práce (práce není a ani nebude protože robotizace), rodiče s dětmi na rodičovské dovolené (buďme rádi, že můžeme být doma s dětmi až 4 roky - v USA jen tři měsíce!), též živobytí mimořádně "přizpůsobivých" spoluobčanů a kdo ví co ještě. Proto hbitě naskočím na správné tiskopisy a vybírám si mezi "eTiskopisem" a běžným formulářem v PDF.  "eTiskopis" vyžaduje instalaci binárního smetí jménem Form Filler. Přestože mi pohrobek 602. základní organizace Svazarmu nabízí 37 MB blob i pro moje 64bitové Ubuntu pod názvem "archivní produkt" (he, to zní jako víno), zdravě paranoidně to odmítám a vydávám se cestou snad menšího odporu, tedy PDF formuláře.

Ten PDF formulář (OSVC_2014_v3.pdf) bohužel nejde v Evince vyplnit - možná je to jen dokument bez formulářových políček, nevím. Tak hledám dál něco interaktivnějšího, co by mě nenutilo vyplňovat kolonky rukou. Najdu tak úplně nový web jménem "ePortál", na kterém jsou sice interaktivní formuláře, ale bohužel vyžadují instalaci dalšího, ještě většího blobu:


Milou Javu si do Google Chrome nenainstaluji, protože dodavatel Javy trvá na starém API, zatímco dodavatel prohlížeče iniciativně vyvinul nové API a staré zahodil. Mohl bych udělat úkrok stranou, pustit Mozilla Firefox a Javu si nainstalovat, ale vzhledem k tomu, jaká díra do systému se Javou v prohlížeči otevírá, zvolil jsem vzdálené přihlášení na Windows stroj do kanceláře, kde Javu musím mít kvůli práci, a formulář vyplnil bez problémů tam. Dobré je, že formulář (resp. ten Java applet) opět napomáhá se správným vyplněním, přeskakuje položky, které nejsou potřeba a na konci umožní zkontrolovat, je-li vše vyplněno OK. A samotná funkce "Tisk" vygeneruje vyplněné PDF, které jsem si mohl pohodlně přetáhnout ze vzdáleného počítače k sobě a doma v klidu vytisknout.


Poslední z daní je zdravotní (je to tak, je to daň, protože je povinná - skutečné zdravotní pojištění by bylo dobrovolné). Jsem pořád u defaultní zdravotní pojišťovny s kódem 111, jejíž portfolio zahrnuje především děti a jiné nepříliš přispívající jedince, takže mě hřeje dobrý pocit, že z mých peněz někomu zafinancuju třeba novou přilbu na kolo či masáže. Protonovou léčbu asi ne, s tím bude asi konec. Takže šupky dupky na web pro plátce a hned mi nabízí správný formulář pro OSVČ. Skvěle! Kliknu tedy na "Tiskopis pro rok 2014" odkazující na http://www.vzp.cz/uploads/document/tiskopis-za-rok-2014.pdf a hledím na následující stránku:


Říkají "prosím čekejte", tak čekám jak trotl a pořád nic. Vracím se na předchozí stránku a nacházím tam následující návod: "Pokud se vám po kliknutí na odkaz tiskopisu zobrazuje chyba, stáhněte si tiskopis na disk vašeho počítače (pravým tlačítkem myši příkaz "Uložit odkaz jako...")". No jasně, takže nejsem jediný, komu ten klíčový formulář nejde stáhnout. Tak na něj klikám pravou myší a stahuji PDF na můj disk. Pak na něj dvakrát kliknu, aby se otevřel v systémovém prohlížeči Evince a co nevidím:


Pokud tomu dobře rozumím, tak má VZP na svém webu poškozený PDF, nebo PDF obsahující tady tu Please wait stránku místo skutečného formuláře? WTF? Tak jsem jim  bleskově napsal nevybíravý mail. Hned po jeho odeslání, kdy už to nejde vrátit, jsem dostal klasické Déjà vu - totéž se přece dělo loni, a taky jsem jim napsal,  že jsou úplní mantáci, když nemají na webu funkční formulář! A oni mi ho pak s omluvou poslali mailem... a ani ten stále nešel otevřít.

Abych vyloučil neblahý vliv svobodného operačního systému na toto kruté PDF, přihlásil jsem se opět vzdáleně na Windowsový stroj v kanceláři a zkusil to PDF otevřít tam. Stále ani ťuk, stejná stránka Please wait bla bla bla. No, zkrátím tuhle smutnou story - nakonec mi nezbylo než si dočíst tu PDF stránku s error hláškou až do konce - a oni tam píší, že musím mít Adobe Reader! Proboha na co? Vždyť produkty Adobe jsou dnes největší díry do systémů, kudy denně proudí malware desítkami známých a přesto neopravených chyb! Jen blázen by měl něco podobného na počítači.

No ale daně jsou daně, těm člověk neunikne, takže nakonec otevírám to dokumentem doporučené URL adobe.com/go/, kde se ale dovídám, že můj operační systém má smůlu (nebo spíš štěstí, jak se to vezme) a produkt Reader pro něj firma Adobe nenabízí. Takže znovu vzdáleně do kanceláře, zavirovat si dobrovolně pracovní stroj s Windows instalací Adobe Readeru a konečně otevřít to 53 kB PDF. Kupodivu je v tom souboru skutečně ukrytý i ten formulář pro VZP, ne jen ta pitomá chybová Please wait stránka. To jsem teda ještě s PDF nezažil.

Po vyplnění formuláře nastává další nečekaný zádrhel. Tisk z Adobe Readeru je sice v pohodě možný, ale vzhledem k tomu, že sedím doma a formulář jsem vyplnil v práci, tak to můžu vytisknout akorát tak v práci. No jo, ale já ten papír potřebuji doma... Vyplněné PDF je pořád prokleté, tj. stále nejde otevřít v jiném prohlížeči. Musím ho vytisknout na Windows chtě-nechtě. Takže nebudu tisknout na papír, ale vytisknu to přes virtuální tiskárnu do souboru, ten si přenesu domů a doma vytisknu na papír. OK.

Windows 8.1 ve výchozím stavu nabízejí tisk do "Microsoft XPS Document Writer". Na disku vznikne soubor s koncovkou .oxps, ale jak ho na Ubuntu otevřít? Studoval jsem nějakou dobu, co to ten XPS je, dokonce jsem si kvůli němu nainstaloval do mého systému jakýsi xpstopdf, ale výsledkem bylo jen binární smetí. On je ten XPS sice ECMA standard, ale asi vznikl podobně jako jiné podobné microsoftí "open standardy", takže je k ničemu. Musím jít jinou cestou a vytisknout ho ještě na Windows do PDF, které si teprve přenesu domů.

Google poradil, že nejlepší pro tisk ve Windows do PDF je CutePDF writer. Nainstaloval jsem ho tedy do Windows v práci a vytiskl - prázdnou stránku! Tak to je konec. Teď jsem sice mohl ještě nějakou dobu hledat další virtuální PDF drivery do Windows, ale protože jsem se s těmi daněmi mořil už pátou hodinu (!), nakonec jsem vyměkl a všechny své supercitlivé osobní údaje včetně ročního výdělku, adresy, rodného čísla a dalších klíčových údajů odeslal zoufale do Anglie do následující online webové služby: https://xps2pdf.co.uk/, kterou mi doporučil Google. Odtamtud mi obratem přijelo korektní PDF, které už jsem si doma konečně vytiskl jako normální člověk... A teď jen zapomenout, co jsem to udělal, a nepřemýšlet, jak s mými soukromými údaji v Anglii naloží.

Za tohle peklo s formulářem si VZP zaslouží 666 palců dolů. Napsal jsem jim další mail, který si nedají za rámeček. Pro vyplňování formulářů přece není nutné takto sviňsky vynucovat Adobe Reader - PDF formuláře umí pohodlně vyplňovat i Evince a další normální PDF prohlížeče...

Můj závěr z elektronického zpracování a podání daní na Ubuntu bez uzavřených děravých programů třetích stran? Daňový portál Ministerstva financí - jednička s hvězdičkou! Kdybych měl datovou schránku (dobrý sluha, ale zlý pán) nebo tzv. Kvalifikovaný certifikát (dle mého názoru předražený, když ho potřebuju jen 1x za dobu jeho platnosti), celé přiznání včetně jeho podepsání a elektronického podání bych v pohodě udělal za pár minut z tepla domova!

Sociálka - jedna mínus. Nabízí pro můj operační systém jak případný Form Filler, tak ani Javový applet není nikterak nedostupný (stačí použít Firefox). Je jen moje paranoidní volba, že jsem si ani jedno nechtěl nainstalovat a raději použil jiný počítač, shodou okolností s Windows. Šlo by to klidně i pod virtualizovaným Ubuntu, kdybych chtěl ty nedůvěryhodné programy udržet v sandboxu, ale co uživatelé tabletů, phabletů či Chrome booků? Vyžadovat instalaci čehokoliv do HTML5 prohlížeče či dokonce operačního systému je v roce 2015 docela ostuda - EPO2 ukazuje, že to jde i bez doplňků jen v čistém prohlížeči.
I u České správy sociálního zabezpečení je (podobně jako u Portálu Ministerstva financí) pravděpodobné, že s kvalifikovaným certifikátem bych mohl odeslat ten vyplněný formulář elektronicky pohodlně přímo z domova. Opět jen moje volba, že se raději projdu městem a jednou za rok tu paní, co mě má na sociálce na starosti, pozdravím. Vždycky si při tom uvědomím, že to, co jsem vyplnil do formuláře doma je zbytečná práce, protože rozhodují čísla, co jí v sekundě spočítá její systém. My to musíme vyplňovat a nosit tam vlastně jen proto, abychom potvrdili náš poddaný vztah pohůnků k státní vrchnosti.

Ale VZP, to je každopádně kalamita. Zmršený formulář v PDF, který trvá na Adobe Acrobat Readeru a v jiných zobrazuje zlou hlášku, je zásadní překážka. Do Ubuntu se sice dá Reader nainstalovat, ale z principu trvám na tom, že PDF nemá být vázán na jeden konkrétní program a má jít zpracovat v kterémkoliv z lepších PDF prohlížečů, které nejsou děravé jako cedník od Adobe. Přestože to většině lidí s Adobe Readerem nainstalovaným někdy z minula kvůli něčemu jinému bude fungovat naprosto bez problémů, ode mě má VZP za tři až čtyři, protože to PDF je rozhodně nějak poškozené, upozorňoval jsem je na to už před rokem a dodnes to nenapravili. Dokonce ani nenabízejí čistý formulář pro vyplnění propiskou, když je někdo zoufalý bez Adobe. Možnost elektronického podání jsem na VZP už ani nehledal, ale nevylučuji, že s kvalifikovaným certifikátem či datovou schránkou to jde. Nevím. Měl jsem dost i tak - z těch pěti hodin strávených touto akcí připadají více než 3 hodiny jen na vrub VZP!

Předpokládám, že příští rok už budu vědět, kde číhají nástrahy a proběhnu tím minovým polem nikoliv za odpoledne, ale za půl hodiny. Následná procházka rozkvétajícím jarním městem bez kvalifikovaného certifikátu a osobní roznos vytištěných formulářů po úřadech je taková milá třešnička, která mi připomíná, jak před volbami vždycky politici slibují Jednotná inkasní místa a podobné věci, ale nakonec vždy obíhá ovčan, nikoliv lejstro :-)

EDIT: tak jsem se s tím známkováním asi dost sekl - teď mi +Ctirad Feřtr ukázal jakousi webovou aplikaci, proti které ty formuláře výše popsané zblednou závistí a zalezou pod nejbližší kámen.

sobota 16. listopadu 2013

MythTV, VDPAU, Pařízek a kostičky v TV

Nejdřív rozkóduji nadpis: MythTV je skvělý digitální videorekordér, nebo dnes už spíš multimediální centrum, o kterém jsem psal například na Root.cz, české stránky o něm pak provozuji na TVPC.cz.


VDPAU je název pro programové rozhraní, které umožní těžkou a špinavou práci s dekódováním a zobrazováním videa přenechat grafické kartě od firmy NVIDIA (dnes už prý i AMD), která se s tím vůbec nezapotí, na rozdíl od slabého hlavního procesoru, který na opravdu hustá videa (s vysokým bitrate) obvykle nemívá dost sil.

Radim Pařízek je bubeník kapely Citron, který rozjel několik vlastních TV stanic a pro ně navíc i dva pozemní digitální multiplexy, Multiplex 4 a Regionální síť 7.

Kostičky jsou pak jeden z lidových výrazů pro viditelné poruchy v digitálním obraze, kdy se původně celistvý obraz rozpadne do jednotlivých "kostiček" (čtverečků) a různě dlouho různě hrozně zlobí.

No a zajímavé je, že prakticky všechny pořady televizí vysílaných v Pařízkových výše zmíněných multiplexech trpí hrozným kostičkováním v momentech velkých změn obrazu. A že to není silou či kvalitou signálu je možné se přesvědčit například v této velmi dlouhé diskusi. Nečetl jsem ji celou, ale myslím, že správný závěr z ní je, že kostičkování se týká mnoha desítek různých TV a set-top boxů různých výrobců, přičemž Radim sám je určitým způsobem z obliga, protože vysílaný stream je dle MPEG normy - bohužel používá nějaké nastavení kódování prokládaných půlsnímků, které téměř nikdo jiný na světě nepoužívá, takže na něj mnoho různých výrobců digitálních televizí jaksi není připraveno.

MythTV u nás doma nahrává všechny naše oblíbené pořady, hlavně jednotlivé díly televizních seriálů, například SpongeBoba v kalhotách. Ten zrovna běží na TV stanici, která se jmenuje tuším Smíchov a ta je součástí DVB-T multiplexu 4. No a tím pádem bohužel taky kostičkuje. Proto jsem to začal řešit, a jako první jsem se odhodlal k upgrade MythTV z verze 0.26 na aktuální verzi 0.27 doufaje, že to pomůže. Nepomohlo.

Jak jsem výše naznačil, dekódování MPEG proudu zajišťuje grafická karta přes rozhraní VDPAU. Napadlo mě, že třeba pomůže novější NVIDIA ovladač a tak jsem se pustil do upgrade jeho. To bylo poněkud zajímavější, ale aspoň jsem se naučil, že v (X)Ubuntu se na změnu proprietárních ovladačů používá program s názvem "jockey", přičemž kromě obvyklé grafické podoby "jockey-gtk" má také verzi pro příkazovou řádku "jockey-text", která umí vypsat všechny dostupné verze ovladačů ("jockey-text -l"), a také některou z nich vybrat a použít ("jockey-text -e xorg:nvidia_319_updates"). Dále jsem se po několika hodinách bojů naučil, že přestože jockey ukazuje, že je zvolená verze 319, tak pokud je v systému z dřívějška nainstalovaná i jiná verze (např. výchozí 304 v Ubuntu 12.04), tak to pořád nějak zlobí. Řešením je odinstalovat všechny ostatní nepoužívané NVIDIA ovladače. Kupodivu ani nakonec úspěšný upgrade ovladače graf. karty také nepomohl a pořady kostičkovaly dál.

Poslední možnost byla vypnout VDPAU úplně a nechat MPEG video dekódovat jen slabý Atomový procesor. Naštěstí má MythTV možnost volby, pro jaké rozlišení použít jaký dekodér, takže jsem mohl stanice vysílající ve vysokém rozlišení nechat dál grafické kartě, a pouze stanice se standardním rozlišením (PAL 720x756) poslat k dekódování hlavnímu procesoru. No a toto nastavení zázračně vše vyřešilo a kostičky snad definitivně zmizely. Dal jsem si  tu práci a natočil to všechno na videokameru (přepněte si video na celou obrazovku, jinak jsou mé překryvné komentáře bůhví/Googlevíproč nekompletní):


Můj závěr z toho je, že svobodný software (knihovna FFMPEG) zas jednou zvítězil nad dedikovaným hardware v pružnosti, obecnosti a bezchybnosti. Dlouhodobě totiž razím tezi, že nejlepší je mít na všechno počítač s vhodným softwarem namísto různých jednoúčelových krabiček (set-top boxů, DVD přehrávačů atd.), protože svobodný software se zdrojovým kódem se vždy opravuje jednodušeji než proprietární hardware. Samozřejmě v tomto případě je to trošku "přitažené za vlasy", protože i ta grafická karta dekóduje MPEG pomocí software, ale tento je dostupný pouze v binární formě a záleží jen na firmě NVIDIA, jestli si někdy všimne, že Radim Pařízek někde v Evropě nastavil svůj MPEG enkodér poněkud netradičně...

EDIT: 17.11. jsem to nahlásil i v NVIDIA.

úterý 29. března 2011

ASUS M2N VM-DH: uspat a probudit se

Před lety jsem si koupil základní desku do počítače od firmy ASUS, jmenovala se (vlastně ještě pořád se jmenuje, pořád slouží) M2N VM-DH. To DH značí Digital Home a to mě na ní fascinovalo - měla vestavěnou na tehdejší dobu výkonnou grafiku nVIDIA 6150, WiFi a hlavně jako příslušenství měla infračervené dálkové ovládání, které dokonce umělo počítač zapnout z vypnutého stavu! Čili to vypadalo jako skvělý základ pro multimediální stroj (v té době jsem teprve začínal koketovat s představou něčeho, co časem vykrystalizovalo v MythTV).

Ačkoliv v MS Windows se tato deska (resp. počítač na ní postavený) uměla usnout (suspend) a zase se probudit v pořádku, tak v Linuxu se mi to NIKDY nepodařilo. Za celé dlouhé roky, kdy jsem to trápil v různých verzích linuxového kernelu i distribucí, se nikdy neprobudila v pořádku, tj. vždycky buďto vytuhla při probouzení, nebo alespoň byl nefunkční obraz (černá tma, monitor nedetekoval signál). Zkoušel jsem všechny možné triky, ale nikdy jsem to neporazil.

Nedávno jsem si usmyslel, že když je problém po probuzení v grafice, tak ta on-board grafika asi stojí za starou bačkoru a pořídil jsem si výkonnou přídavnou grafiku nVIDIA 210 do PCI-E slotu. Všechno jelo dobře, jen probouzení z uspání se stále nedařilo. Nepomohl ani nejposlednější update BIOSu. Zlomil jsem nad tím hůl.

Teď jsem se ale rozhodl pro akci Kulový blesk, spočívající ve velké rošádě domácích počítačů. Jedním z cílů akce je postavit samostatný MythTV backend a umístit ho někam mimo obytné místnosti, jelikož hluk z Tenoru se mi nikdy nepodařilo zcela odstranit a jak větráky stárnou, a harddisky v MythTV stroji přibývají, hladina hučení/šumění/občas_vrzání se v obýváku pořád zvyšuje a je potřeba s tím už rázně zatočit. Potřebuju tedy postavit samostatný server, ale z čeho?

Opět jsem si vzpomněl na svůj pracovní stroj, který by díky integrované grafice byl skvělý základ pro server hučící někde ve sklepě. Dal jsem mu znovu šanci a snad podesáté ho začal cvičit na uspávání a probouzení. Vzdal jsem probouzení s obrazem - u serveru stejně nebude potřeba, a jal se ho cvičit alespoň na obyčejné, ale spolehlivé probuzení z uspání do paměti, a to magickým paketem poslaným po ethernetové síti.

V nainstalovaném Ubuntu 10.10 se nedařilo vůbec - při probouzení vytuhl celý kernel. V aktuálním Debianu 6.0 jsem probudit mohl, ale pouze tlačítkem Power na skříni - klávesnicí ani po síti se nedařilo. Navíc šlo probudit stroj jen jednou, podruhé už to nešlo, skript pm-suspend zůstal už při uspávání někde viset. Ve starším (ale stále báječném) Debianu 5.0 probouzení tlačítkem Power fungovalo spolehlivě - samozřejmě stále bez obrazu, ale na ten už jsem rezignoval. Bohužel pro nový MythTV 0.24 potřebuji nový Debian 6.0 s nejnovějším Qt... Jak tohle vyřeším? Starý kernel v novém Debianu? To nevypadá dobře...

Dost zoufalý jsem se jal hledat, jak je to s tím probouzením ve světě. Zlatý Google nezklamal a našel nějakého panáčka, který právě tuhle desku naučil uspávat a probouzet se tím, že v BIOSu popadl nastavení "Plug and Play OS installed" a VYPL HO! Velmi nadějná stopa! Ovšem jak ironické - tato volba je v BIOSu kvůli MS Windows 95 (první plug&play OS od Microsoftu), Linux je už mnoho let (někdy od verze 2.4) samozřejmě také plug&play. Nicméně právě tato deska tu volbu pro Linux zjevně potřebuje vypnout - nejspíš ty integrované periférie neumí kernel dodneška pořádně zinicializovat... Nadšeně jsem přenastavil BIOS a zopakoval uspávací triatlon, bohužel bez úspěchu - Ubuntu tuhé rovnou, Debiany se chovaly stejně jako dříve. Jak dál s tím serverem tedy?

Dnes ráno jsem se rozhodl konat i přes stávající nejistotu a začal tím, že jsem vyndal z počítače přídavnou grafiku. Tím jsem ho ale rozlobil natolik, až jsem ztratil obraz i na integrované grafice. Když jsem to zkoumal, zjistil jsem, že ta integrovaná grafika už je tak naštvaná, že vůbec nemluví s novým monitorem přes VESA DDC protokol, nic o něm neví, nezná jeho nádherné Full HD rozlišení, zkouší na něj VGA 640x480, monitor se urazí a obraz není žádný. Musel jsem na ni pořádně kleknout, aby se umoudřila - přes vrácenou externí grafiku jsem z monitoru vymáčkl EDID data, uložil do souboru, /etc/X11/xorg.conf instruoval tak, aby integrovaná grafika načetla EDID data ze souboru, tím pochopila, jak krásný monitor je připojený a tak jsem konečně získal zas normální obraz.

To mě velmi povzbudilo a začal jsem znovu, pojedenácté, zkoušet to uspávání. V nainstalovaném Ubuntu 10.10 jsem do /proc/acpi/wakeup jsem jen tak z voleje naechoval "PS2K", na příkazové řádce zadal "sync; sync; pm-suspend", pomodlil se k bohům výpočetní techniky a odpálil to celé Enterem. Počítač okamžitě usnul, tak jsem vydržel chvíli bez dechu a pak jsem jemně klepl do mezerníku klávesnice - a voilá, počítač se probudil i s obrazem!!! Naprosto neuvěřitelný úspěch po letech beznaděje! Přičemž vlastně vůbec nechápu, co se změnilo oproti minulým pokusům - aha, snad jen to nastavení v BIOSu, Plug&Play OS. Nicméně to jsem přece zkoušel už jednou a nepomohlo to, možná souběh s tou přídavnou grafikou? Nevím, neřeším, nepřepínám a jedu!

Pln euforie jsem zkusil ještě jednu drobnost: naechovat MMAC do wakeup, jestli to náhodou nevyřeší probouzení po síti, když ten PS2K vyřešil probouzení klávesnicí. A fakt, počítač se probudil i magickým paketem jako by se nechumelilo!

Souhrn kroků vedoucích k vysněnému cíli:
1) v BIOSu musí být volba "Plug&Play OS installed: NO"
2) integrovaná grafika musí být v dobré náladě, xorg.conf odkazovat na správná EDID data
3) "echo PS2K > /proc/acpi/wakeup" pro probouzení klávesnicí
4) "echo MMAC > /proc/acpi/wakeup" pro probouzení Wake-on-LAN paketem po síti
5) "sync; sync; pm-suspend", pomodlit a jede to! (v Ubuntu 10.10, Debiany jdu teprve zkusit)

Jsem opojen vítězstvím nad hmotou a nenávistí a kola velkého Kulového blesku se roztáčejí...

neděle 16. srpna 2009

Pokus o organizaci fotek dle EXIF

Nenacházím slušné slovo popisující stav, v jakém mám své digitální fotografie. Hmm, nejbližší z těch publikovatelných je asi entropie, nebo možná spíš anarchie? V minulosti již proběhly pokusy situaci zvládnout - nejdříve snad příhodným pojmenováváním adresářů, později dokonce importem fotek z aparátu přímo do F-Spotu (který má svou databázi a umožňuje fotografie opatřit tagy - ale pak se s nimi dá dál pracovat už jen v něm - běda, jak je člověk přemístí jinam!). Nedávno jsem dokonce nainstaloval Picasu pro linux, ale ještě jsem ji neměl čas ovládnout.

Dnes jsem se proto rozhodl jít cestou drobných, inkrementálních změn a nenápadnou evolucí se dopracovat k lepšímu stavu správy fotografií. Pro začátek jsem se rozhodl všechny ty tisíce souborů přejmenovat tak, aby měly stejnou velikost písmen (třeba velkou) - aby se vůbec daly dohledat a vyřadit duplikáty (protože různé způsoby kopírování či importování fotek různě volily konverzi velikosti písmen z FAT foťáku na ext3 linuxu).

Pro hromadné přejmenovávání souborů jsem v práci vyvinul nějaké bash skripty, ale dnes na mě padla lenost a tak jsem se jal vyhledávat v seznamu balíků pro Ubuntu. Napotřetí jsem vybral GPRename, který v přehledném GUI dovolí vybrat plánovanou změnu názvu souboru (z mnoha možností) a pak i předvede, co se z daného výběru souborů přejmenuje a jak (Preview). Dost dobré.

Takže názvy souborů jsou OK, a teď by to chtělo spravit datumy. Nejlépe samozřejmě tak, aby datum souboru odpovídalo datu vytvoření fotky. Na to jsem odhadem nainstaloval balíček ExifTags, který obsahuje šikovný prográmek intuitivně nazvaný "exiftime". Ten umí čarovat s datem a časem uloženým v EXIF hlavičce JPEG souboru fotky.

Ačkoliv "exiftime" umí krom jiného i opravit čas vytvoření fotky podle času souboru, tak opačná funkčnost mu chybí. Jakmile jsem zjistil, že výstup (časovou informaci) z "exiftime" nepůjde použít v příkazu "touch" bez parsování, začal jsem dumat, jak to naprogramovat - ale pak opět zvítězila lenost a strýček Google mi obratem našel několik možností, z nichž jsem narychlo vybral exif_touch-0.2.tar.gz. Je to jednoduchý perlový skript, který dělá přesně to, co se mi dnes nechtělo skriptovat - opravuje datum a čas souboru podle údajů uložených v EXIF datech fotky...

V další fázi se zřejmě zaměřím na zrušení všech duplikátů (s čímž mi snad pomůže FSlint) a rozdělení té masy fotek dle data do nějak chytře nazvaných adresářů. Nakonec se ale stejně nevyhnu nějakému tagování... na to ale chci nejdříve prostudovat, jestli bude stačit ukládat tagy do poznámek v Exif datech, nebo jestli mě situace donutí poklesnout k nějaké externí databázi (a dostat se zpět tam, kde se mi s F-Spotem nelíbilo).

středa 24. června 2009

HTPC ACPI probouzení

Po týdnu od vypečeného upgrade BIOSu jsem si všiml, že se HTPC vůbec nevypíná, jak má (tj. když nic nedělá). Proč si ovšem zhoršovat uhlíkovou stopu o 80 W každou sekundu a platit E.ONu o 2000 Kč ročně navíc? To se musí opravit...

Ponořil jsem se dovnitř a našel problém v nvram-wakeup, který teď zapisoval do úplně jiných registrů BIOSu, než předtím, a tak místo času probuzení nastavoval přetaktování procesoru či jiné nebezpečné hodnoty. Tohle je bohužel bolest toho přímého zápisu do registrů BIOSu, protože ty se po změně verze BIOSu obvykle přesunou někam jinam.

Osmělil jsem se tedy přejít na metodu o řád modernější, a sice svěřit ošemetnou práci s BIOS NVRAM přímo Linuxovému kernelu, především jeho ACPI. Pokud je totiž použito jádro novější než 2.6.22 a je zaveden správný rtc modul (rtc-cmos), pak existuje virtuální adresář /sys/class/rtc/rtc0/, ve kterém stačí zapsat do souboru wakealarm čas probuzení a je poklizeno (podrobněji).

Nakonec jediným problémkem bylo nahrát ten modul rtc-cmos správně. Nestačilo ho bohužel zapsat do /etc/modules, protože modul rtc se nahrává dřív a ten už nedovolí tomu adresáři /sys/class/rtc/rtc0 vzniknout, přestože rtc-cmos je nahraný taky. Z nedostatku času jsem místo správného řešení (pravděpodobně blacklistováním modulu rtc v /etc/modutils/) vyrobil krutý hack - do /etc/init.d/local jsem prostě zapsal

rmmod rtc
modprobe rtc-cmos

a vše začalo krásně fungovat ("konev šetří vodou").

pátek 29. srpna 2008

Hlásím chyby

Hlavní počítač v bytě bývá obvykle sdílen více uživateli, a dnešní Ubuntu to má (nebo by mělo mít, byla to i moje hlavní motivace přechodu na desktopech od Debianu k Ubuntu) už dobře vyřešeno. Ale i když má každý uživatel svůj vlastní počítač, tak stejně nejspíš chce sdílet data (například dokumenty, fotografie či hudbu) s uživateli ostatních počítačů v daném místě.

Při mé nedávné výjezdní instalaci Ubuntu mě proto překvapilo až zaskočilo, že jsem nedokázal na místě vyhovět požadavku domácích a zkonfigurovat systém tak, aby Nautilus (a ostatní GNOME programy) vytvářel adresáře zapisovatelné i pro ostatní uživatele. To je v podstatě hlavní podmínka pro to, aby si lidé navzájem mohli přejmenovávat a mazat soubory a samozřejmě vytvářet nové soubory či podadresáře. Normálně by mělo stačit nastavit proměnnou umask na hodnotu např. 002 (běžně bývá nastavena na 022), např. na konci souboru /etc/profile a odhlásit se/přihlásit se, ale v Ubuntu Hardy Heron se nedařilo.

Doma jsem si problém ověřil, zjistil jsem, že je jen v GNOME (v shellu změna umask fungovala OK) a rozhodl se přispět k opravě této zjevné chyby jejím nahlášením v Ubuntu Bug Trackeru. Než jsem ji však slepě zadal jako novou, prohledal jsem ostatní nahlášení chyby a tu "svoji" jsem už našel pod číslem 242618. Protože se zdálo, že dosah chyby je podceňován, připojil jsem se do diskuse pod chybovým hlášením a myslím si, že i touto drobností jsem nepatrně přispěl k tomu, že chyba byla nakonec poměrně rychle nalezena a opravena. Pokud si ji chcete ve své instalaci taky opravit, stačí povolit doporučené novinky a nainstalovat balíček "glib2.0". Update 1.září 15:20 - oprava chyby se právě dostala do Hardy Updates, takže se nainstaluje všem sama v rámci instalace bezpečnostních záplat a oprav.

Povzbuzen tímto úspěchem jsem nahlásil další chyby, které potrápí více uživatelů střídajících se u jednoho počítače: jednak zaseknutý a do nekonečna se opakující zvuk naskočení login okna při určitém pořadí přihlašování/přepínaní/odhlašování uživatelů (chyba č.257774, prozatím prohlášena za chybu grafického ovladače, s čímž moc nesouhlasím) a pak taky problém s viditelností VPN spojení při více přihlášených uživatelích (chyba č. 257767).

Proč to sem píšu: chci povzbudit ctěné čtenáře k hlášení chyb v programech, protože tato zpětná vazba je ve světě svobodného software velmi důležitá a hlavně přináší své ovoce! Pokud chybu, která vás trápí, nahlásíte, může být relativně rychle opravena a už vás nikdy trápit nebude. Pokud budete mlčet, můžete doufat, že ji nahlásí někdo jiný za vás, a mezitím jen čekat a doufat - ale pasivní přístup málokdy vede k cíli tak rychle jako vlastní aktivita...

pondělí 14. července 2008

Ubuntu: od Mloka k Volavce

V sobotu se dařilo. Vyzbrojen první opravnou verzí Ubuntu 8.04.1 (Neohrožená volavka) jsem vyrazil na projížďku na kole (nedbaje varování meteorologů, že přijde menší konec světa) a po okružních 30 km jsem dorazil k přátelům, kteří provozovali Ubuntu 6.10 (Smělý mlok) a už dlouho mě volali, abych přijel nainstalovat něco novějšího.

Bez většího úsilí/násilí jsem provedl instalaci na volný diskový oddíl, přičemž jsem využil nabídky instalátoru pro přenos uživatelských účtů z předchozího systému. Po instalaci mě vlastně ani moc nepřekvapilo, že nic nepřenesl (udělal mi to už poněkolikáté), účty jsem založil ručně, zkopíroval ~/.gaim (pro Pidgin) a záložky ve Firefoxu vyexportoval a naimportoval také úspěšně. Vše na první pohled fungovalo, až snad na tiskárnu/scanner Epson Stylus DX 4050, kterou jsem doufal, že Volavka lehce rozjede.

Po chvíli pátrání, proč tiskárna není nikde v systému dostupná, nás napadlo ji zapnout. Ihned se vše nadetekovalo, vše se samo nainstalovalo, otevřelo se velké okno správy tisku, kde bylo vše OK, a k tomu navíc vyskočilo malé okýnko vpravo nahoře, že si máme sehnat nějaký ovladač pro tiskárnu. Byl jsem zmatený (na co ovladač, když už je to nainstalované?), ale poslouchal jsem dobře míněné rady, proklikal se ovladačovým hledátkem a na konci, při výběru z možností "nový ovladač přepíše staré nastavení" a "ovladač načte nastavení z předchozího (DOPORUČENO)" jsem opět kývl na doporučené načtení nějakého nastavení. Ale tiskárna netiskla. Ani scanner nescanoval. Vše mlčelo.

Pro kontrolu jsme přeběhli do systému dodaného s počítačem (ten, co slibuje akorát Okna, zatímco Ubuntu dává celý dům), a tam se tiskárna (po výměně inkoustové náplně) rozhýbala. Vrátili jsme se do Volavky, ale tiskárna nic. Tak jsem si vzpomněl na zlaté pravidlo uživatelů počítačů (když něco nefunguje, první zkusíme vystoupit a nastoupit) a tiskárnu odinstaloval a nainstaloval znovu. Tentokrát jsem ovšem mazaně při volbě ovladače neposlechl doporučené zkopírování nastavení z předchozího čehosi, ale že nový PPD ovladač vše přepíše. A voila (popletení američani píšou viola) - vše se rozjelo, tiskárna se roztiskla, scanner se rozscanoval, nádhera.

Rozloučil jsem se a odfrčel nocí.. Poprvé jsem využil zánovní LED svítilnu na kole, kterou jsem koupil poté, co žárovková zklamala o půlnoci v hustém lese - nutno říct, že na plašení srnek LED blikání fungovalo skvěle. Dojel jsem domů právě včas, když začínal ten slíbený menší konec světa...

středa 9. července 2008

OpenUPSmart opraven

Tak jsem věnoval dva celé večery opravám programu OpenUPSmart, který umí řídit mou domácí Blackout Buster UPS. Používal jsem ho v Debianu už několik let, a vždycky mě štvalo, že každých pár sekund vysype na terminál nějaké ladicí hlášky o napětí a kmitočtu v elektrické síti, takže práce v konzoli byla prakticky nemožná. Ovšem nikdy jsem se nedonutil ho opravit - až teď, s přechodem na Ubuntu, jsem si řekl, že by bylo dobré to konečně vyřešit.

Když jsem se v programu po chvíli rozkoukal, nevěřil jsem vlastním očím, kolik chybiček tam jeho autor nasekal. Na to, že je to verze 1.0 a že na to už 4 roky nesáhl, je to opravdu žalostné. Připomnělo mi to, že člověk se musí pořád snažit psát co nejlepší kód, aby si v Open Source světě neutrhl ostudu. Tím ale autora nechci nijak hanit - pořád je lepší vydat program pod licencí GNU GPL, která umožní dalším lidem program opravit a vylepšit, než vydat jen binární balíček, anebo dokonce nedat nikomu nic a nechat si všechno jen sám pro sebe.

Nakonec mi ta oprava zabrala víc času, než jsem čekal, protože jsem nacházel další a další drobnosti. Chtělo by to celé přepsat, ale chybí síla a čas, tak to nechám jak to je - teď to funguje OK a to je dobře. Změny jsem poslal autorovi, ale nečekám, že jakkoliv zareaguje (je to už přecejen dlouho a nejspíš už sám má úplně jinou UPS), takže jsem je poslal jako patch i k tomu projektu na SourceForge.net. A zájemcům můžu poslat binární balíček pro Debian/Ubuntu.

neděle 6. července 2008

Ubuntu Installfest

Už nejméně dva roky doporučuju všem svým známým a přátelům, aby si na počítače nainstalovali Ubuntu a postupně na něj přešli. Většinou dají na mou dobrou radu a pak se samozřejmě při jakýchkoliv problémech obracejí na mě - načež jsem je vždycky šokoval tím, že já Ubuntu neznám, protože ho nepoužívám - jsem věrný Debianu. Bylo to čím dál trapnější, takže jsem se rozhodl přejít na Ubuntu sám, abych se s tím systémem seznámil a byl tak schopen poradit a pomoci ostatním.

V pátek jsem instaloval Ubuntu na svůj nový stroj v práci (64bit, kvůli 4 GB RAM) a v sobotu/neděli jsem se o totéž pokoušel doma - jak na svém pracovním stroji, tak i na HTPC v obýváku. Sobota padla skoro celá na obývák - MythTV jsem sice nerozjel v daném čase ani s pomocí Mythbuntu (nějaké hloupé problémy s mysql-server-5.0, které jsem nakonec vyřešil mnoha odinstalacemi a reinstalacemi a ruční změnou root hesla pro mysql), ale za to jsem si užil pixel-perfect obrazu a znovu si připomněl, jak se dělá těch 1360x768 na LCD TV - o tom podrobněji ale až jindy. A nakonec jsem úspěšně shlédl i Transformers v HDTV a s DTS zvukem, sice přes Mplayer a nikoliv MythTV (0.21 ještě nemá nějakou klíčovou opravu v ffmpeg knihovnách pro korektní DTS passthrough), ale i tak to byl skvělý zážitek.

Desktop na pracovním stroji jsem zvládl poměrně rychle, přenesl jsem úspěšně i konfigurace Evolutionu, Pidginu a VPN, ale pak jsem zabředl do opravy nastavení DNS v PPTP VPN přes NetworkManager a úplně jsem se v tom na půl dne zasekal. V Debianu mi to funguje OK, ale v Ubuntu je všechno jinak (kupodivu, vždyť Network Manager i resolvconf je stejný, jsem si myslel), takže i když PPP po mé úpravě /etc/ppp/ip-up.d/0dns-up správně přidá "search " do /etc/resolv.conf, tak následně někdo (nejspíš NetworkManager) zahodí celý resolv.conf a přepíše to jiným podle sebe. A ještě nevím, odkud ho generuje a proč po svém, takže jsem to zatím nevyřešil. Napadá mě peprné slovo, ale nechám si ho na jindy...

Teď navečer jsem se pokusil v novém Ubuntu desktopu udělat pár nejzákladnějších věcí, ale všechny mě v podstatě vypekly: nejdřív se po připojení foťáku otevřely hned dva různé dialogy, jestli má načíst fotky a odkud (tuhle chybu jsem už před lety nahlásil), pak F-Spot sežral 100% CPU na stahování fotek z foťáku (to přece není normální) a nakonec, když jsem pak ty fotky přesunul do jiného adresáře a F-Spot znovu spustil, tak beznadějně vytuhl při pokusu o zobrazení metadat - hledal ty fotky na původním místě (asi má nějakou databázi, to jsem netušil) a když nenašel, tak zešedivěl a nešlo nic. Po zabití z něj zbyla dokonce zombie. No a pak jsem v Braseru zkusil vypálit pár MP3 do Audio CD a to vytuhlo už při načítání MP3 (několikrát, nakonec se to asi napopáté povedlo) a pak ještě odmítal pálit s nějakou podivnou chybou, kterou jsem nakonec taky nějak ukecal vytrvalýma pokusama znovu a znovu o totéž. Upřímně řečeno je to prakticky nepoužitelné. Nevrátím se znovu k Debianu? Zkusím ještě chvilku vydržet se zaťatým zubem...

P.S. swsusp mi v Debianu s kernelem 2.6.22 funguje skvěle, usínání na disk (s2disk, jinak známé asi jako Hibernace) je na 100% a probouzení stačí pohnout myší nebo ťuknout do kláves - pohoda jazz. V Ubuntu (kernel 2.6.24-19) hibernace nefunguje vůbec (vytuhne při ukládání, rozpadne se obraz), ale za to překvapivě perfektně funguje Suspend (asi s2ram v řeči swsusp, ale v Debianu mi to nefunguje). Má to jedinou vadu - neprobudí se na stisk klávesy nebo pohyb myši. No je tohle normální?