Jak v Linuxu zprovoznit skener

Mám asi dva roky starý skener, jehož zprovoznění jsem zhruba popsal na abclinuxu.cz. Člověk zapomíná, mění distribuce, čímž se startovní podmínky stále mění. Takže tedy znovu, pořádně a polopatě. Co dělat se skenerem, když ho připojíte, a ono nic?

(Poznámka: používám Kubuntu.)

Nechtěl jsem nejprve řešit něco v příkazové řádce, protože jsem chtěl zjistit, jak to bude fungovat uživateli, který neví, jak na to. (Přesto se nejprve podívejte na poznámku na konci textu.) Jako první logický krok mi připadlo spuštění aplikace pro skenování, což je v Kubuntu a KDE obecně Kooka. Podle mého názoru se jedná o jednu z nejvyzrálejších aplikací, která má ten klad, že je univerzální – funguje pro všechny skenery. Takže jsem ji tedy spustil.

Spuštění Kooka

Zobrazila se plocha okna, zapátral jsem po něčem, co by mě navedlo k tomu, že je skener funkční. Nebyl:

Kooka: Skener nenalezen

S tím se dá počítat, protože k zařízením, jako je právě skener, je třeba firmware. Firmware je software, bez nějž zařízení obvykle nefunguje, je to jakýsi šém, bez nějž to nejde. Takže aplikace v Linuxu bez něj obvykle nefungují, protože výrobci hardwaru nedodávají programy přímo pro Linux. Proto se firmware použije z programu pro Windows, nicméně je nutné, aby linuxový program s firmwarem pracoval. Ne vždy je to ideální. Ale vývoj jde kupředu, mnoho dobrovolníků věnuje hodně času „rozkódování“ firmwaru.

Program, který umí použít firmware, je SANE (Scanner access now easy, tedy něco jako „Snadný přístup ke skeneru“). Proto je nutné nainstalovat nejprve ten. Pokud byste chtěli zjistit, zda ho máte v systému a vyzkoušeli to jeho spuštěním, asi nepochodíte.

Sane nelze spustit

Jednak ho pravděpodobně nainstalovaný nemáte, jednak to není program, který by měl spouštět uživatel, je to knihovna. Tj. jakýsi soubor (soubory), který je načten do paměti programem, jako je třeba Kooka. Ten pak používá funkce, které jsou v něm uloženy. Nic pro uživatele, to je věc programátorů.

Takže jak jej nainstalovat? Přece normálně, jako každý jiný program. Přes hlavní nabídku zvolte Přidat/odstranit programy, zadejte heslo a v programu Adept si vyhledejte řetězec „sane“ ve všech repozitářích.

Instalace SANE

Jak vidíte, nalezeno bylo pouze XSane, žádné sane zde není. To ale neznamená, že jej není možné nainstalovat. Spusťte tedy přes hlavní nabídku Systém/Manage packages (Adept Manager) Adept v jiném režimu. Uvidíte seznam balíčků nainstalovaných i nenainstalovaných. Opět zadejte do vyhledávací řádky „sane“. Objeví se seznam, v něm vyberte balíček, v jehož názvu je „sane“ a „sane-utils“, zaškrtnou se i další nezbytnosti. Pak již jen stačí stisknout ikonu Apply changes, proběhne stažení balíčků a aplikace se nainstaluje.


Instalace SANE

Poznámka: na obrázku jsou balíčky SANE už nainstalované.

Alternativa: v příkazovém řádku zadejte:

sudo apt-get install sane sane-utils

Po nainstalování spusťte znovu program Kooka. Dočkáte se pravděpodobně stejného stavu a stejné informace jako prve. Asi zkusíte spustit program XSane, který najdete ve stejné nabídce, a budete doufat, že ten vám pomůže.

Sane nepomůže

Nepomůže, ohlásí chybu. Čím to? Je to tím, že stále nemáme onen firmware. Proto je čas vydat se na stránky SANE, jak nám Kooka radila.

Stránky SANE project

Zde klikněte na odkaz Supported devices, tedy Podporovaná zařízení.

Vyhledání v podporovaných zařízeních

První odkaz je Scanner Search Engine, tedy „vyhledání skeneru“. Klikněte na něj. Zobrazí se formulář.

Vyhledání modelu

