SANE-1.0.27
      
      
        
          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.
        
        
          This package is known to build and work properly using an LFS-9.1
          platform.
        
        
          Back Ends Package Information
        
        
        
          Additional Downloads (Front Ends)
        
        
        
          SANE Dependencies
        
        
          Optional (Back Ends)
        
        
          Avahi-0.7, Cups-2.3.1, libjpeg-turbo-2.0.4, LibTIFF-4.1.0, libusb-1.0.23,
          v4l-utils-1.18.0, Net-SNMP, libieee1284, libgphoto2, and texlive-20190410 (or install-tl-unx)
        
        
          Optional (Front Ends)
        
        
          X Window
          System, GTK+-2.24.32, and Gimp-2.10.18
        
        
          User Notes: http://wiki.linuxfromscratch.org/blfs/wiki/sane
        
       
      
        
          Kernel Configuration,
          Drivers and Additional Packages
        
        
          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.23 package. For HP devices,
          you may need hplip.
          Ensure you have the necessary drivers properly configured to access
          the devices.
        
       
      
        
          Installation of SANE
        
        
          
          
            Installation of SANE Back Ends
          
          
            The SANE daemon should run with
            its own group. Create this group by issuing the following
            commands as the root user:
          
          
groupadd -g 70 scanner
          
            
            
              Note
            
            
              configure assumes
              that the user building SANE-backends is a member of the
              scanner group for testing the
              existence of this group. So the user building the package
              should be added to the scanner
              group. As the root user:
            
            
usermod -G scanner -a username
           
          
            For a USB scanner, if you are linking to libusb-1.0.23,
            include the configure switch --enable-libusb_1_0. Install
            SANE-backends by running the
            following commands:
          
          
sg scanner -c "                  \
./configure --prefix=/usr        \
            --sysconfdir=/etc    \
            --localstatedir=/var \
            --with-group=scanner \
            --with-docdir=/usr/share/doc/sane-backends-1.0.27" &&
make
          
            To test the results, issue: make
            check.
          
          
            Now, as the root user:
          
          
make install                                         &&
install -m 644 -v tools/udev/libsane.rules           \
                  /etc/udev/rules.d/65-scanner.rules &&
chgrp -v scanner  /var/lock/sane
          
            With the scanner on, run scanimage
            -L and the name and location of the device should
            appear. Of course, you need the device drivers configured, in
            order to run this test.
          
         
        
          
          
            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.999. For a list of
            frontend packages, see http://www.sane-project.org/sane-frontends.html.
          
          
            To install SANE-frontends, use
            the following commands:
          
          
tar -xf ../sane-frontends-1.0.14.tar.gz &&
cd sane-frontends-1.0.14                &&
sed -i -e "/SANE_CAP_ALWAYS_SETTABLE/d" src/gtkglue.c &&
./configure --prefix=/usr --mandir=/usr/share/man &&
make
          
            This package does not come with a test suite.
          
          
            Now, as the root user:
          
          
make install &&
install -v -m644 doc/sane.png xscanimage-icon-48x48-2.png \
    /usr/share/sane
          
            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 -v -s ../../../../bin/xscanimage /usr/lib/gimp/2.0/plug-ins
          
            
            
              Note
            
            
              If the plugin xscanimage is disabled in
              GIMP's menu, in order to
              enable it, "create" a blank image using the menu or Ctrl-N.
              After that, it is enabled.
            
           
         
       
      
        
          Command Explanations
        
        
          sg scanner -c "...":
          runs the command between double quotes with principal group
          scanner. This may be needed if the
          user has been newly added to group scanner, and has not looged out
          and in.
        
        
          --sysconfdir=/etc: This
          switch installs the configuration files in /etc/sane.d instead of /usr/etc/sane.d.
        
        
          --with-group=scanner: This
          parameter causes the directory created for the locking files to be
          group owned by the scanner group
          instead of the default uucp group.
        
        
          exit: This command is
          used to exit the shell created by the su command.
        
       
      
        
          Configuring SANE
        
        
          
            
          
          
            Config Files
          
          
            /etc/sane.d/*.conf
          
         
        
          
          
            Configuration Information
          
          
            
            
              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.
            
            
              Add any desired users to the scanner group.
            
            
              If you want to access a network scanner, include two lines in
              net.conf, as root user (make sure to replace
              <server_ip> by the actual value, below):
            
            
cat >> /etc/sane.d/net.conf << "EOF"
connect_timeout = 60
<server_ip>
EOF
            
              On the server side, include the client ip in the access list of
              /etc/sane.d/saned.conf, restart
              the saned daemon,
              and make sure the firewall, if any, is open to the client.
            
           
          
            
            
              If you use a desktop environment like Gnome or KDE you may wish to create a xscanimage.desktop file so that xscanimage appears in the panel's menus.
              As the root user:
            
            
mkdir -pv /usr/share/{applications,pixmaps}               &&
cat > /usr/share/applications/xscanimage.desktop << "EOF" &&
[Desktop Entry]
Encoding=UTF-8
Name=XScanImage - Scanning
Comment=Acquire images from a scanner
Exec=xscanimage
Icon=xscanimage
Terminal=false
Type=Application
Categories=Application;Graphics
EOF
ln -svf ../sane/xscanimage-icon-48x48-2.png /usr/share/pixmaps/xscanimage.png
           
          
            
            
              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 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/.
            
           
         
       
      
        
          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,lib,share}/sane, and
              /usr/share/doc/sane-1.0.27
            
           
         
        
          Front Ends:
        
        
          
            
              Installed Programs:
              scanadf, xcam, and xscanimage
            
            
              Installed Library:
              GIMP
              plugin embedded in xscanimage
            
            
              Installed Directories:
              None
            
           
         
        
          
            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 purpose 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.
                   
                 | 
              
            
          
         
       
      
        Last updated on 2020-02-19 16:31:22 -0800