Skip to the content.

上一页      主目录      下一页

47. Scanning


本章包含扫描应用程序,它允许您将打印文档转换为其他应用程序可读的格式化文档。

47.1 SANE-1.0.32


简介SANE

SANE是Scanner Access Now Easy的缩写。然而,扫描仪的访问远非易事,因为每个供应商都有自己的协议。唯一已知的能给这种混乱带来统一的协议是TWAIN接口,但它太不精确了,无法实现稳定的扫描框架。因此,SANE自带协议,不能使用供应商驱动程序。

SANE分为后端和前端。后端是支持的扫描仪和相机的驱动程序。前端是访问后端的用户界面。

已知此包可以使用LFS 11.3平台进行构建并正常工作。

后端包信息

额外下载(前端)

注意

这些文件的上游位置在https://gitlab.com/sane-project,但文件url使用嵌入式md5sum。为方便起见,包已复制到上述位置。

SANE 依赖

可选(后端)

Avahi-0.8, Cups-2.4.2, libjpeg-turbo-2.1.5.1, libtiff-4.5.0, libusb-1.0.26, v4l-utils-1.22.1, Net-SNMP, libieee1284, libgphoto2, 和 texlive-20220321 (或 install-tl-unx)

可选(前端)

a graphical environment, GTK+-2.24.33, 和 Gimp-2.10.32

User Notes: https://wiki.linuxfromscratch.org/blfs/wiki/sane

内核配置,驱动程序和附加包

要访问扫描器,您可能需要相关的内核驱动程序和/或额外的支持包。SCSI扫描器需要SCSI驱动程序,并行端口扫描器需要并行端口支持(您应该使用增强的EPP模式),可能还需要libieee1284, USB扫描器需要libusb-1.0.26包。对于HP设备,您可能需要hplip。确保正确配置了必要的驱动程序来访问设备。

安装SANE

安装SANE后端

SANE守护进程应该在它自己的组中运行。以root用户发出以下命令创建这个组:

groupadd -g 70 scanner

注意

configure假设构建SANE-backends的用户是scanner组的成员,用于测试该组是否存在。因此,应该将构建包的用户添加到scanner组中。作为root用户:

usermod -G scanner -a username

如上所述添加scanner组后,您需要注销并重新登录以激活它。

对于USB扫描器,如果你要链接到libusb-1.0.26,包括配置开关–enable-libusb_1_0。运行如下命令安装SANE-backends:

sg scanner -c "                  \
./configure --prefix=/usr        \
            --sysconfdir=/etc    \
            --localstatedir=/var \
            --with-group=scanner \
            --with-lockdir=/run/lock \
            --docdir=/usr/share/doc/sane-backends-1.0.32" &&
make

要测试结果,执行: make check.

现在,作为root用户:

make install                                         &&
install -m 644 -v tools/udev/libsane.rules           \
                  /etc/udev/rules.d/65-scanner.rules &&
mkdir -p          /run/lock/sane &&
chgrp -v scanner  /run/lock/sane

在打开扫描器的情况下,运行scanimage -L,应该会出现设备的名称和位置。当然,为了运行这个测试,您需要配置设备驱动程序。

安装SANE前端

SANE-frontends包包括图形前端xscanimagexcam,以及命令行前端scanadf。如果您打算使用像XSane-0.999这样的高级图形前端,则不需要这个包。有关前端包的列表,请参见http://www.sane-project.org/sane-frontends.html

安装SANE-frontends的命令如下:

tar -xf ../sane-frontends-1.0.14.tar.gz &&
cd sane-frontends-1.0.14                &&

sed -i -e "/SANE_CAP_ALWAYS_SETTABLE/d" src/gtkglue.c &&
./configure --prefix=/usr --mandir=/usr/share/man &&
make

这个包没有附带测试套件。

现在,作为root用户:

make install &&
install -v -m644 doc/sane.png xscanimage-icon-48x48-2.png \
    /usr/share/sane

如果GIMP被链接到构建中,并且你希望GIMP使用xscanimage作为扫描插件,以root用户发出以下命令:

ln -v -s ../../../../bin/xscanimage /usr/lib/gimp/2.0/plug-ins

注意

如果插件xscanimage在GIMP的菜单中被禁用,为了启用它,使用菜单或Ctrl-N“创建”一个空白图像。之后,它被启用。

命令解释

sg scanner -c “…“: 在主组scanner的双引号之间运行命令。如果用户刚刚添加到组扫描器,并且没有注销和登录,则可能需要这样做。

--sysconfdir=/etc: 此交换机将配置文件安装在/etc/sane.d中,而不是/usr/etc/sane.d中。

--with-group=scanner: 该参数使为锁定文件创建的目录归scanner组所有,而不是默认的uucp组。

exit: 该命令用于退出su命令创建的shell。

配置SANE

配置文件