Zadejte do políček název výrobce a model svého skeneru. Poté stiskněte Search. Zobrazí se rozsáhlá tabulka, ve které najděte svůj model. Dá to možná chvilku práce.


Výsledky vyhledávání

Tabulka je členěna tak, že více modelů (v pravé částí) je zastřešováno jedním typem firmwaru, který je zobrazen vlevo (modrý rámeček). Až najdete svůj model, klikněte na odkaz vedoucí k firmwaru, v mém případě gt68xx. Tam je opět tabulka s podporovanými modely. Je to tím, že se jedná o samostatný projekt, který není součástí SANE, ačkoliv pomocí něj pracuje a bez něj asi nemá smysl. SANE totiž pochopitelně používá i jiné takové externí moduly. Zde tedy opět hledejte svůj model; až jej naleznete, v pravé části výpisu je soubor s firmwarem pro skener.


Výsledek hledání modelu

Poznámka nám také leccos napoví, zde stojí, že „Pracuje, ale pomalu“. Je to sice pravda, nicméně na funkčnosti to programu nijak neubírá. Stáhněte tedy soubor s firmwarem, v mém případě to byl A2Nfw.usb. Co s ním dál? Instrukce se skrývají pod tabulkou v sekci Getting the firmware. Ve zkratce řečeno: získaný soubor se musí nakopírovat do adresáře na vašem systému, kde jej najde knihovna SANE. Ten adresář je /usr/share/sane/gt68xx/. Abyste jej tam mohli nakopírovat, musíte mít superuživatelská práva, tedy chvíli pracovat jako uživatel root.

To lze udělat více způsoby, například následovně. Spusťte si Konsoli a zadejte sudo mc. Po zadání hesla se spustí Midnight Commander. Pokud jej v systému nemáte a dočkáte se hlášky command not found, hledejte v hlavní nabídce položku, která vám umožní pracovat jako root v (nějakém) správci souborů např. Krusaderu. Nebo si nainstalujte Midnight Commander podle návodu výše. Pak už zbývá soubor nakopírovat do výše zmíněného adresáře.


Kopírování souboru do adresáře

Už se blížíme ke konci. 🙂 Poslední může být test přítomnosti skeneru – není nutný, ale je praktický. Ukončete v terminálu MC, nebo si jej spusťte, pokud jste jej dosud nepoužili. V Konsoli zadejte příkaz scanimage -L, výsledek by měl být podobný tomuto:

device `gt68xx:libusb:001:008' is a Mustek BearPaw 2448 TA Plus flatbed scanner

Teoreticky nic už nebrání použití skeneru. Samozřejmě se ujistěte, že je v zásuvce a že je připojen k USB portu. Skener sám se aktivuje v okamžiku, kdy spustíme ovládací program (ano, je to činnost firmwaru). Takže spusťte opět Kooka, měli byste vidět něco podobného:

Kooka: skener nalezen

A můžeme skenovat. 🙂


Kooka: skenování

Připomínám ještě alternativní program, na který jsme už narazili: XSane. Je propracovanější a nabízí více možností než Kooka. Na druhou stranu je potřeba při práci s ním více přemýšlet, nastavit kontrast, jas, gama a další věci. Například se mi moc nedařilo naskenovat smysluplně negativ snímku.


XSane


Poznámka. Pro zjištění, zda systém skener vůbec vidí, lze použít program lsusb. Výstup z něj vypadá nějak takto:

Bus 005 Device 001: ID 0000:0000
Bus 004 Device 001: ID 0000:0000
Bus 003 Device 001: ID 0000:0000
Bus 002 Device 001: ID 0000:0000
Bus 001 Device 008: ID 055f:021a Mustek Systems, Inc. BearPaw 2448 TA Plus
Bus 001 Device 007: ID 046d:c016 Logitech, Inc. M-UV69a Optical Wheel Mouse
Bus 001 Device 001: ID 0000:0000

Pokud by tam skener nebyl, je zrada někde jinde a celý zde popsaný postup asi nebude fungovat. Je nejprve nutné skener „zviditelnit“ knihovně libusb, která obhospodařuje USB zařízení v systému. Není to zas tak triviální, pro normálního člověka neřešitelné, protože to prostě musí fungovat samo a hned. Například DVB-T „karta“, kterou jsem si koupil, zatím podporu v systému nemá, a proto ji ve výpisu lsusb ani neuvidíme. Takže v Linuxu (zatím) nefunguje.