我有一台 Brother MFC-J895DW 打印机/扫描仪组合。它有一个文档进纸器,因此可以扫描一叠纸(但不是双面打印)。由于 SimpleScan 仅接收纸叠的第一页,因此我创建了一个 bash 脚本来scanadf
自动执行扫描。
问题:
一旦scanadf
完成页面堆栈扫描并正确 (!) 将其存储在磁盘上,就会发生段错误。它似乎对我的结果没有任何影响,但我的脚本崩溃了。
以下是基本命令(取自这篇相关文章):
output_file=/tmp/scan_"$scantimestamp"".pnm"
scanadf -x 210mm -y 297mm --resolution 100 -o "$output_file"_%04d
以下是正确扫描 2 页后的控制台输出:
scanadf: rounded value of br-x from 210 to 209.981
scanadf: rounded value of br-y from 297 to 296.973
Scanned document /tmp/scan_20200114-101601.pnm_0001
Scanned document /tmp/scan_20200114-101601.pnm_0002
Scanned 2 pages
/home/torben/scan.sh: line 11: 28240 Segmentation fault (core dumped) scanadf -x 210mm -y 297mm --resolution 100 -o "$output_file"_%04d
我可能会忽略这个(2>/dev/null
),但我想理解它。有什么想法吗?
答案1
我遇到了同样的问题,并按照以下建议解决了https://forums.linuxmint.com/viewtopic.php?f=51&t=329760,即
sudo apt purge ippusbxd
更多背景信息请点击这里:https://bugs.launchpad.net/hplip/+bug/1871011
经过这一改变,scanimage -h
不再给出错误信息
scanimage: open of device brother4:bus2;dev1 failed: Invalid argument
并且 ADF 扫描开始工作。
注意:奇怪的是,我的打印机 (MFC-L2750DW) 的 USB 驱动程序有 ADF 选项(开始工作后),但 Wifi 驱动程序没有。