Подключение сканеров Epson

From Salix OS
Jump to: navigation, search

Некоторые модели сканеров фирмы Epson не поддерживаются SANE — интерфейсом программирования приложений (API), используемого в операционной системе Linux для подключения сканеров. К счастью, для таких сканеров существует неофициальная поддержка компании-производителя Seiko Epson Corporation и других разработчиков, в виде программы Image Scan! for Linux (iscan), работающей совместно с SANE.

В статье описан опыт подключения сканера Epson Perfection V33 в ОС Linux Salix OS (основана на Slackware) 13.1.2, 13.37, 14.0, i486, Xfce.

Contents

Загрузка программ

Находим свою модель сканера на официальной странице поиска Image Scan и скачиваем архивы:

  • Саму программу "iscan_<номер версии>.tar.gz".
  • Данные для iscan: "iscan-data_<номер версии>.tar.gz".
  • Плагин (не для всех моделей сканеров он необходим). В данном примере "esci-interpreter-perfection-v330-<номер версии>.i386(x86_64).deb" (для способа сборки пакета 1) или esci-interpreter-perfection-v330-<номер версии>.i386(x86_64).rpm (для способа 2). Для сканера, который использует плагин "esci-interpreter" или "iscan-plugin", не нужен пакет "iscan-data".

Сборка пакетов

Собираем в пакеты, используя скрипты SLKBUILD.

Примечание: в случае сборки программ с другими номерами версий, в строчках скрипта "pkgver=" и "source=" необходимо подставить соответствующие цифры.

Iscan

При установке этого пакета, автоматически добавляется строчка "epkowa" в файл /etc/sane.d/dll.conf.

pkgname=iscan
pkgver=2.29.1
pkgrel=111
source=("iscan_$pkgver-5.tar.gz")
options=("nosrcpack")
docs=("authors" "copying" "changelog" "install" "news" "readme")


slackdesc=\
(
#|-----handy-ruler------------------------------------------------------|
"iscan (\"Image Scan! for Linux\" - drivers for Epson scanners)"
"Image Scan! is a graphical scanner utility for people that do not"
"need all the bells and whistles provided by several of the other"
"utilities out there (xsane, QuiteInsane, Kooka)."
"At the moment it only supports SEIKO EPSON devices.  However, the"
"device driver it provides can be used by any other SANE standard"
"compliant scanner utility."
""
"Homepage: http://download.ebz.epson.net/dsc/search/01/search/?OSC=LX"
)


build() {
        cd $startdir/src/$pkgname-$pkgver

        # for Slackware 14.0
        export LDFLAGS="${LDFLAGS} -ldl -lpng14"

        ./configure \
           --prefix=/usr \
           --libdir=/usr/lib${LIBDIRSUFFIX} \
           --localstatedir=/var \
           --sysconfdir=/etc \
           --mandir=/usr/man
        make || return 1
        make DESTDIR=$startdir/pkg install
	
	# copy desktop file
	mkdir -p $startdir/pkg/usr/share/applications
	cp $startdir/src/$pkgname-$pkgver/iscan.desktop $startdir/pkg/usr/share/applications/
	
	# copy epkowa.conf file
	mkdir -p $startdir/pkg/etc/sane.d
	cp $startdir/src/$pkgname-$pkgver/backend/epkowa.conf $startdir/pkg/etc/sane.d/
}


doinst() {
         # enable the 'epkowa' backend
         echo "epkowa" >> /etc/sane.d/dll.conf
}

Iscan-data

pkgname=iscan-data
pkgver=1.16.0
pkgrel=111
arch=noarch
source=("iscan-data_$pkgver-3.tar.gz")
options=("nosrcpack")
docs=("authors" "copying" "changelog" "install" "news" "readme")


slackdesc=\
(
#|-----handy-ruler------------------------------------------------------|
"iscan-data (data of the \"Image Scan! for Linux\")"
"Provides the necessary support files for \"Image Scan! for Linux\""
"(drivers for Epson scanners),"
"including device information and policy file generation logic."
""
"Homepage: http://download.ebz.epson.net/dsc/search/01/search/?OSC=LX"
)


build() {
        cd $startdir/src/$pkgname-$pkgver

        ./configure \
           --prefix=/usr \
           --libdir=/usr/lib${LIBDIRSUFFIX} \
           --localstatedir=/var \
           --sysconfdir=/etc \
           --mandir=/usr/man
        make || return 1
        make DESTDIR=$startdir/pkg install
}

Esci-interpreter

Плагин для сканеров Epson Perfection V33, V330, GT-F730, S630.

Способ 1
pkgname=esci-interpreter-perfection-v330
pkgver=0.1.1
pkgrel=111
arch=("i386" "x86_64")
source=("esci-interpreter-perfection-v330_$pkgver-2_i386.deb")
options=("nosrcpack")


slackdesc=\
(
#|-----handy-ruler------------------------------------------------------|
"esci-interpreter-perfection-v330 (Plugin for the Iscan)"
"Plugin for the GT-F730/S630 and Perfection V33/V330 Photo"
"This plugin converts between the native protocol of the supported"
"devices and the ESC/I protocol.  The latter protocol is supported"
"by the SANE 'epkowa' backend, part of Image Scan!, and some other"
"SANE backends.  However, only the 'epkowa' backend provides the"
"hooks needed to use this plugin."
""
"Homepage: http://download.ebz.epson.net/dsc/search/01/search/?OSC=LX"
)


build() {
        cd $startdir/src

        ar x *.deb
        tar xf data.tar.gz

        cp -r usr $startdir/pkg/
        mv $startdir/pkg/usr/share/doc $startdir/pkg/usr/
}