/etc/sane.d/*.conf

配置信息

后端配置

后端配置文件位于/etc/sane.d中。配置各种后端所需的信息可以通过使用man(5)页面找到。运行man sane-<backend>,替换所需的后端。

将任何需要的用户添加到scanner组。

如果你想访问网络扫描器,在net.conf中包含两行,作为root用户(确保替换按实际值,如下):

cat >> /etc/sane.d/net.conf << "EOF"
connect_timeout = 60
<server_ip>
EOF

在服务器端,将客户端ip包含在/etc/sane.d/saned.conf的访问列表中,重新启动saned守护进程,并确保防火墙(如果有的话)对客户端打开。

前端配置

如果您使用Gnome或KDE之类的桌面环境,您可能希望创建一个xscanimage.desktop文件,以便xscanimage出现在面板的菜单中。作为root用户:

mkdir -pv /usr/share/{applications,pixmaps}               &&

cat > /usr/share/applications/xscanimage.desktop << "EOF" &&
[Desktop Entry]
Encoding=UTF-8
Name=XScanImage - Scanning
Comment=Acquire images from a scanner
Exec=xscanimage
Icon=xscanimage
Terminal=false
Type=Application
Categories=Application;Graphics
EOF

ln -svf ../sane/xscanimage-icon-48x48-2.png /usr/share/pixmaps/xscanimage.png
一般信息

有关配置和使用SANE的一般信息,请参见man sane。有关USB扫描设备的信息,请执行命令man sane-usb。有关SCSI设备的信息,请执行man sane-scsi命令。

配置和设置’saned’守护进程

saned守护进程不应该用于不受信任的客户端。您应该提供Firewalling保护,以确保只有受信任的客户端才能访问守护进程。由于需要确保只有受信任的客户端才能访问守护进程,因此BLFS没有提供配置saned守护进程的说明。可以在https://penguin-breeder.org/sane/saned/上找到一些关于设置和保护saned守护进程的好的(但过时的)信息。

内容

后端:

安装程序: gamma4scanimage, sane-config, saned, sane-find-scanner, 和 scanimage

安装库: libsane.so 以及众多扫描器后端模块

安装目录: /etc/sane.d, /usr/{include,lib,share}/sane, 和 /usr/share/doc/sane-1.0.32

前端:

安装程序: scanadf, xcam, 和 xscanimage

安装库: GIMP插件嵌入在xscanimage

安装目录: None

简短描述

gamma4scanimagescanimage期望的格式创建一个gamma表。

sane-config 是一个工具,用于确定编译器和链接器标志,这些标志应用于编译和链接SANE。

saned 是允许远程客户端访问本地主机上可用的图像采集设备的SANE守护进程。

sane-find-scanner 是一个命令行工具,用于查找SCSI和USB扫描仪并确定其设备文件。它的主要目的是确保扫描仪可以被SANE后端检测到。

scanadf 是一个命令行接口,用于控制配备了自动文档馈送器(ADF)的图像采集设备。

scanimage 是用于从图像采集设备(如平板扫描仪或相机)进行扫描的命令行接口。它还用于列出可用的后端设备。

xcam 是一个用于SANE的图形相机前端。

xscanimage 是用于扫描的图形用户界面。

libsane.so 是用于前端和后端之间通信的应用程序编程接口。

libsane-*.so 模块是后端扫描库插件,用于与扫描设备接口。请参阅http://www.sane-project.org/sane-supported-devices.html获取支持的后端列表。

47.2 XSane-0.999


简介XSane

XSane是SANE-1.0.32的另一个前端。它有额外的功能,以提高图像质量和易用性相比xscanimage

已知此包可以使用LFS 11.3平台进行构建并正常工作。

包信息

XSane 依赖

必要

GTK+-2.24.33SANE-1.0.32 (后端)

可选

Little CMS-1.19Gimp-2.10.32

用户笔记: https://wiki.linuxfromscratch.org/blfs/wiki/xsane

安装XSane

执行以下命令安装XSane:

sed -i -e 's/png_ptr->jmpbuf/png_jmpbuf(png_ptr)/' src/xsane-save.c &&
./configure --prefix=/usr                                           &&
make

这个包没有附带测试套件。

现在,作为root用户:

make xsanedocdir=/usr/share/doc/xsane-0.999 install &&
ln -v -s ../../doc/xsane-0.999 /usr/share/sane/xsane/doc

您选择的浏览器可以用来获取内联帮助,使用以下命令,作为root用户:

ln -v -s <browser> /usr/bin/netscape

注意

一定要替换在您的系统上使用您选择的浏览器。

或者,如果环境变量BROWSER设置为你想要使用的浏览器,例如BROWSER=”/usr/bin/firefox”,那么你第一次运行xsane时,它将被记录在~/.sane/xsane/xsane.rc中。如果您希望更改它,请编辑或删除该文件,并使用上面的说明,以便创建一个新文件。

如果安装了GIMP,以root用户执行如下命令:

ln -v -s /usr/bin/xsane /usr/lib/gimp/2.0/plug-ins/

命令解释

ln -v -s ../../doc/xsane-0.999 /usr/share/sane/xsane/doc: 创建这个符号链接是为了确保在默认位置查找XSane文档的任何程序都能找到它,因为文档安装在make install命令中指定的备用位置。

ln -v -s /usr/bin/xsane /usr/lib/gimp/2.0/plug-ins/: 这将在系统范围的GIMP“插件”目录中创建一个链接,以便用户可以直接从GIMP访问XSane。在构建XSane之前,GIMP必须可用。或者,在~/.gimp-2.0/plug-ins/中创建链接以提供个人用户访问。man xsane查看更多信息。

内容

安装程序: xsane

安装库: None

安装目录: /usr/share/doc/xsane-0.999 和 /usr/share/sane/xsane

简短描述

xsane 是一个图形用户界面,用于控制图像采集设备,如平板扫描仪。

上一页      主目录      下一页