source: pst/scanning/sane.xml@ be2215e

10.0 10.1 11.0 11.1 11.2 11.3 12.0 12.1 8.4 9.0 9.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 be2215e was 81076bb6, checked in by Bruce Dubbs <bdubbs@…>, 5 years ago

Tags for networking and postscript.
Archive two unused files.

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

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