通过网络将扫描件发送到 Linux 机器

设置 Samba 共享,使 Linux 计算机可以通过网络轻松访问扫描仪。
67 位读者喜欢这篇文章。
Files in a folder

著名的自由软件运动起源于一款设计糟糕的打印机。几十年后,打印机和扫描仪制造商仍在重新发明轮子,忽略已建立的通用协议。因此,时不时地,你会偶然发现一台打印机或扫描仪似乎无法与你的操作系统一起工作。

我最近遇到了一台佳能 3 合 1 扫描仪(佳能 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 BoxesVirtualBox 中运行 Windows 开发者虚拟机

打开打印机电源,然后启动 Canon Quick Utility Toolbox。 它应该找到您的打印机。 如果它看不到您的打印机,您必须先配置打印机的 LAN 或无线网络。

在工具箱中,单击目标文件夹设置

输入打印机管理密码 - 我的默认密码是 canon

单击添加按钮。

Add destination folder

使用显示的名称、您的 Samba 共享位置以及您的 Samba 用户名和密码填写表单。

我将 PIN 码留空,但如果您希望每次从打印机扫描时都要求输入 PIN 码,您可以设置一个。 这在办公室中很有用,每个用户都有自己的 Samba 共享和 PIN 码来保护他们的扫描件。

单击连接测试以验证表单数据。

单击确定按钮。

单击注册到打印机以将您的配置保存回打印机。

一切都已设置好。 单击退出。 您现在已完成 Windows 操作,可能也已完成工具箱操作,除非您需要更改某些内容。

开始扫描

您现在可以从打印机扫描,并从其 LCD 菜单中选择您的目标文件夹。 扫描件将直接保存到您可以从 Linux 计算机访问的 Samba 共享。

为方便起见,使用以下命令在您的 Linux 桌面或主目录上创建一个符号链接

$ sudo ln -sd /mnt/MB2720-SCANS /home/tux/Desktop/MB2720-SCANS

就这样!

接下来阅读
标签
User profile image.
Marc 是一位首席解决方案架构师,致力于帮助客户使用 Red Hat 的开源软件解决复杂问题。 凭借在 Linux、安全和网络领域超过 20 年的经验,Marc 可以成功且知识渊博地帮助他的客户。

评论已关闭。

Creative Commons License本作品采用知识共享署名-相同方式共享 4.0 国际许可协议进行许可。
© . All rights reserved.