source: pst/scanning/sane.xml@ e44ac95

10.0 10.1 11.0 11.1 lazarus qt5new trunk upgradedb xry111/intltool xry111/test-20220226
Last change on this file since e44ac95 was e44ac95, checked in by Bruce Dubbs <bdubbs@…>, 2 years ago

Update to sane-frontends-1.0.14.

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

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