source: pst/scanning/sane.xml@ 78b2022

11.1 11.2 11.3 12.0 12.1 kea ken/TL2024 ken/inkscape-core-mods ken/tuningfonts lazarus lxqt 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 78b2022 was 78b2022, checked in by Bruce Dubbs <bdubbs@…>, 3 years ago

Update to sane-backends-1.0.32

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