Scanning

This chapter contains scanning applications which allow you to convert printed documents into formatted documents readable by other applications.

SANE-1.0.15

Introduction to SANE

SANE is short for Scanner Access Now Easy. Scanner access, however, is far from easy, since every vendor has their own protocols. The only known protocol that should bring some unity into this chaos is the TWAIN interface, but this is too imprecise to allow a stable scanning framework. Therefore, SANE comes with its own protocol, and the vendor drivers can't be used.

SANE is split into back ends and front ends. The back ends are drivers for the supported scanners and cameras. The front ends are user interfaces to access the backends.

Back ends package information

Front ends package information

SANE dependencies

Optional (back ends)

libjpeg-6b, libusb-0.1.8, libieee1284, gPhoto2 (requires libgphoto2) and TeX-2.0.2

Optional (front ends)

X (XFree86-4.4.0 or X.org-6.8.2), GTK+-2.6.4 and GIMP-2.2.3

Installation of SANE

Preparing your system for scanner access

To access your scanner, you will probably need the related kernel drivers or additional support packages (libusb-0.1.8). A SCSI scanner will need SCSI drivers, a parallel port scanner needs parallel port support (you should use enhanced EPP modes) and a USB scanner will need the libusb package and a SCSI system for emulation. Be sure that you have got the necessary drivers configured to access the devices.

Installation of SANE back ends

Install SANE-backends by running the following commands:

./configure --prefix=/usr --sysconfdir=/etc &&
make

Now, as the root user:

make install

Installation of SANE front ends

The SANE-frontends package includes the graphical frontends xscanimage and xcam, and a command-line frontend scanadf. You don't need this package if you intend to use one of the more advanced graphical frontends like XSane-0.97. For a list of frontend packages, see http://www.sane-project.org/sane-frontends.html.

To install SANE-frontends, use the following commands:

./configure --prefix=/usr &&
make

Now, as the root user:

make install

If GIMP was linked into the build and you wish GIMP to use xscanimage as a scanning plugin, issue the following command as the root user:

ln -s /usr/bin/xscanimage /usr/lib/gimp/2.0/plug-ins

Command explanations

--sysconfdir=/etc: This switch installs the configuration files in /etc/sane.d instead of /usr/etc/sane.d.

Configuring SANE

Config files

/etc/sane.d/*.conf

Configuration information

Backend configuration

The backend configuration files are located in /etc/sane.d. Information for configuring the various backends can be found by using the man(5) page for the desired backend. Run man sane-[backend], substituting the desired backend.

General information

For general information about configuring and using SANE, see man sane. Linux-2.6.x brings some special issues into the picture. See http://www.sane-project.org/README.linux for information about using SANE with the Linux-2.6.x kernel. For information about USB scanning devices, run man sane-usb. For information about SCSI devices, run man sane-scsi.

Configuration and setup of the saned daemon

The saned daemon is not meant to be used for untrusted clients. You should provide tcpwrappers-7.6 and/or Firewalling protection to insure only trusted clients access the daemon. Due to the complex security requirements to insure only trusted clients access the daemon, BLFS does not provide instructions to configure the saned daemon. If you desire to make the daemon available, ensure you provide adequate security, configure your [x]inetd.conf file and send a SIGHUP to the [x]inetd daemon. Some good information for setting up and securing the saned daemon can be found at http://penguin-breeder.org/sane/saned/.

Contents

Back Ends:

Installed Programs: gamma4scanimage, sane-config, saned, sane-find-scanner and scanimage
Installed Libraries: libsane.so and numerous scanner backend modules
Installed Directories: /etc/sane.d, /usr/include/sane, /usr/lib/sane, /usr/share/sane and /usr/share/doc/sane-1.0.15

Front Ends:

Installed Programs: scanadf, xcam and xscanimage
Installed Library: GIMP plugin imbedded in xscanimage
Installed Directory: /usr/share/sane

Short Descriptions

gamma4scanimage

creates a gamma table in the format expected by scanimage.

sane-config

is a tool used to determine the compiler and linker flags that should be used to compile and link SANE.

saned

is the SANE daemon that allows remote clients to access image acquisition devices available on the local host.

sane-find-scanner

is a command-line tool to find SCSI and USB scanners and determine their device files. Its primary aim is to make sure that scanners can be detected by SANE backends.

scanadf

is a command-line interface to control image acquisition devices which are equipped with an automatic document feeder (ADF).

scanimage

is a command line interface for scanning from image acquisition devices such as flatbed scanners or cameras. It is also used to list the available backend devices.

xcam

is a graphical camera front end for SANE.

xscanimage

is a graphical user interface for scanning.

libsane.so

is the application programming interface that is used to communicate between frontends and backends.

libsane-*.so

modules are backend scanning library plugins used to interface with scanning devices. See http://www.sane-project.org/sane-supported-devices.html for a list of supported backends.