source: pst/scanning/sane.xml@ 12a3cd17

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 xry111/intltool xry111/llvm18 xry111/soup3 xry111/test-20220226 xry111/xf86-video-removal
Last change on this file since 12a3cd17 was 12a3cd17, checked in by Bruce Dubbs <bdubbs@…>, 2 years ago

A few more tags

  • Property mode set to 100644
File size: 21.3 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 &lfs111_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 Download 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 --with-lockdir=/run/lock \
228 --docdir=/usr/share/doc/sane-backends-&sane-version;" &amp;&amp;
229make</userinput></screen>
230
231 <para>
232 To test the results, issue: <command>make check</command>.
233 </para>
234
235 <para>
236 Now, as the <systemitem class="username">root</systemitem> user:
237 </para>
238
239<screen role="root"><userinput>make install &amp;&amp;
240install -m 644 -v tools/udev/libsane.rules \
241 /etc/udev/rules.d/65-scanner.rules &amp;&amp;
242mkdir -p /run/lock/sane &amp;&amp;
243chgrp -v scanner /run/lock/sane</userinput></screen>
244
245 <para>
246 With the scanner on, run <command>scanimage -L</command> and the
247 name and location of the device should appear. Of course, you need the
248 device drivers configured, in order to run this test.
249 </para>
250
251 </sect3>
252
253 <sect3>
254 <title>Installation of SANE Front Ends</title>
255
256 <para>
257 The <application>SANE</application>-frontends package
258 includes the graphical frontends <command>xscanimage</command> and
259 <command>xcam</command>, and a command-line frontend
260 <command>scanadf</command>. You don't need this package if you intend
261 to use one of the more advanced graphical frontends like
262 <xref linkend="xsane"/>. For a list of frontend packages, see
263 <ulink url="http://www.sane-project.org/sane-frontends.html"/>.
264 </para>
265
266 <para>
267 To install <application>SANE</application>-frontends,
268 use the following commands:
269 </para>
270
271<screen><userinput>tar -xf ../sane-frontends-&sane-fe-version;.tar.gz &amp;&amp;
272cd sane-frontends-&sane-fe-version; &amp;&amp;
273
274sed -i -e "/SANE_CAP_ALWAYS_SETTABLE/d" src/gtkglue.c &amp;&amp;
275./configure --prefix=/usr --mandir=/usr/share/man &amp;&amp;
276make</userinput></screen>
277
278 <para>
279 This package does not come with a test suite.
280 </para>
281
282 <para>
283 Now, as the <systemitem class="username">root</systemitem> user:
284 </para>
285
286<screen role="root"><userinput>make install &amp;&amp;
287install -v -m644 doc/sane.png xscanimage-icon-48x48-2.png \
288 /usr/share/sane</userinput></screen>
289
290 <para>
291 If <application>GIMP</application> was linked into the build and
292 you wish <application>GIMP</application> to use
293 <command>xscanimage</command> as a scanning plugin, issue the following
294 command as the <systemitem class="username">root</systemitem> user:
295 </para>
296
297<screen role="root"><userinput>ln -v -s ../../../../bin/xscanimage /usr/lib/gimp/2.0/plug-ins</userinput></screen>
298
299 <note>
300 <para>
301 If the plugin <command>xscanimage</command> is disabled in
302 <application>GIMP</application>'s menu, in order to enable it,
303 "create" a blank image using the menu or Ctrl-N. After that, it is
304 enabled.
305 </para>
306 </note>
307
308 </sect3>
309
310 </sect2>
311
312 <sect2 role="commands">
313 <title>Command Explanations</title>
314
315 <para>
316 <command>sg scanner -c "..."</command>: runs the command between double
317 quotes with principal group <systemitem
318 class="groupname">scanner</systemitem>. This may be needed if the user
319 has been newly added to group scanner, and has not logged out and in.
320 </para>
321
322 <para>
323 <parameter>--sysconfdir=/etc</parameter>: This switch installs the
324 configuration files in <filename class="directory">/etc/sane.d</filename>
325 instead of <filename class="directory">/usr/etc/sane.d</filename>.
326 </para>
327
328 <para>
329 <parameter>--with-group=scanner</parameter>: This parameter causes
330 the directory created for the locking files to be group owned by the
331 <systemitem class="groupname">scanner</systemitem> group instead of the
332 default <systemitem class="groupname">uucp</systemitem> group.
333 </para>
334
335 <para>
336 <command>exit</command>: This command is used to exit the shell
337 created by the <command>su</command> command.
338 </para>
339 </sect2>
340
341 <sect2 role="configuration">
342 <title>Configuring SANE</title>
343
344 <sect3 id="sane-config">
345 <title>Config Files</title>
346
347 <para>
348 <filename>/etc/sane.d/*.conf</filename>
349 </para>
350
351 <indexterm zone="sane sane-config">
352 <primary sortas="e-etc-sane.d-conf">/etc/sane.d/*.conf</primary>
353 </indexterm>
354
355 </sect3>
356
357 <sect3>
358 <title>Configuration Information</title>
359
360 <sect4>
361 <title>Backend Configuration</title>
362
363 <para>
364 The backend configuration files are located in
365 <filename class='directory'>/etc/sane.d</filename>. Information
366 for configuring the various backends can be found by using the man(5)
367 page for the desired backend. Run
368 <command>
369 man sane-<replaceable>&lt;backend&gt;</replaceable></command>,
370 substituting the desired backend.
371 </para>
372
373 <para>
374 Add any desired users to the <systemitem
375 class="groupname">scanner</systemitem> group.
376 </para>
377
378 <para>
379 If you want to access a network scanner, include two lines in
380 <filename>net.conf</filename>, as <systemitem
381 class="username">root</systemitem> user (make sure to replace
382 &lt;server_ip&gt; by the actual value, below):
383 </para>
384
385<screen role="root"><userinput>cat &gt;&gt; /etc/sane.d/net.conf &lt;&lt; "EOF"
386<literal>connect_timeout = 60
387&lt;server_ip&gt;</literal>
388EOF</userinput></screen>
389
390 <para>
391 On the server side, include the client ip in the access list of
392 <filename>/etc/sane.d/saned.conf</filename>, restart the
393 <command>saned</command> daemon, and make sure the firewall, if any,
394 is open to the client.
395 </para>
396
397 </sect4>
398
399 <sect4>
400 <title>Frontend Configuration</title>
401 <para>
402 If you use a desktop environment like <application>Gnome</application>
403 or <application>KDE</application> you may wish to create a
404 <filename>xscanimage.desktop</filename> file so that
405 <application>xscanimage</application> appears in the panel's menus.
406 As the <systemitem class="username">root</systemitem> user:
407 </para>
408
409<screen role="root"><userinput>mkdir -pv /usr/share/{applications,pixmaps} &amp;&amp;
410
411cat &gt; /usr/share/applications/xscanimage.desktop &lt;&lt; "EOF" &amp;&amp;
412<literal>[Desktop Entry]
413Encoding=UTF-8
414Name=XScanImage - Scanning
415Comment=Acquire images from a scanner
416Exec=xscanimage
417Icon=xscanimage
418Terminal=false
419Type=Application
420Categories=Application;Graphics</literal>
421EOF
422
423ln -svf ../sane/xscanimage-icon-48x48-2.png /usr/share/pixmaps/xscanimage.png</userinput></screen>
424
425 </sect4>
426
427 <sect4>
428 <title>General Information</title>
429
430 <para>
431 For general information about configuring and using
432 <application>SANE</application>, see <command>man sane</command>.
433 For information about USB scanning devices,
434 run <command>man sane-usb</command>. For information about SCSI
435 devices, run <command>man sane-scsi</command>.
436 </para>
437
438 </sect4>
439
440 <sect4>
441 <title>Configuration and setup of the 'saned' daemon</title>
442
443 <para>
444 The <command>saned</command> daemon is not meant to be used for
445 untrusted clients. You should provide <xref linkend="fw-firewall"/>
446 protection to ensure only trusted clients access the daemon. Due to
447 the complex security requirements to ensure only trusted clients
448 access the daemon, BLFS does not provide
449 instructions to configure the <command>saned</command> daemon.
450 Some good (but outdated)
451 information for setting up and securing the <command>saned</command>
452 daemon can be found at
453 <ulink url="http://penguin-breeder.org/sane/saned/"/>.
454 </para>
455
456 </sect4>
457
458 </sect3>
459
460 </sect2>
461
462 <sect2 role="content">
463 <title>Contents</title>
464
465 <bridgehead renderas="sect4">Back Ends:</bridgehead>
466 <segmentedlist>
467 <segtitle>Installed Programs</segtitle>
468 <segtitle>Installed Libraries</segtitle>
469 <segtitle>Installed Directories</segtitle>
470
471 <seglistitem>
472 <seg>gamma4scanimage, sane-config, saned, sane-find-scanner,
473 and scanimage</seg>
474 <seg>libsane.so and numerous scanner backend modules</seg>
475 <seg>/etc/sane.d, /usr/{include,lib,share}/sane,
476 and /usr/share/doc/sane-&sane-version;</seg>
477 </seglistitem>
478 </segmentedlist>
479
480 <bridgehead renderas="sect4">Front Ends:</bridgehead>
481 <segmentedlist>
482 <segtitle>Installed Programs</segtitle>
483 <segtitle>Installed Library</segtitle>
484 <segtitle>Installed Directories</segtitle>
485
486 <seglistitem>
487 <seg>scanadf, xcam, and xscanimage</seg>
488 <seg><application>GIMP</application> plugin embedded in
489 <command>xscanimage</command></seg>
490 <seg>None</seg>
491 </seglistitem>
492 </segmentedlist>
493
494 <variablelist>
495 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
496 <?dbfo list-presentation="list"?>
497 <?dbhtml list-presentation="table"?>
498
499 <varlistentry id="gamma4scanimage">
500 <term><command>gamma4scanimage</command></term>
501 <listitem>
502 <para>
503 creates a gamma table in the format expected by
504 <command>scanimage</command>
505 </para>
506 <indexterm zone="sane gamma4scanimage">
507 <primary sortas="b-gamma4scanimage">gamma4scanimage</primary>
508 </indexterm>
509 </listitem>
510 </varlistentry>
511
512 <varlistentry id="sane-config-prog">
513 <term><command>sane-config</command></term>
514 <listitem>
515 <para>
516 is a tool used to determine the compiler and linker
517 flags that should be used to compile and link
518 <application>SANE</application>
519 </para>
520 <indexterm zone="sane sane-config-prog">
521 <primary sortas="b-sane-config">sane-config</primary>
522 </indexterm>
523 </listitem>
524 </varlistentry>
525
526 <varlistentry id="saned">
527 <term><command>saned</command></term>
528 <listitem>
529 <para>
530 is the <application>SANE</application> daemon that
531 allows remote clients to access image acquisition devices
532 available on the local host
533 </para>
534 <indexterm zone="sane saned">
535 <primary sortas="b-saned">saned</primary>
536 </indexterm>
537 </listitem>
538 </varlistentry>
539
540 <varlistentry id="sane-find-scanner">
541 <term><command>sane-find-scanner</command></term>
542 <listitem>
543 <para>
544 is a command-line tool to find SCSI and
545 USB scanners and determine their device files. Its primary
546 purpose is to make sure that scanners can be detected by
547 <application>SANE</application> backends
548 </para>
549 <indexterm zone="sane sane-find-scanner">
550 <primary sortas="b-sane-find-scanner">sane-find-scanner</primary>
551 </indexterm>
552 </listitem>
553 </varlistentry>
554
555 <varlistentry id="scanadf">
556 <term><command>scanadf</command></term>
557 <listitem>
558 <para>
559 is a command-line interface to control image acquisition
560 devices which are equipped with an automatic document feeder (ADF)
561 </para>
562 <indexterm zone="sane scanadf">
563 <primary sortas="b-scanadf">scanadf</primary>
564 </indexterm>
565 </listitem>
566 </varlistentry>
567
568 <varlistentry id="scanimage">
569 <term><command>scanimage</command></term>
570 <listitem>
571 <para>
572 is a command line interface for scanning from image acquisition
573 devices such as flatbed scanners or cameras. It is also used to
574 list the available backend devices
575 </para>
576 <indexterm zone="sane scanimage">
577 <primary sortas="b-scanimage">scanimage</primary>
578 </indexterm>
579 </listitem>
580 </varlistentry>
581
582 <varlistentry id="xcam">
583 <term><command>xcam</command></term>
584 <listitem>
585 <para>
586 is a graphical camera front end for
587 <application>SANE</application>
588 </para>
589 <indexterm zone="sane xcam">
590 <primary sortas="b-xcam">xcam</primary>
591 </indexterm>
592 </listitem>
593 </varlistentry>
594
595 <varlistentry id="xscanimage">
596 <term><command>xscanimage</command></term>
597 <listitem>
598 <para>
599 is a graphical user interface for scanning
600 </para>
601 <indexterm zone="sane xscanimage">
602 <primary sortas="b-xscanimage">xscanimage</primary>
603 </indexterm>
604 </listitem>
605 </varlistentry>
606
607 <varlistentry id="libsane">
608 <term><filename class="libraryfile">libsane.so</filename></term>
609 <listitem>
610 <para>
611 is the application programming interface that is used to
612 communicate between frontends and backends
613 </para>
614 <indexterm zone="sane libsane">
615 <primary sortas="c-libsane">libsane.so</primary>
616 </indexterm>
617 </listitem>
618 </varlistentry>
619
620 <varlistentry id="libsane-module">
621 <term><filename class="libraryfile">libsane-*.so</filename></term>
622 <listitem>
623 <para>
624 modules are backend scanning library plugins used to interface
625 with scanning devices. See
626 <ulink url="http://www.sane-project.org/sane-supported-devices.html"/>
627 for a list of supported backends
628 </para>
629 <indexterm zone="sane libsane-module">
630 <primary sortas="c-libsane-module">libsane-*.so</primary>
631 </indexterm>
632 </listitem>
633 </varlistentry>
634
635 </variablelist>
636
637 </sect2>
638
639</sect1>
Note: See TracBrowser for help on using the repository browser.