通过网络将扫描结果发送到 Linux 计算机
设置 Samba 共享以使 Linux 计算机通过网络轻松访问扫描仪。
众所周知,自由软件运动的开始是由于设计不良的打印机。几十年后,打印机和扫描仪制造商继续重新发明轮子,忽视既定的通用协议。因此,您时不时地会发现打印机或扫描仪似乎与您的操作系统不兼容。
我最近在使用佳能三合一扫描仪(佳能 Maxify MB2720)时发生了这种情况。我能够通过开源解决扫描仪的问题。具体来说,我设置了 Samba 共享以使扫描仪在我的网络上可用。
Samba 项目是一个适用于 Linux 和 Unix 的 Windows 互操作性程序套件。尽管它主要是许多用户从未有意与之交互的低级代码,但该软件可以轻松地通过本地网络共享文件,无论使用什么平台。
我使用的是 Fedora,因此这些说明应该适用于任何基于 RPM 的 Linux 发行版。对于其他发行版可能需要进行较小的修改。我是这样做的。
获取佳能工具
从佳能网站下载所需的 Windows Canon Quick Utility Toolbox 软件。需要该软件,因为它是配置打印机的目标文件夹位置和凭据的唯一方法。完成此操作后,除非您想进行更改,否则不需要使用该工具。
在配置打印机之前,您必须在 Linux 计算机或服务器上设置 Samba 共享。使用以下命令安装 Samba:
$ sudo dnf -y install samba
创建包含以下内容的 /etc/smb.conf
文件:
[global]
workgroup = WORKGROUP
netbios name = MYSERVER
security = user
#CORE needed for CANON PRINTER SCAN FOLDER
min protocol = CORE
#NTML AUTHV1 needed for CANON PRINTER SCAN FOLDER
ntlm auth = yes
passdb backend = tdbsam
printing = cups
printcap name = cups
load printers = no
cups options = raw
hosts allow = 127. 192.168.33.
max smbd processes = 1000
[homes]
comment = Home Directories
valid users = %S, %D%w%S
browseable = No
writable = yes
read only = No
inherit acls = Yes
[SCANS]
comment = MB2720 SCANS
path = /mnt/SCANS
public = yes
writable = yes
browseable = yes
printable = no
force user = tux
create mask = 770
在靠近末尾的 force user
行中,将用户名从 tux
更改为您自己的用户名。
不幸的是,佳能打印机无法使用高于 CORE 或 NTML 身份验证 v2 的服务器消息块 (SMB) 协议。因此,Samba 共享必须配置最旧的 SMB 协议和 NTML 身份验证版本。这无论如何都不理想,并且具有安全隐患,因此我创建了一个专门用于扫描仪用例的单独 Samba 服务器。我的另一台 Samba 服务器共享所有家庭网络文件,仍然使用 SMB 协议 3 和 NTML 身份验证 v2。
启动 Samba 服务器服务并使其重新启动:
$ sudo systemctl start smb
$ sudo systemctl enable smb
创建Samba用户
创建您的 Samba 用户及其密码:
$ sudo smbpasswd -a tux
根据提示输入您的密码。
假设您想在 Linux 系统上安装 Samba 扫描,您需要执行几个步骤。
创建 Samba 客户端凭据文件。我的看起来像这样:
$ sudo cat /root/smb-credentials.txt
username=tux
password=mySTRONGpassword
更改权限,使其不可读:
$ sudo chmod 640 /root/smb-credentials.txt
创建一个挂载点并将其添加到 /etc/fstab
中:
$ sudo mkdir /mnt/MB2720-SCANS
将以下行添加到您的 /etc/fstab
中:
//192.168.33.50/SCANS /mnt/MB2720-SCANS cifs vers=3.0,credentials=/root/smb-credentials.txt,gid=1000,uid=1000,_netdev 0 0
这将使用 CIFS 将 Samba 共享扫描安装到新的安装点,强制使用 SMBv3,并使用存储在 /root/smb-credetials.txt
中的用户名和密码。它还传递用户的组标识符 (GID) 和用户标识符 (UID),为您提供 Linux 安装的完全所有权。需要 _netdev
选项,以便在网络功能完全发挥作用后(例如重新启动后)挂载挂载点,因为此挂载需要访问网络。
配置佳能软件
现在您已经创建了 Samba 共享,在服务器上对其进行了配置,并配置了要在 Linux 客户端上安装的共享,您需要启动 Canon Quick Utility Toolbox 来配置打印机。由于佳能没有发布适用于 Linux 的此工具箱,因此此步骤需要 Windows。您可以尝试在 WINE 上运行它,但如果失败,您将不得不向某人借用 Windows 计算机,或者在 GNOME Boxes 或 VirtualBox 中运行 Windows 开发人员虚拟机。
打开打印机电源,然后启动 Canon Quick Utility Toolbox。它应该找到您的打印机。如果它看不到您的打印机,您必须先将打印机配置为 LAN 或无线网络。
在工具箱中,单击目标文件夹设置。
(马克·斯金纳,CC BY-SA 4.0)
输入打印机管理密码 - 我的默认密码是 canon。
单击添加按钮。
使用显示名称、您的 Samba 共享位置以及您的 Samba 用户名和密码填写表单。
我将 PIN 码留空,但如果您希望每次从打印机扫描时都需要输入 PIN 码,则可以设置一个。这在每个用户都有自己的 Samba 共享和 PIN 来保护其扫描的办公室中非常有用。
单击连接测试以验证表单数据。
单击确定按钮。
单击注册到打印机将您的配置保存回打印机。
(马克·斯金纳,CC BY-SA 4.0)
一切都已准备就绪。单击退出。您现在已经完成了 Windows 的操作,可能还完成了工具箱的操作,除非您需要进行某些更改。
开始扫描
现在,您可以从打印机进行扫描,并从 LCD 菜单中选择目标文件夹。扫描结果直接保存到 Samba 共享中,您可以从 Linux 计算机访问该共享。
为方便起见,请使用以下命令在 Linux 桌面或主目录上创建符号链接:
$ sudo ln -sd /mnt/MB2720-SCANS /home/tux/Desktop/MB2720-SCANS
这里的所有都是它的!