source: pst/scanning/sane.xml@ 88e2920

10.0 10.1 11.0 11.1 11.2 11.3 12.0 12.1 8.1 8.2 8.3 8.4 9.0 9.1 basic bdubbs/svn elogind kea ken/TL2024 ken/inkscape-core-mods ken/tuningfonts lazarus lxqt perl-modules plabs/newcss plabs/python-mods python3.11 qt5new rahul/power-profiles-daemon renodr/vulkan-addition trunk upgradedb xry111/intltool xry111/llvm18 xry111/soup3 xry111/test-20220226 xry111/xf86-video-removal
Last change on this file since 88e2920 was 88e2920, checked in by Bruce Dubbs <bdubbs@…>, 7 years ago

Update to tumbler-0.1.32.
Update to nghttp2-1.22.1.
Update to gnutls-3.5.13.
Update to frei0r-plugins-1.6.0.
Update to sane-backends-1.0.27.

git-svn-id: svn://svn.linuxfromscratch.org/BLFS/trunk/BOOK@18812 af4574ff-66df-0310-9fd7-8a98e5e911e0

  • Property mode set to 100644
File size: 19.8 KB
Line 
1<?xml version="1.0" encoding="ISO-8859-1"?>
2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
3 "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
4 <!ENTITY % general-entities SYSTEM "../../general.ent">
5 %general-entities;
6
7 <!ENTITY sane-be-download-http "http://fossies.org/linux/misc/sane-backends-&sane-version;.tar.gz">
8 <!ENTITY sane-be-download-ftp " ">
9 <!ENTITY sane-be-md5sum "dc6fa5eb93c54ded4ebef99fcc4420ac">
10 <!ENTITY sane-be-size "8.2 MB">
11 <!ENTITY sane-be-buildsize "118 MB (with tests)">
12 <!ENTITY sane-be-time "1.0 SBU (with tests)">
13
14 <!ENTITY sane-fe-download-http "http://alioth.debian.org/frs/download.php/file/1140/sane-frontends-&sane-fe-version;.tar.gz">
15 <!ENTITY sane-fe-download-ftp " ">
16 <!ENTITY sane-fe-md5sum "c63bf7b0bb5f530cf3c08715db721cd3">
17 <!ENTITY sane-fe-size "231 KB">
18 <!ENTITY sane-fe-buildsize "3.0 MB">
19 <!ENTITY sane-fe-time "less than 0.1 SBU">
20]>
21
22<sect1 id="sane" xreflabel="SANE-&sane-version;">
23 <?dbhtml filename="sane.html"?>
24
25 <sect1info>
26 <othername>$LastChangedBy$</othername>
27 <date>$Date$</date>
28 </sect1info>
29
30 <title>SANE-&sane-version;</title>
31
32 <indexterm zone="sane">
33 <primary sortas="a-SANE">SANE</primary>
34 </indexterm>
35
36 <sect2 role="package">
37 <title>Introduction to SANE</title>
38
39 <para><application>SANE</application> is short for Scanner Access Now Easy.
40 Scanner access; however, is far from easy, since every vendor has their own
41 protocols. The only known protocol that should bring some unity into this
42 chaos is the TWAIN interface, but this is too imprecise to allow a stable
43 scanning framework. Therefore, <application>SANE</application> comes with
44 its own protocol, and the vendor drivers can't be used.</para>
45
46 <para><application>SANE</application> is split into back ends and front
47 ends. The back ends are drivers for the supported scanners and cameras. The
48 front ends are user interfaces to access the backends.</para>
49
50 &lfs80_checked;
51 &gcc7_checked;
52
53 <bridgehead renderas="sect3">Back Ends Package Information</bridgehead>
54 <itemizedlist spacing='compact'>
55 <listitem>
56 <para>Download (HTTP): <ulink url="&sane-be-download-http;"/></para>
57 </listitem>
58 <listitem>
59 <para>Download (FTP): <ulink url="&sane-be-download-ftp;"/></para>
60 </listitem>
61 <listitem>
62 <para>Download MD5 sum: &sane-be-md5sum;</para>
63 </listitem>
64 <listitem>
65 <para>Download size: &sane-be-size;</para>
66 </listitem>
67 <listitem>
68 <para>Estimated disk space required: &sane-be-buildsize;</para>
69 </listitem>
70 <listitem>
71 <para>Estimated build time: &sane-be-time;</para>
72 </listitem>
73 </itemizedlist>
74
75 <bridgehead renderas="sect3">Front Ends Package Information</bridgehead>
76 <itemizedlist spacing='compact'>
77 <listitem>
78 <para>Download (HTTP): <ulink url="&sane-fe-download-http;"/></para>
79 </listitem>
80 <listitem>
81 <para>Download (FTP): <ulink url="&sane-fe-download-ftp;"/></para>
82 </listitem>
83 <listitem>
84 <para>Downlaod MD5 sum: &sane-fe-md5sum;</para>
85 </listitem>
86 <listitem>
87 <para>Download size: &sane-fe-size;</para>
88 </listitem>
89 <listitem>
90 <para>Estimated disk space required: &sane-fe-buildsize;</para>
91 </listitem>
92 <listitem>
93 <para>Estimated build time: &sane-fe-time;</para>
94 </listitem>
95 </itemizedlist>
96
97 <bridgehead renderas="sect3">SANE Dependencies</bridgehead>
98
99 <bridgehead renderas="sect4">Optional (Back Ends)</bridgehead>
100 <para role="optional">
101 <xref linkend="avahi"/>,
102 <xref linkend="cups"/>,
103 <xref linkend="libjpeg"/>,
104 <xref linkend="libtiff"/>,
105 <xref linkend="libusb"/>,
106 <xref linkend="v4l-utils"/>,
107 <ulink url="http://www.net-snmp.org/">Net-SNMP</ulink>,
108 <ulink url="http://cyberelk.net/tim/libieee1284/">libieee1284</ulink>,
109 <ulink url="http://www.gphoto.org/">libgphoto2</ulink>, and
110 <xref linkend="texlive"/> (or <xref linkend="tl-installer"/>)
111 </para>
112
113 <bridgehead renderas="sect4">Optional (Front Ends)</bridgehead>
114 <para role="optional">
115 <xref linkend="x-window-system"/>,
116 <xref linkend="gtk2"/>, and
117 <xref linkend="gimp"/>
118 </para>
119
120 <para condition="html" role="usernotes">User Notes:
121 <ulink url="&blfs-wiki;/sane"/></para>
122
123 </sect2>
124
125 <sect2 role="kernel" id='sane-kernel'>
126 <title>Kernel Configuration, Drivers and Additional Packages</title>
127
128 <indexterm zone="sane sane-kernel">
129 <primary sortas="d-Scanning-devices">Scanning devices</primary>
130 </indexterm>
131
132 <para>To access your scanner, you will probably need the related kernel
133 drivers and/or additional support packages. A SCSI scanner will need SCSI
134 drivers, a parallel port scanner needs parallel port support (you should
135 use enhanced EPP modes) and perhaps <ulink
136 url="http://cyberelk.net/tim/libieee1284/">libieee1284</ulink>, and a USB
137 scanner will need the <xref linkend="libusb"/> package. For HP devices, you
138 may need <ulink
139 url="http://sourceforge.net/projects/hplip/files/hplip/">hplip</ulink>.
140 Ensure you have the necessary drivers properly configured to access
141 the devices.</para>
142
143 </sect2>
144
145 <sect2 role="installation">
146 <title>Installation of SANE</title>
147
148 <sect3>
149 <title>Installation of SANE Back Ends</title>
150
151 <para>The <application>SANE</application> daemon should run with its own
152 group. Create this group by issuing the following commands as the
153 <systemitem class="username">root</systemitem> user:</para>
154
155<screen role="root"><userinput>groupadd -g 70 scanner</userinput></screen>
156
157 <note>
158 <para>
159 The user building <application>SANE</application>-backends should be
160 a member of the <systemitem class="groupname">scanner</systemitem>
161 group before proceeding. After you have added the user building the
162 package to the <systemitem class="groupname">scanner</systemitem>
163 group, issue the following command to create a new shell:
164 </para>
165
166<screen><userinput>su $(whoami)</userinput></screen>
167
168 <para>
169 Check the output of the <userinput>groups</userinput> command and
170 ensure the user is a member of the
171 <systemitem class="groupname">scanner</systemitem> group.
172 </para>
173 </note>
174
175 <para>For a USB scanner, if you are linking to <xref linkend="libusb"/>,
176 include the configure switch --enable-libusb_1_0. Install
177 <application>SANE</application>-backends by running the following
178 commands:</para>
179
180<screen><userinput>./configure --prefix=/usr \
181 --sysconfdir=/etc \
182 --localstatedir=/var \
183 --with-group=scanner \
184 --with-docdir=/usr/share/doc/sane-backend-&sane-version; &amp;&amp;
185make</userinput></screen>
186
187 <para>To test the results, issue: <command>make check</command>.</para>
188
189 <para>Now, as the <systemitem class="username">root</systemitem> user:</para>
190
191<screen role="root"><userinput>make install &amp;&amp;
192install -m 644 -v tools/udev/libsane.rules \
193 /etc/udev/rules.d/65-scanner.rules &amp;&amp;
194chgrp -v scanner /var/lock/sane</userinput></screen>
195
196 <para>With the scanner on, run <command>scanimage -L</command> and the
197 name and location of the device should appear. Of course, you need the
198 device drivers configured, in order to run this test.</para>
199
200 </sect3>
201
202 <sect3>
203 <title>Installation of SANE Front Ends</title>
204
205 <para>The <application>SANE</application>-frontends package
206 includes the graphical frontends <command>xscanimage</command> and
207 <command>xcam</command>, and a command-line frontend
208 <command>scanadf</command>. You don't need this package if you intend
209 to use one of the more advanced graphical frontends like
210 <xref linkend="xsane"/>. For a list of frontend packages, see
211 <ulink url="http://www.sane-project.org/sane-frontends.html"/>.</para>
212
213 <para>To install <application>SANE</application>-frontends,
214 use the following commands:</para>
215
216<screen><userinput>sed -i -e "/SANE_CAP_ALWAYS_SETTABLE/d" src/gtkglue.c &amp;&amp;
217./configure --prefix=/usr --mandir=/usr/share/man &amp;&amp;
218make</userinput></screen>
219
220 <para>This package does not come with a test suite.</para>
221
222 <para>Now, as the <systemitem class="username">root</systemitem> user:</para>
223
224<screen role="root"><userinput>make install &amp;&amp;
225install -v -m644 doc/sane.png xscanimage-icon-48x48-2.png \
226 /usr/share/sane</userinput></screen>
227
228 <para>If <application>GIMP</application> was linked into the build and
229 you wish <application>GIMP</application> to use
230 <command>xscanimage</command> as a scanning plugin, issue the following
231 command as the <systemitem class="username">root</systemitem> user:</para>
232
233<screen role="root"><userinput>ln -v -s ../../../../bin/xscanimage /usr/lib/gimp/2.0/plug-ins</userinput></screen>
234
235 <note>
236 <para>
237 If the plugin <command>xscanimage</command> is disabled in
238 <application>GIMP</application>'s menu, in order to enable it,
239 "create" a blank image using the menu or Ctrl-N. After that, it is
240 enabled.
241 </para>
242 </note>
243
244 </sect3>
245
246 </sect2>
247
248 <sect2 role="commands">
249 <title>Command Explanations</title>
250
251 <para><parameter>--sysconfdir=/etc</parameter>: This switch installs the
252 configuration files in <filename class="directory">/etc/sane.d</filename>
253 instead of <filename class="directory">/usr/etc/sane.d</filename>.</para>
254
255 <para><parameter>--with-group=scanner</parameter>: This parameter causes
256 the directory created for the locking files to be group owned by the
257 <systemitem class="groupname">scanner</systemitem> group instead of the
258 default <systemitem class="groupname">uucp</systemitem> group.</para>
259
260 <para><command>exit</command>: This command is used to exit the shell
261 created by the <command>su</command> command.</para>
262 </sect2>
263
264 <sect2 role="configuration">
265 <title>Configuring SANE</title>
266
267 <sect3 id="sane-config">
268 <title>Config Files</title>
269
270 <para><filename>/etc/sane.d/*.conf</filename></para>
271
272 <indexterm zone="sane sane-config">
273 <primary sortas="e-etc-sane.d-conf">/etc/sane.d/*.conf</primary>
274 </indexterm>
275
276 </sect3>
277
278 <sect3>
279 <title>Configuration Information</title>
280
281 <sect4>
282 <title>Backend Configuration</title>
283
284 <para>The backend configuration files are located in
285 <filename class='directory'>/etc/sane.d</filename>. Information
286 for configuring the various backends can be found by using the man(5)
287 page for the desired backend. Run
288 <command>man sane-<replaceable>&lt;backend&gt;</replaceable></command>,
289 substituting the desired backend.</para>
290
291 <para>Add any desired users to the <systemitem
292 class="groupname">scanner</systemitem> group.</para>
293
294 <para>If you want to access a network scanner, include two lines in
295 <filename>net.conf</filename>, as <systemitem class="username">root</systemitem> user
296 (make sure to replace &lt;server_ip&gt; by the actual value, below):</para>
297
298<screen role="root"><userinput>cat &gt;&gt; /etc/sane.d/net.conf &lt;&lt; "EOF"
299connect_timeout = 60
300&lt;server_ip&gt;
301EOF</userinput></screen>
302
303 <para>On the server side, include the client ip in the access list of
304 <filename>/etc/sane.d/saned.conf</filename>, restart the
305 <command>saned</command> daemon, and make sure the firewall, if any, is
306 open to the client.</para>
307
308 </sect4>
309
310 <sect4>
311 <title>Frontend Configuration</title>
312 <para>
313 If you use a desktop environment like <application>Gnome</application>
314 or <application>KDE</application> you may wish to create a
315 <filename>xscanimage.desktop</filename> file so that
316 <application>xscanimage</application> appears in the panel's menus.
317 As the <systemitem class="username">root</systemitem> user:
318 </para>
319
320<screen role="root"><userinput>mkdir -pv /usr/share/{applications,pixmaps} &amp;&amp;
321
322cat &gt; /usr/share/applications/xscanimage.desktop &lt;&lt; "EOF" &amp;&amp;
323[Desktop Entry]
324Encoding=UTF-8
325Name=XScanImage - Scanning
326Comment=Acquire images from a scanner
327Exec=xscanimage
328Icon=xscanimage
329Terminal=false
330Type=Application
331Categories=Application;Graphics
332EOF
333
334ln -svf ../sane/xscanimage-icon-48x48-2.png /usr/share/pixmaps/xscanimage.png</userinput></screen>
335
336 </sect4>
337
338 <sect4>
339 <title>General Information</title>
340
341 <para>For general information about configuring and using
342 <application>SANE</application>, see <command>man sane</command>.
343 Linux-2.6.x brings some special issues into the picture. See
344 <ulink url="http://www.sane-project.org/README.linux"/> for
345 information about using <application>SANE</application> with the
346 Linux-2.6.x kernel. For information about USB scanning devices,
347 run <command>man sane-usb</command>. For information about SCSI
348 devices, run <command>man sane-scsi</command>.</para>
349
350 </sect4>
351
352 <sect4>
353 <title>Configuration and setup of the 'saned' daemon</title>
354
355 <para>The <command>saned</command> daemon is not meant to be used for
356 untrusted clients. You should provide <xref linkend="fw-firewall"/>
357 protection to ensure only trusted
358 clients access the daemon. Due to the complex security requirements to
359 ensure only trusted clients access the daemon, BLFS does not provide
360 instructions to configure the <command>saned</command> daemon. If you
361 desire to make the daemon available, ensure you provide adequate
362 security, configure your <filename>[x]inetd.conf</filename> file and
363 send a <userinput>SIGHUP</userinput> to the [x]inetd daemon. Some good
364 information for setting up and securing the <command>saned</command>
365 daemon can be found at
366 <ulink url="http://penguin-breeder.org/sane/saned/"/>.</para>
367
368 </sect4>
369
370 </sect3>
371
372 </sect2>
373
374 <sect2 role="content">
375 <title>Contents</title>
376
377 <bridgehead renderas="sect4">Back Ends:</bridgehead>
378 <segmentedlist>
379 <segtitle>Installed Programs</segtitle>
380 <segtitle>Installed Libraries</segtitle>
381 <segtitle>Installed Directories</segtitle>
382
383 <seglistitem>
384 <seg>gamma4scanimage, sane-config, saned, sane-find-scanner,
385 and scanimage</seg>
386 <seg>libsane.so and numerous scanner backend modules</seg>
387 <seg>/etc/sane.d, /usr/{include,lib,share}/sane,
388 and /usr/share/doc/sane-&sane-version;</seg>
389 </seglistitem>
390 </segmentedlist>
391
392 <bridgehead renderas="sect4">Front Ends:</bridgehead>
393 <segmentedlist>
394 <segtitle>Installed Programs</segtitle>
395 <segtitle>Installed Library</segtitle>
396 <segtitle>Installed Directories</segtitle>
397
398 <seglistitem>
399 <seg>scanadf, xcam, and xscanimage</seg>
400 <seg><application>GIMP</application> plugin embedded in
401 <command>xscanimage</command></seg>
402 <seg>None</seg>
403 </seglistitem>
404 </segmentedlist>
405
406 <variablelist>
407 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
408 <?dbfo list-presentation="list"?>
409 <?dbhtml list-presentation="table"?>
410
411 <varlistentry id="gamma4scanimage">
412 <term><command>gamma4scanimage</command></term>
413 <listitem>
414 <para>creates a gamma table in the format expected by
415 <command>scanimage</command>.</para>
416 <indexterm zone="sane gamma4scanimage">
417 <primary sortas="b-gamma4scanimage">gamma4scanimage</primary>
418 </indexterm>
419 </listitem>
420 </varlistentry>
421
422 <varlistentry id="sane-config-prog">
423 <term><command>sane-config</command></term>
424 <listitem>
425 <para>is a tool used to determine the compiler and linker
426 flags that should be used to compile and link
427 <application>SANE</application>.</para>
428 <indexterm zone="sane sane-config-prog">
429 <primary sortas="b-sane-config">sane-config</primary>
430 </indexterm>
431 </listitem>
432 </varlistentry>
433
434 <varlistentry id="saned">
435 <term><command>saned</command></term>
436 <listitem>
437 <para>is the <application>SANE</application> daemon that
438 allows remote clients to access image acquisition devices
439 available on the local host.</para>
440 <indexterm zone="sane saned">
441 <primary sortas="b-saned">saned</primary>
442 </indexterm>
443 </listitem>
444 </varlistentry>
445
446 <varlistentry id="sane-find-scanner">
447 <term><command>sane-find-scanner</command></term>
448 <listitem>
449 <para>is a command-line tool to find SCSI and
450 USB scanners and determine their device files. Its primary
451 purpose is to make sure that scanners can be detected by
452 <application>SANE</application> backends.</para>
453 <indexterm zone="sane sane-find-scanner">
454 <primary sortas="b-sane-find-scanner">sane-find-scanner</primary>
455 </indexterm>
456 </listitem>
457 </varlistentry>
458
459 <varlistentry id="scanadf">
460 <term><command>scanadf</command></term>
461 <listitem>
462 <para>is a command-line interface to control image acquisition
463 devices which are equipped with an automatic document feeder
464 (ADF).</para>
465 <indexterm zone="sane scanadf">
466 <primary sortas="b-scanadf">scanadf</primary>
467 </indexterm>
468 </listitem>
469 </varlistentry>
470
471 <varlistentry id="scanimage">
472 <term><command>scanimage</command></term>
473 <listitem>
474 <para>is a command line interface for scanning from image acquisition
475 devices such as flatbed scanners or cameras. It is also used to list
476 the available backend devices.</para>
477 <indexterm zone="sane scanimage">
478 <primary sortas="b-scanimage">scanimage</primary>
479 </indexterm>
480 </listitem>
481 </varlistentry>
482
483 <varlistentry id="xcam">
484 <term><command>xcam</command></term>
485 <listitem>
486 <para>is a graphical camera front end for
487 <application>SANE</application>.</para>
488 <indexterm zone="sane xcam">
489 <primary sortas="b-xcam">xcam</primary>
490 </indexterm>
491 </listitem>
492 </varlistentry>
493
494 <varlistentry id="xscanimage">
495 <term><command>xscanimage</command></term>
496 <listitem>
497 <para>is a graphical user interface for scanning.</para>
498 <indexterm zone="sane xscanimage">
499 <primary sortas="b-xscanimage">xscanimage</primary>
500 </indexterm>
501 </listitem>
502 </varlistentry>
503
504 <varlistentry id="libsane">
505 <term><filename class='libraryfile'>libsane.so</filename></term>
506 <listitem>
507 <para>is the application programming interface that is used to
508 communicate between frontends and backends.</para>
509 <indexterm zone="sane libsane">
510 <primary sortas="c-libsane">libsane.so</primary>
511 </indexterm>
512 </listitem>
513 </varlistentry>
514
515 <varlistentry id="libsane-module">
516 <term><filename class='libraryfile'>libsane-*.so</filename></term>
517 <listitem>
518 <para>modules are backend scanning library plugins used to interface
519 with scanning devices. See
520 <ulink url="http://www.sane-project.org/sane-supported-devices.html"/>
521 for a list of supported backends.</para>
522 <indexterm zone="sane libsane-module">
523 <primary sortas="c-libsane-module">libsane-*.so</primary>
524 </indexterm>
525 </listitem>
526 </varlistentry>
527
528 </variablelist>
529
530 </sect2>
531
532</sect1>
Note: See TracBrowser for help on using the repository browser.