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
This package is known to build and work properly using an LFS-7.2
Back Ends Package Information
Front Ends Package Information
Optional (Back Ends)
Avahi-0.6.31, Cups-1.6.2, libjpeg-turbo-1.2.1, LibTIFF-4.0.3, libusb-1.0.9,
libieee1284, libgphoto2, Video4Linux, and
Optional (Front Ends)
System, GTK+-2.24.17, and Gimp-2.8.4
User Notes: http://wiki.linuxfromscratch.org/blfs/wiki/sane
To access your scanner, you will probably need the related kernel
drivers and/or additional support packages. A SCSI scanner will
need SCSI drivers, a parallel port scanner needs parallel port
support (you should use enhanced EPP modes) and perhaps libieee1284, and a USB
scanner will need the libusb-1.0.9 package. Ensure you have the
necessary drivers properly configured to access the devices.
Installation of SANE
Installation of SANE Back Ends
You may safely disregard any messages printed on the screen
when you unpack the tarball.
The SANE daemon should run with
its own group. Create this group by issuing the following
commands as the
groupadd -g 70 scanner
The user building SANE-backends should be a member of the
scanner group before
proceeding. After you have added the user building the package
scanner group, issue the
following command to create a new shell:
Check the output of the
groups command and ensure the
user is a member of the
Install SANE-backends by running
the following commands:
./configure --prefix=/usr \
To test the results, issue: make
Now, as the
make install &&
install -m 644 -v tools/udev/libsane.rules \
chgrp -v scanner /var/lock/sane
Installation of SANE Front Ends
The SANE-frontends package
includes the graphical frontends xscanimage and xcam, and a command-line
You don't need this package if you intend to use one of the more
advanced graphical frontends like XSane-0.998. For a list of
frontend packages, see http://www.sane-project.org/sane-frontends.html.
To install SANE-frontends, use
the following commands:
sed -i -e "/SANE_CAP_ALWAYS_SETTABLE/d" src/gtkglue.c &&
./configure --prefix=/usr &&
This package does not come with a test suite.
Now, as the
make install &&
install -v -m644 doc/sane.png xscanimage-icon-48x48-2.png \
If GIMP was linked into the
build and you wish GIMP to use
xscanimage as a
scanning plugin, issue the following command as the
ln -v -s ../../../../bin/xscanimage /usr/lib/gimp/2.0/plug-ins
switch installs the configuration files in
/etc/sane.d instead of
parameter causes the directory created for the locking files to be
group owned by the
instead of the default
exit: This command is
used to exit the shell created by the su command.
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
substituting the desired backend.
Add any desired users to the
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
setup of the 'saned' daemon
The saned daemon
is not meant to be used for untrusted clients. You should
provide Firewalling protection to
ensure only trusted clients access the daemon. Due to the
complex security requirements to ensure 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/.
gamma4scanimage, sane-config, saned,
sane-find-scanner, and scanimage
libsane.so and numerous scanner backend
/usr/lib/sane, /usr/share/sane, and
scanadf, xcam, and xscanimage
plugin embedded in xscanimage
creates a gamma table in the format expected by
is a tool used to determine the compiler and linker flags
that should be used to compile and link SANE.
is the SANE daemon that
allows remote clients to access image acquisition devices
available on the local host.
is a command-line tool to find SCSI and USB scanners and
determine their device files. Its primary purpose is to
make sure that scanners can be detected by SANE backends.
is a command-line interface to control image acquisition
devices which are equipped with an automatic document
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.
is a graphical camera front end for SANE.
is a graphical user interface for scanning.
is the application programming interface that is used to
communicate between frontends and backends.
modules are backend scanning library plugins used to
interface with scanning devices. See
for a list of supported backends.
Last updated on 2013-02-07 21:05:35 +0000