source: pst/scanning/sane.xml@ 99e4509

10.0 10.1 11.0 11.1 11.2 11.3 12.0 12.1 7.10 7.7 7.8 7.9 8.0 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 nosym 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 99e4509 was 99e4509, checked in by Bruce Dubbs <bdubbs@…>, 9 years ago

Tags

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

  • Property mode set to 100644
File size: 22.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://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 &lfs77_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"/> (or <xref linkend="tl-installer"/>)
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, Drivers and Additional Packages</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. For HP devices, you
171 may need <ulink
172 url="http://sourceforge.net/projects/hplip/files/hplip/">hplip</ulink>.
173 Ensure you have the necessary drivers properly configured to access
174 the devices.</para>
175
176 </sect2>
177
178 <sect2 role="installation">
179 <title>Installation of SANE</title>
180
181 <sect3>
182 <title>Installation of SANE Back Ends</title>
183
184 <note>
185 <para>
186 You may safely disregard any messages printed on the screen when you
187 unpack the tarball.
188 </para>
189 </note>
190
191 <para>The <application>SANE</application> daemon should run with its own
192 group. Create this group by issuing the following commands as the
193 <systemitem class="username">root</systemitem> user:</para>
194
195<screen><userinput>groupadd -g 70 scanner</userinput></screen>
196
197 <note>
198 <para>
199 The user building <application>SANE</application>-backends should be
200 a member of the <systemitem class="groupname">scanner</systemitem>
201 group before proceeding. After you have added the user building the
202 package to the <systemitem class="groupname">scanner</systemitem>
203 group, issue the following command to create a new shell:
204 </para>
205
206<screen><userinput>su $(whoami)</userinput></screen>
207
208 <para>
209 Check the output of the <userinput>groups</userinput> command and
210 ensure the user is a member of the
211 <systemitem class="groupname">scanner</systemitem> group.
212 </para>
213 </note>
214
215 <para>For a USB scanner, if you are linking to <xref linkend="libusb"/>,
216 include the configure switch --enable-libusb_1_0. Install
217 <application>SANE</application>-backends by running the following
218 commands:</para>
219
220 <!-- Not sure why this was there as it works if TeX is installed
221 and it doesn't try to use it if TeX is not installed
222 -disable-latex &amp;&amp; -->
223
224<screen><userinput>./configure --prefix=/usr \
225 --sysconfdir=/etc \
226 --localstatedir=/var \
227 --with-docdir=/usr/share/doc/sane-backend-&sane-version; \
228 --with-group=scanner &amp;&amp;
229make &amp;&amp;
230exit</userinput></screen>
231
232 <para>If you want to test the results, some files need to be fixed:</para>
233
234<screen><userinput>sed -i -e 's/Jul 31 07:52:48/Oct 7 08:58:33/' \
235 -e 's/1.0.24git/1.0.24/' \
236 testsuite/tools/data/db.ref \
237 testsuite/tools/data/html-mfgs.ref \
238 testsuite/tools/data/usermap.ref \
239 testsuite/tools/data/html-backends-split.ref \
240 testsuite/tools/data/udev+acl.ref \
241 testsuite/tools/data/udev.ref</userinput></screen>
242
243 <para>To test the results, issue: <command>make check</command>.</para>
244
245 <para>Now, as the <systemitem class="username">root</systemitem> user:</para>
246
247<screen role="root"><userinput>make install &amp;&amp;
248install -m 644 -v tools/udev/libsane.rules \
249 /etc/udev/rules.d/65-scanner.rules &amp;&amp;
250chgrp -v scanner /var/lock/sane</userinput></screen>
251
252 <para>With the scanner on, run <command>scanimage -L</command> and the
253 name and location of the device should appear. Of course, you need the
254 device drivers configured, in order to run this test.</para>
255
256 </sect3>
257
258 <sect3>
259 <title>Installation of SANE Front Ends</title>
260
261 <para>The <application>SANE</application>-frontends package
262 includes the graphical frontends <command>xscanimage</command> and
263 <command>xcam</command>, and a command-line frontend
264 <command>scanadf</command>. You don't need this package if you intend
265 to use one of the more advanced graphical frontends like
266 <xref linkend="xsane"/>. For a list of frontend packages, see
267 <ulink url="http://www.sane-project.org/sane-frontends.html"/>.</para>
268
269 <para>To install <application>SANE</application>-frontends,
270 use the following commands:</para>
271
272<screen><userinput>sed -i -e "/SANE_CAP_ALWAYS_SETTABLE/d" src/gtkglue.c &amp;&amp;
273./configure --prefix=/usr &amp;&amp;
274make</userinput></screen>
275
276 <para>This package does not come with a test suite.</para>
277
278 <para>Now, as the <systemitem class="username">root</systemitem> user:</para>
279
280<screen role="root"><userinput>make install &amp;&amp;
281install -v -m644 doc/sane.png xscanimage-icon-48x48-2.png \
282 /usr/share/sane</userinput></screen>
283
284 <para>If <application>GIMP</application> was linked into the build and
285 you wish <application>GIMP</application> to use
286 <command>xscanimage</command> as a scanning plugin, issue the following
287 command as the <systemitem class="username">root</systemitem> user:</para>
288
289<screen role="root"><userinput>ln -v -s ../../../../bin/xscanimage /usr/lib/gimp/2.0/plug-ins</userinput></screen>
290
291 <note>
292 <para>
293 If the plugin <command>xscanimage</command> is disabled in
294 <application>GIMP</application>'s menu, in order to enable it,
295 "create" a blank image using the menu or Ctrl-N. After that, it is
296 enabled.
297 </para>
298 </note>
299
300 </sect3>
301
302 </sect2>
303
304 <sect2 role="commands">
305 <title>Command Explanations</title>
306
307 <para><parameter>--sysconfdir=/etc</parameter>: This switch installs the
308 configuration files in <filename class="directory">/etc/sane.d</filename>
309 instead of <filename class="directory">/usr/etc/sane.d</filename>.</para>
310
311 <para><parameter>--with-group=scanner</parameter>: This parameter causes
312 the directory created for the locking files to be group owned by the
313 <systemitem class="groupname">scanner</systemitem> group instead of the
314 default <systemitem class="groupname">uucp</systemitem> group.</para>
315
316 <para><command>exit</command>: This command is used to exit the shell
317 created by the <command>su</command> command.</para>
318 </sect2>
319
320 <sect2 role="configuration">
321 <title>Configuring SANE</title>
322
323 <sect3 id="sane-config">
324 <title>Config Files</title>
325
326 <para><filename>/etc/sane.d/*.conf</filename></para>
327
328 <indexterm zone="sane sane-config">
329 <primary sortas="e-etc-sane.d-conf">/etc/sane.d/*.conf</primary>
330 </indexterm>
331
332 </sect3>
333
334 <sect3>
335 <title>Configuration Information</title>
336
337 <sect4>
338 <title>Backend Configuration</title>
339
340 <para>The backend configuration files are located in
341 <filename class='directory'>/etc/sane.d</filename>. Information
342 for configuring the various backends can be found by using the man(5)
343 page for the desired backend. Run
344 <command>man sane-<replaceable>&lt;backend&gt;</replaceable></command>,
345 substituting the desired backend.</para>
346
347 <para>Add any desired users to the <systemitem
348 class="groupname">scanner</systemitem> group.</para>
349
350 <para>If you want to access a network scanner, include two lines in
351 <filename>net.conf</filename>, as <systemitem class="username">root</systemitem> user
352 (make sure to replace &lt;server_ip&gt; by the actual value, below):</para>
353
354<screen role="root"><userinput>cat &gt;&gt; /etc/sane.d/net.conf &lt;&lt; "EOF"
355connect_timeout = 60
356&lt;server_ip&gt;
357EOF</userinput></screen>
358
359 <para>On the server side, include the client ip in the access list of
360 <filename>/etc/sane.d/saned.conf</filename>, restart the
361 <command>saned</command> daemon, and make sure the firewall, if any, is
362 open to the client.</para>
363
364 </sect4>
365
366 <sect4>
367 <title>Frontend Configuration</title>
368 <para>
369 If you use a desktop environment like <application>Gnome</application>
370 or <application>KDE</application> you may wish to create a
371 <filename>xscanimage.desktop</filename> file so that
372 <application>xscanimage</application> appears in the panel's menus.
373 As the <systemitem class="username">root</systemitem> user:
374 </para>
375
376<screen role="root"><userinput>mkdir -pv /usr/share/{applications,pixmaps} &amp;&amp;
377
378cat &gt; /usr/share/applications/xscanimage.desktop &lt;&lt; "EOF" &amp;&amp;
379[Desktop Entry]
380Encoding=UTF-8
381Name=XScanImage - Scanning
382Comment=Acquire images from a scanner
383Exec=xscanimage
384Icon=xscanimage
385Terminal=false
386Type=Application
387Categories=Application;Graphics
388EOF
389
390ln -svf ../sane/xscanimage-icon-48x48-2.png /usr/share/pixmaps/xscanimage.png</userinput></screen>
391
392 </sect4>
393
394 <sect4>
395 <title>General Information</title>
396
397 <para>For general information about configuring and using
398 <application>SANE</application>, see <command>man sane</command>.
399 Linux-2.6.x brings some special issues into the picture. See
400 <ulink url="http://www.sane-project.org/README.linux"/> for
401 information about using <application>SANE</application> with the
402 Linux-2.6.x kernel. For information about USB scanning devices,
403 run <command>man sane-usb</command>. For information about SCSI
404 devices, run <command>man sane-scsi</command>.</para>
405
406 </sect4>
407
408 <sect4>
409 <title>Configuration and setup of the 'saned' daemon</title>
410
411 <para>The <command>saned</command> daemon is not meant to be used for
412 untrusted clients. You should provide <xref linkend="fw-firewall"/>
413 protection to ensure only trusted
414 clients access the daemon. Due to the complex security requirements to
415 ensure only trusted clients access the daemon, BLFS does not provide
416 instructions to configure the <command>saned</command> daemon. If you
417 desire to make the daemon available, ensure you provide adequate
418 security, configure your <filename>[x]inetd.conf</filename> file and
419 send a <userinput>SIGHUP</userinput> to the [x]inetd daemon. Some good
420 information for setting up and securing the <command>saned</command>
421 daemon can be found at
422 <ulink url="http://penguin-breeder.org/sane/saned/"/>.</para>
423
424 </sect4>
425
426 </sect3>
427
428 </sect2>
429
430 <sect2 role="content">
431 <title>Contents</title>
432
433 <bridgehead renderas="sect4">Back Ends:</bridgehead>
434 <segmentedlist>
435 <segtitle>Installed Programs</segtitle>
436 <segtitle>Installed Libraries</segtitle>
437 <segtitle>Installed Directories</segtitle>
438
439 <seglistitem>
440 <seg>gamma4scanimage, sane-config, saned, sane-find-scanner,
441 and scanimage</seg>
442 <seg>libsane.so and numerous scanner backend modules</seg>
443 <seg>/etc/sane.d, /usr/include/sane, /usr/lib/sane, /usr/share/sane,
444 and /usr/share/doc/sane-&sane-version;</seg>
445 </seglistitem>
446 </segmentedlist>
447
448 <bridgehead renderas="sect4">Front Ends:</bridgehead>
449 <segmentedlist>
450 <segtitle>Installed Programs</segtitle>
451 <segtitle>Installed Library</segtitle>
452 <segtitle>Installed Directories</segtitle>
453
454 <seglistitem>
455 <seg>scanadf, xcam, and xscanimage</seg>
456 <seg><application>GIMP</application> plugin embedded in
457 <command>xscanimage</command></seg>
458 <seg>None</seg>
459 </seglistitem>
460 </segmentedlist>
461
462 <variablelist>
463 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
464 <?dbfo list-presentation="list"?>
465 <?dbhtml list-presentation="table"?>
466
467 <varlistentry id="gamma4scanimage">
468 <term><command>gamma4scanimage</command></term>
469 <listitem>
470 <para>creates a gamma table in the format expected by
471 <command>scanimage</command>.</para>
472 <indexterm zone="sane gamma4scanimage">
473 <primary sortas="b-gamma4scanimage">gamma4scanimage</primary>
474 </indexterm>
475 </listitem>
476 </varlistentry>
477
478 <varlistentry id="sane-config-prog">
479 <term><command>sane-config</command></term>
480 <listitem>
481 <para>is a tool used to determine the compiler and linker
482 flags that should be used to compile and link
483 <application>SANE</application>.</para>
484 <indexterm zone="sane sane-config-prog">
485 <primary sortas="b-sane-config">sane-config</primary>
486 </indexterm>
487 </listitem>
488 </varlistentry>
489
490 <varlistentry id="saned">
491 <term><command>saned</command></term>
492 <listitem>
493 <para>is the <application>SANE</application> daemon that
494 allows remote clients to access image acquisition devices
495 available on the local host.</para>
496 <indexterm zone="sane saned">
497 <primary sortas="b-saned">saned</primary>
498 </indexterm>
499 </listitem>
500 </varlistentry>
501
502 <varlistentry id="sane-find-scanner">
503 <term><command>sane-find-scanner</command></term>
504 <listitem>
505 <para>is a command-line tool to find SCSI and
506 USB scanners and determine their device files. Its primary
507 purpose is to make sure that scanners can be detected by
508 <application>SANE</application> backends.</para>
509 <indexterm zone="sane sane-find-scanner">
510 <primary sortas="b-sane-find-scanner">sane-find-scanner</primary>
511 </indexterm>
512 </listitem>
513 </varlistentry>
514
515 <varlistentry id="scanadf">
516 <term><command>scanadf</command></term>
517 <listitem>
518 <para>is a command-line interface to control image acquisition
519 devices which are equipped with an automatic document feeder
520 (ADF).</para>
521 <indexterm zone="sane scanadf">
522 <primary sortas="b-scanadf">scanadf</primary>
523 </indexterm>
524 </listitem>
525 </varlistentry>
526
527 <varlistentry id="scanimage">
528 <term><command>scanimage</command></term>
529 <listitem>
530 <para>is a command line interface for scanning from image acquisition
531 devices such as flatbed scanners or cameras. It is also used to list
532 the available backend devices.</para>
533 <indexterm zone="sane scanimage">
534 <primary sortas="b-scanimage">scanimage</primary>
535 </indexterm>
536 </listitem>
537 </varlistentry>
538
539 <varlistentry id="xcam">
540 <term><command>xcam</command></term>
541 <listitem>
542 <para>is a graphical camera front end for
543 <application>SANE</application>.</para>
544 <indexterm zone="sane xcam">
545 <primary sortas="b-xcam">xcam</primary>
546 </indexterm>
547 </listitem>
548 </varlistentry>
549
550 <varlistentry id="xscanimage">
551 <term><command>xscanimage</command></term>
552 <listitem>
553 <para>is a graphical user interface for scanning.</para>
554 <indexterm zone="sane xscanimage">
555 <primary sortas="b-xscanimage">xscanimage</primary>
556 </indexterm>
557 </listitem>
558 </varlistentry>
559
560 <varlistentry id="libsane">
561 <term><filename class='libraryfile'>libsane.so</filename></term>
562 <listitem>
563 <para>is the application programming interface that is used to
564 communicate between frontends and backends.</para>
565 <indexterm zone="sane libsane">
566 <primary sortas="c-libsane">libsane.so</primary>
567 </indexterm>
568 </listitem>
569 </varlistentry>
570
571 <varlistentry id="libsane-module">
572 <term><filename class='libraryfile'>libsane-*.so</filename></term>
573 <listitem>
574 <para>modules are backend scanning library plugins used to interface
575 with scanning devices. See
576 <ulink url="http://www.sane-project.org/sane-supported-devices.html"/>
577 for a list of supported backends.</para>
578 <indexterm zone="sane libsane-module">
579 <primary sortas="c-libsane-module">libsane-*.so</primary>
580 </indexterm>
581 </listitem>
582 </varlistentry>
583
584 </variablelist>
585
586 </sect2>
587
588</sect1>
Note: See TracBrowser for help on using the repository browser.