# doinst() {
######### iscan-registry --add interpreter usb 0x04b8 0x0142 /usr/lib/esci/libesci-interpreter-perfection-v330
#         mkdir -p /var/lib/iscan
#         echo "interpreter usb 0x04b8 0x0142 /usr/lib/esci/libesci-interpreter-perfection-v330" \
#         > /var/lib/iscan/interpreter
# }
Способ 2

RPM-архив конвертируем в TGZ-архив утилитой "rpm2tgz", которую можно установить менеджером пакетов Gslapt. Выполняем (root):

rpm2tgz -d -n esci-interpreter-perfection-v330-<номер версии>.i386(x86_64).rpm

Настройка

Подключаем и включаем сканер. Чтобы получить доступ к редактированию необходимых файлов, в терминале набираем (root)

thunar
  • Добавляем в файл "/etc/sane.d/dll.conf" (файл пакета "sane") строчку "epkowa". Если другие сканеры Epson больше не подключены к компьютеру, то закомментируем (добавим в самом начале символ "#") строчку "epson2", чтобы сканер немножко быстрее определялся в начале запуска программ-сканеров.
  • Закомментируем в файле "/etc/sane.d/epkowa.conf" строчку "scsi", если сканер подключается через интерфейс USB.

Регистрация сканера

Если для вашего сканера не нужен плагин "esci-interpreter" или "iscan-plugin", то регистрировать сканер не нужно.

  • Узнаем <vendor-id> and <product-id> нашего сканера:
sane-find-scanner

Результат:

found USB scanner (vendor=0x04b8 [EPSON], product=0x0142 [EPSON Perfection V33/V330]) at libusb:002:006

Команда для регистрации (root):

iscan-registry --add interpreter usb 0x04b8 0x0142 /usr/lib/esci/libesci-interpreter-perfection-v330

Для другой модели сканера, вместо "0x04b8 0x0142" подставьте значения, полученные описанным выше способом; вместо "libesci-interpreter-perfection-v330" подставьте соответсвующее название плагина (можно увидеть по пути /usr/lib/ в пакете с плагином).

Эта команда создаёт файл "/var/lib/iscan/interpreter" с содержимым:

interpreter usb 0x04b8 0x0142 /usr/lib/esci/libesci-interpreter-perfection-v330

Если по какой-то причине один и тот же сканер зарегистрирован несколько раз, то удалите его из регистрации, выполнив команду (root):

iscan-registry -r interpreter usb 0x04b8 0x0142 /usr/lib/esci/libesci-interpreter-perfection-v330

Для получения справки по команде "iscan-registry", наберите (root):

iscan-registry --help

Готово! Запускаем:

iscan

Также, Image Scan можно запустить из меню приложений в разделе "Графика".

Доступ пользователей к сканеру

Примечание: этот раздел предназначен только для пользователей Salix OS версий 13.1.x.

Чтобы разрешить пользователям доступ к сканеру, необходимо создать правило. Создаём текстовый файл "/lib/udev/rules.d/10-my-usb-perms.rules" или "/etc/udev/rules.d/10-my-usb-perms.rules" со следующим содержимым

SUBSYSTEM=="usb_device", GROUP="users", MODE="0664"
SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", GROUP="users", MODE="0664"

Если сканер уже подключен, то необходимо переподключить его (можно просто отсоединить и снова подсоединить USB-кабель).

Подключение плагинов для GIMP

Чтобы отсканированное изображение передавалось графическому редактору GIMP, необходимо добавить плагин соответствующей программы в рабочую папку GIMP в домашней папке пользователя, выполнив в терминале:

Для iscan:

ln -s /usr/bin/iscan /home/<user_name>/.gimp-2.6/plug-ins/

Для XSane:

ln -s /usr/bin/xsane /home/<user_name>/.gimp-2.6/plug-ins/

подставив в изменяемые параметры: <user_name> — ваше имя пользователя в системе, и 2.6 — номер версии GIMP.

Программы сканирования вызываются из меню GIMP "Файл" --> "Создать".

Примечание: чтобы плагины "Iscan" и "XSane" работали в GIMP, "Iscan" и "XSane" должны быть скомпилированы при уже установленной в системе программе GIMP.

Другие графические интерфейсы

Эти программы входят в репозитории Salix OS 13.1. Их можно установить в менеджере пакетов Gslapt.

  • XSane — полнофункциональное приложение, превосходящее "Image Scan!" в количестве настроек и возможностей.
  • Simple Scan — простая программа, входящая в состав дистрибутива Salix Xfce 13.1.2.
  • xscanimage — графический интерфейс (Frontend), входящий в состав пакета SANE. Запускается соответствующей командой. Язык интерфейса — английский.

Возможные проблемы с Image Scan

(Проверено на Epson Perfection v33)

  • Модель Epson Perfection v33 обладает максимальным разрешением 4800 dpi по ширине и 9600 dpi по длине, однако разрешение более 1200 dpi по ширине удаётся получить при условии выделения очень маленькой области для сканирования, т. е., в данном случае, максимально доступное разрешение сканера составляет 1200 dpi.
  • Если Image Scan использовать как самостоятельное приложение и формат выходного файла выбран PNG, то сканирование происходит прерывисто. Это связано с тем, что программа сохраняет изображение на компьютер прямо во время сканирования, а сохранение в PNG-формате происходит почему-то очень долго и почти полностью загружает центральный процессор.
    Чтобы избежать такой ситуации, выбирайте сохранение в другие графические форматы, используйте Image Scan как плагин в GIMP или другие программы для сканирования, например XSane или Simple Scan.
  • Неправильный вывод на печать: изображение смещено (проверено с принтером Xerox Phaser 3140). Решение: использовать XSane.

Ссылки