每当我想扫描图像时,似乎都无法检测到我的 Brother MFC-9120-CN。但是打印机工作正常。该设备直接连接到我的本地网络。
➜ ~ scanimage -L
device `brother3:net1;dev0' is a Brother MFC-9120CN SCANNER_BROTHER
➜ ~ scanimage --test
scanimage: open of device brother3:net1;dev0 failed: Invalid argument
➜ ~ scanimage
scanimage: open of device brother3:net1;dev0 failed: Invalid argument
与简单扫描的结果相同。
我应该怎么办?
答案1
我也遇到了同样的问题,刚刚偶然发现了这个解决方案https://bugs.launchpad.net/ubuntu/+source/simple-scan/+bug/848575/comments/3
Brother 提供了包含必要驱动程序的软件包brscan
、brscan2
、brscan3
、 ...。遗憾的是,共享库(驱动程序)存储在/usr/lib64
和下面,但 scanimage 会尝试从和/usr/lib64/sane
加载它们。/usr/lib
/usr/lib/sane
因此,解决方案是将这些文件复制或链接到正确的目录
ln -s /usr/lib64/sane/libsane-brother* /usr/lib/sane
ln -s /usr/lib64/libbrscandec* /usr/lib
ln -s /usr/lib64/libbrcolm* /usr/lib
32 位版本没有这个问题,因为共享对象存储在正确的位置。
答案2
Olaf Dietsche 的答案需要针对 Mint 19.1 和 Ubuntu 18.04 进行一些修改。可以使用
strace -e openat scanimage > /dev/null
找到它要查找的库的位置。在本例中,它会libbrscandec3.so
在/lib/x86_64-linux-gnu
、/usr/lib/x86_64-linux-gnu
、/lib
和中查找/usr/lib
。
因此,以 root 身份运行以下命令:
cd /usr/lib/x86_64-linux-gnu
ln -vs /usr/lib64/libbrscandec*.so* .
cd /usr/lib/x86_64-linux-gnu/sane
ln -vs /usr/lib64/sane/libsane-brother*.so* .
这应该适用于基于 brscan3 的扫描仪。其他 brscan 版本可能具有略有不同的库文件名;对于 brscan4,请检查
dpkg -L brscan4 | grep \\.so
查看安装了哪些库文件并需要链接。对于 brscan4,libbrscandec
不需要这些文件;对于 brscan2,libbrcolm2
除了 之外还需要libbrscandec
。
答案3
要查看结果,您应该在终端中输入以下内容:
scanimage -d brother3:net1:dev0 --resolution 150 --mode Color --format=tiff > /tmp/test.tif
PS 别忘了把一些纸放进扫描仪进行扫描。然后你就可以在 /tmp/test.tif 文件中看到扫描结果了。