source: pst/scanning/sane.xml@ 3fb65fb

10.0 10.1 11.0 11.1 11.2 11.3 12.0 12.1 7.10 7.5 7.6 7.6-blfs 7.6-systemd 7.7 7.8 7.9 8.0 8.1 8.2 8.3 8.4 9.0 9.1 basic bdubbs/svn elogind gnome kde5-13430 kde5-14269 kde5-14686 kea ken/TL2024 ken/inkscape-core-mods ken/tuningfonts krejzi/svn lazarus lxqt nosym perl-modules plabs/newcss plabs/python-mods python3.11 qt5new rahul/power-profiles-daemon renodr/vulkan-addition systemd-11177 systemd-13485 trunk upgradedb xry111/intltool xry111/llvm18 xry111/soup3 xry111/test-20220226 xry111/xf86-video-removal
Last change on this file since 3fb65fb was 3fb65fb, checked in by Ken Moffat <ken@…>, 11 years ago

sane - remove hardcoded *old* version from docdir.

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

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