source: pst/scanning/sane.xml@ e570555

10.0 10.1 11.0 11.1 11.2 11.3 12.0 12.1 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 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 e570555 was e570555, checked in by Bruce Dubbs <bdubbs@…>, 7 years ago

Finish tagging multimedia, postlfs, and pst sections

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

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