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

From Salix OS
Revision as of 01:33, 20 August 2012 by Andyun (Talk | contribs)

Jump to: navigation, search

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

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

Contents

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

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

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

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

Собираем в пакеты, используя скрипты 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:

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/
}

Настройка

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

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

Результат:

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

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

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

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

Для другой модели сканера, вместо "0x04b8 0x0142" подставьте значения, полученные описанным выше способом.

Эта команда создаёт файл "/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.

Чтобы разрешить пользователям доступ к сканеру, необходимо создать правило. Создаём текстовый файл "/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!" использовать как самостоятельное приложение (не как плагин в GIMP) и формат выходного файла выбран PNG, то при сканировании изображения без увеличения (кнопка "Zoom") и с разрешением 240 dpi и более, сканирование происходит прерывисто. Вероятно, это как-то связано с тем, что во время сканирования "Image Scan!" сразу же сохраняет изображение на компьютер и, в этом случае, полностью загружает центральный процессор. Возможно, это проблема не "Image Scan!", а библиотек "libpng" 1.4.8. Чтобы избежать такой ситуации, выбирайте сохранение в другие графические форматы, или используйте "Image Scan!" как плагин в GIMP или другие графические интерфейсы, например XSane.
  • Неправильный вывод на печать (изображение смещено, проверено с принтером Xerox Phaser 3140). Решение: использовать XSane.

Ссылки