ВСТАНОВЛЮВАТИ СКАНЕРА У GNU / LINUX
НА ПРИКЛАДІ EPSON PERFECTION 1270
ДЛЯ Debian 4.0 Etch і openSUSE 10.2
Практичний посібник (версія 3.2)
Установка і настройка сканера в операційній системі GNU / Linux має особливості в порівнянні з MS Windows. Це пов'язано не з вадами архітектури GNU / Linux, а з тим, що виробники сканерів тримають в секреті алгоритми роботи своїх пристроїв. При продажу сканери комплектуються, як правило, тільки драйверами для MS Windows (іноді - також для MacOS), які йдуть в бінарному вигляді. Тому написання драйверів під GNU / Linux вдає із себе непросту задачу для ентузіастів цієї операційної системи: потрібен якийсь час, для того, щоб усвідомити принцип дії того чи іншого сканера і написати драйвер. Для більшості новітніх моделей сканерів взагалі немає драйверів під GNU / Linux, або вони не надають повної функціональності. Має сенс перед придбанням сканера упевнитися, що він буде працювати також і під GNU / Linux, відвідавши відповідну сторінку проекту Sane (розшифровується Scanner Access Now Easy, що можна перевести приблизно як "сканувати тепер легко"), що забезпечує підтримку сканерів в GNU / Linux.
Для сканерів, продажі яких почалися 1-3 роки тому, драйвери вже написані і надають в більшості випадків хорошу функціональність під GNU / Linux - особливо якщо модель сканера набула широкого поширення. Однак ряду сканерів для функціонування необхідно так зване "фірмове програмне забезпечення" (firmware) - особлива бінарна програма, яка завантажується в пам'ять сканера на початку роботи ( "бінарник". Іноді її називають також "прошивка"). Проблема полягає в тому, що такі бінарники поширюються виробниками сканерів під особливими пропрієтарними ліцензіями і, як правило, не можуть бути включені до складу дистрибутивів GNU / Linux як частина соотвествующих драйверів сканерів. Тому в більшості випадків потрібна додаткова настройка драйвера сканера в GNU / Linux, чому і присвячена ця замітка.
З'ясовуємо, чи встановлені в системі пакети sane і xsane. В консолі в режимі суперкористувача вводимо команду:
Для кожного пакету дивимося рядок "Стан". Якщо пакети вже встановлені, отримуємо повідомлення про це (перегортаємо інформацію клавішею "пробіл"). В іншому випадку інсталюємо їх командою:
Далі переконуємося, що система бачить сканер. Вводимо команду:
У цьому переліку сканер йде в першому рядку. Важливим параметром є його ідентифікатор (ID), який в даному випадку має значення 04b8: 0120. Перше число (до двокрапки) дає код фірми-виробника (англ. Vendor-ID), друге - код самого пристрою (англ. Product-ID). Потрібно запам'ятати ці значення, вони будуть важливі при подальшій настройці.
Інший спосіб повинен підтвердити, що сканер бачить не просто операційна система, але і пакет sane. Для цього вводимо команду sane-find-scanner і отримуємо наступне повідомлення:
Виділена напівжирним рядок показує, що знайдений сканер і видає ті ж коди для нього, що і команда lsusb.
Як відповідь буде список тих додаткових модулів (backends) до sane. в яких є підтримка даного сканера. У нашому прикладі - це модуль SnapScan. версії якого, починаючи з 1.4, "добре" підтримують цей сканер.
Примітка. Вибір правильного додаткового модуля (backend) вкрай важливий, оскільки в разі помилки можна завдати непоправної шкоди сканера.
Більшість цих модулів знаходяться в пакеті libsane. але для деяких сканерів потрібно буде додатково роінсталліровать пакет libsane-extras (докладніше подивитися його опис можна командою aptitude show libsane-extras).
Переходимо до рядка, в якій дана докладна інформація про наше сканері (Epson Perfection 1270). Тут важливим є те, що для коректної роботи сканер вимагає попереднього завантаження в свою пам'ять спеціального бінарного програмного забезпечення (firmware), яке йде на диску разом зі сканером і являє собою файл під назвою esfw3e.bin:
Де взяти цей файл? В даному випадку - для нашого конкретного прикладу - можна завантажити esfw3e.bin з нашого сайту. Для інших сканерів має сенс спочатку пошукати бінарники в інтернеті, в разі невдачі - шукати на фірмовому диску. На жаль, не завжди вони присутні на диску явно - іноді вони доступні лише після інсталяції в операційній системі MS Windows, як правило - в директорії C: \ Windows \ System32. У разі гострої необхідності можна провести інсталяцію драйвера сканера в віртуальній машині з встановленою там MS Windows або в емуляторі wine. а потім витягти звідти бінарник.
Але як налаштувати потрібний нам модуль (backend) навіть при наявності бінарники? Первинну інформацію про модуль можна знайти в його довідці sane. задавши команду:
При описі модуля з нашого прикладу (snapscan) в керівництві йдеться про те, що він підтримує конкретний тип сканерів (AGFA SnapScan flatbed scanners). Пропонується для більш докладної інформації подивитися сторінку керівництва самого модуля. Що і робимо командою
Там можна прочитати, що конфігураційний файл даного модуля - /etc/sane.d/snapscan.conf і в ньому треба зробити кілька виправлень: вказати тип сканера (у нас - USB) і місце розташування бінарники. Бінарник пропонується розміщувати в директорії / usr / share / sane / snapscan /. Створимо таку директорію і скопіюємо в неї бінарник за допомогою наступних команд:
Зауважте, при цьому на файл esfw3e.bin виставлені такі права:
Переходимо до виправлення конфігураційного файлу snapscan.conf. Попередньо робимо його резервну копію:
Перш за все потрібно змінити таку строчку:
Після слова firmware потрібно вписати реальні шлях і назву нашого бінарники. Оскільки ми скопіювали його в директорію / usr / share / sane / snapscan /. то в цьому рядку треба лише замінити фіктивне ім'я your-firmwarefile.bin на ім'я нашого бінарники - esfw3e.bin. В результаті отримуємо наступний варіант цього рядка:
Налаштування завершено, але поки що зі сканером можна працювати тільки в режимі суперкористувача, що соответстсвует жорсткої політики безпеки дистрибутива Debian, а не зовсім зручно на звичайному робочому столі. Щоб дозволити роботу зі сканером рядовим користувачам, додаємо їх в групу scanner. Це можна зробити в консолі в режимі суперкористувача наступними командами:
Наприклад, для користувача, що має логін dmitry.
Виходимо з режиму суперкористувача і перевіряємо під конкретним користувачем, чи відбулося додавання в групу scanner. давши команду groups:
Примітка. Якщо Ви працювали не в текстовій консолі, а в консолі графічного середовища (наприклад, konsole в KDE), потрібно вийти з графічного середовища і знову увійти, щоб зміни вступили в силу.
Перевіряємо прив'язку модуля до сканера:
Якщо Ви бачите подібну напис - значить, сканер і його додатковий модуль успішно ідентифіковані, можна переходити до сканування. Опис деталей цього процесу і корисні поради Ви можете знайти на сторінці "Сканування в GNU / Linux на прикладі Epson Perfection 1270". В іншому випадку (якщо scanimage нічого не знаходить) потрібно внести додаткові зміни в конфігураційний файл допоміжного модуля.
Налаштування сканера в openSUSE дозволяє використовувати специфічний для цього дистрибутива графічний конфігуратор, що може бути психологічно звичніше для користувачів, лише недавно пересіли з MS Windows.
Перевіряємо, що в системі встановлений пакет для роботи зі сканером sane і графічна оболонка до нього xsane
Вводимо в консолі в режимі суперкористувача команди:
Якщо пакети не встановлені - встановлюємо їх (Меню -> Система -> YaST -> Управління програмним забезпеченням).
Потім підключаємо сканер до комп'ютера. З'являється інформаційне вікно, в якому пропонується налаштувати сканер (див. Рис. 1).
Мал. 1.Інформаціонное вікно при підключенні нового сканера до комп'ютера
Якщо вікно не з'явилося автоматично, перевіряємо, чи бачить система наш сканер: задаємо в консолі команду lsusb. Якщо є рядок з назвою нашого сканера (як в даному випадку: Seiko Epson Corp.), запускаємо програму його налаштування вручну: Меню -> Система -> YaST -> Обладнання -> Сканер.
Відбувається пошук сканерів. Сканер виявляється системою, але виявляється не налаштований (див. Рис. 2).
Мал. 2.Сообщеніе про те, що сканер знайдений, але не налаштований
Натискаємо "Редагувати", вибираємо з двох запропонованих драйверів для Epson Perfection 1270 той, у якого написано: "Потрібно вивантаження прошивки. Драйвер snapscan (пакет sane) забезпечує хорошу функціональність" і натискаємо "Далі" (рис. 3).
Мал. 3.Вибіраем працюючий варіант драйвера для сканера Epson Perfection 1270 (драйвер snapscan)
З'являється попередження про те, що прошивку треба взяти з Windows-драйвера і подивитися інструкцію з налаштування через команду "man sane-snapscan" (рис. 4).
Мал. 4.Предупрежденіе про необхідність установки бінарної прошивки
В результуючому вікні тепер видно як і раніше ненастройнний наш сканер Epson Perfection 1270 і ненастроєного драйвер snapscan. який буде підтримувати сканер, якщо ми знайдемо і встановимо прошивку (тобто висвічуються окремо потрібний нам сканер - але без драйвера, і потрібний нам драйвер - але не асоціювання зі сканером) - див. рис. 5.
Мал. 5.Драйвер і сканер поки ще не налаштовані - потрібно прошивка
У цьому вікні, тим не менш, є цінна інформація для подальшої настройки драйвера: vendor ( "виробник"): 0x04b8, product ( "модель"): 0x0120. Ці відомості треба запам'ятати. Поки можна закрити це вікно.
Тепер треба десь знайти "прошивку" (завантажується в пам'ять сканера бінарник) і пов'язати з нею наш драйвер snapscan. Зазвичай бінарник має розширення .bin.
Для деяких сканерів ці бінарники включені в пакети iscan. iscan-firmware і iscan-proprietary-drivers. які поставляється з openSUSE 10.2. Щоб дізнатися, чи є там бінарник для бажаної моделі сканера, потрібно всього лише подивитися опис цього пакета в YaST (Меню -> Система -> YaST -> Управління програмним забезпеченням. Потім "Пошук": ім'я пакета, див. Закладку "Опис") - див. рис. 6.
Мал. 6.Інформація про моделях сканерів, бінарники для яких представлені в пакеті iscan
Якщо бінарник потрібного сканера представлений в пакеті, встановлюємо пакет.
Якщо доступу до комп'ютера з встановленою на ньому MS Windows і інсталювати там сканером необхідної моделі немає, то залишається шукати бінарник або на інсталяційному CD (але там він представлений в явному вигляді далеко не завжди), або в інтернеті. Для Epson Perfection 1270 бінарники прошивки на інсталяційному CD в явному вигляді немає, його можна завантажити звідси: esfw3e.bin.
Після того, як знайдений необхідний бінарник необхідно відповідним чином налаштувати драйвер snapscan з програми sane. який буде забезпечувати роботу нашого сканера. Докладну інструкцію можна прочитати, набравши в консолі: З інструкції слід, що треба скопіювати бінарник esfw3e.bin в директорію / usr / share / sane / snapscan і при цьому змінити конфігураційний файл /etc/sane.d/snapscan.conf. Все це необхідно зробити з правами суперкористувача: Копіюємо бінарник esfw3e.bin у вказану директорію: Про всяк випадок, зберігаємо первинну версію конфігураційного файлу snapscan.conf під ім'ям snapscan.conf.back. Редагуємо snapscan.conf. Необхідно рядок відредагувати так: і в кінці файлу додати такі рядки щодо нашого сканера (інформацію про виробника і моделі ми запам'ятали трохи вище): Зберігаємо файл (Ctrl-S). Виходимо з нього.
Запускаємо знову Меню -> YaST -> Обладнання -> Сканер. Отримуємо налаштований на драйвер snapscan сканер Epson Perfection 1270 (див. Рис. 7).
Мал. 7.Настроенний сканер Epson Perfection 1270 під openSUSE 10.2
Тепер сканер повністю налаштований. Можна переходити до сканування. Опис деталей і корисні поради Ви можете знайти на сторінці "Сканування в GNU / Linux на прикладі Epson Perfection 1270".