在我看来,使用 Ubuntu Precise Pangolin 可以很容易地从源代码(git-repo)正确安装 SANE。
在尝试寻找此问题的答案时,我发现了其他扫描问题,人们发布的输出似乎表明他们(不知不觉地)遇到了同样的问题。
如果我运行全新安装的 Ubuntu 12.04 并从 git 编译了 SANE 源,我会得到:
$ scanimage -V
scanimage (sane-backends) 1.0.24git; backend version 1.0.22
(我基本上按照 http://ubuntuportal.com/2012/02/如何获取佳能canoscan-lide-100扫描仪在ubuntu-11-10linux-mint-12.html 因为我没有找到任何其他信息来确保在安装之前没有安装 sane。)
我主要感兴趣的是 epson2-backend。在 1.0.22 中,它为 Epson V700 提供了错误的 TPU 设置(1.0.22 不支持 TPU2 模式,如果我没有 TPU2 支持,扫描仪对我来说就没用了)。
因为如果我要求它进入透明模式,它会显示 1.0.22 的行为,这意味着 epson2-backend 来自 1.0.22 而不是 1.0.24,即使我刚刚构建了它。
如果我安装带有本地文件夹前缀的 SANE 并运行该版本的 scanimage,它仍然会产生不匹配的情况。
但是,在升级到 Ubuntu 12.04 之前,我在另一台计算机上安装了自定义的 SANE 1.0.22 版本,我可以在本地构建和安装相同的 SANE-git,并使其正确匹配后端:
$ ./SANE/bin/scanimage -V
scanimage (sane-backends) 1.0.24git; backend version 1.0.24
$ scanimage -V
scanimage (sane-backends) 1.0.22; backend version 1.0.22
在这台计算机上,1.0.24 可以正确找到 Epson V700 上的 TPU2。
那么我遗漏了什么或者做错了什么?
(并且我想将整个系统的 1.0.22 替换为 1.0.24,本地构建只是进行调试。)
任何帮助将非常感激。
编辑1:
刚刚尝试使用编译 SANE此指令在 Ubuntu 10.04 上,它运行良好。但是,当我升级到 12.04(真的很想运行 12.04)时,SANE 降级为 1.0.22。当我在 12.04 上尝试同样的指令集时,我仍然运气不佳——后端不匹配再次出现(我确实安装了 libusb-dev)
编辑2:
我已更新至 Ubuntu 12.10,现在它拥有 1.0.23 SANE 驱动程序。我不敢尝试在 12.10 上从源代码进行编译,因为 1.0.23 对我来说已经足够好了。这只是一种解决方法,我仍然想知道 Ubuntu 12.04 的情况。
编辑3:
尝试使用上述 ubuntu 指南在 12.10 上构建 SANE 并构建到本地目录。两次尝试都导致后端不匹配。
答案1
好的,我遇到了同样的问题,这就是我解决问题的方法。
在以下机构的帮助下http://www.sane-project.org/README.linux
首先,断开扫描仪的连接,然后重新开始。我卸载了以及的Xsane
所有相关内容synaptic
。我还卸载了 的所有内容configured
。您 可以这样做:make install
sane-backends-git
$ cd [your sane-backends-git folder]
$ sudo make uninstall
之后我检查了是否还有任何 libsane.so.1(以及任何其他与之相关的档案sane
)。
sudo find / -name libsane.so.1
好的,一切都清楚了。
xsane
再次安装synaptic
,还有一些dependencies
xsane 0.998-3ubuntu2
libsane 1.0.22-7ubuntu1
libsane-common 1.0.22-7ubuntu1
xsane-common 0.998-3ubuntu2
sane-utils 1.0.22-7ubuntu1
测试输出scanimage -V
,只是为了好玩
scanimage (sane-backends) 1.0.22; backend version 1.0.22
下一步,按照 README.linux 1.0.24.git 文档进行。
首先找到libsane.so.1
sudo find / -name libsane.so.1
并且,根据您的系统,记下文件夹libsane.so.1
的位置。 就我而言:
/usr/lib/i386-linux-gnu/libsane.so.1
然后从你的sane-backends-git
文件夹中
./configure 2>&1 | tee ~/thiscommandwritesalogfiletoyourhomefolder.log
它2>&1 | tee
会将日志文件写入您定义的位置。这很有用,但不是必须的。请检查 configure 的输出是否支持 usb。此信息来自最后几行之一。如果没有,您需要libusb-dev
立即安装并重新运行 configure。
安装 sane-git 到/usr/local/lib/
$ make && sudo make install
然后是最重要的部分之一,创建符号链接。请注意,在这里您必须更改所在文件夹的名称libsane.so.1
。(请参阅上文如何操作)
$ cd /usr/lib/i386-linux-gnu
$ sudo ln -sf /usr/local/lib/libsane.so.1.0.24 libsane.so.1
$ sudo ln -sf /usr/local/lib/sane/libsane.la libsane.la
$ cd -
copy udev rules file
$ sudo cp tools/udev/libsane.rules /etc/udev/rules.d
将扫描仪重新连接到 USB 总线
加入群组扫描仪
sudo adduser [YOU] saned
sudo adduser [YOU] scanner
并logoff
再次login
这样就可以了。
scanimage -V
应该提供最新的 libsane 后端,并且 Xsane 应该可以正常工作。
希望它对你有帮助。
和笔记, 如果您在关闭 Xsane 时遇到问题,只需删除主文件夹中的隐藏文件 .sane,输入Ctrl-H
,nautilus
您就会找到它。