通過網(wǎng)絡將你的掃描結果發(fā)送到 Linux 機器上
設置一個 Samba 共享,使掃描儀可以容易地被網(wǎng)絡上的一臺 Linux 計算機訪問。
自由軟件運動 因為一臺設計不良的打印機 而開始。幾十年后,打印機和掃描儀制造商繼續(xù)重新發(fā)明輪子,無視既定的通用協(xié)議。因此,每隔一段時間,你就會偶然發(fā)現(xiàn)一臺打印機或掃描儀似乎無法與你的操作系統(tǒng)配合使用。
最近,我在一臺佳能三合一掃描儀(佳能 Maxify MB2720)上遇到了這種情況。我用開源方案解決這個掃描儀的問題。具體來說,我設置了一個 Samba 共享,使掃描儀在我的網(wǎng)絡上可用。
Samba 項目 是一個用于 Linux/Unix 與 Windows 互操作的套件。盡管它是大多數(shù)用戶從未與之交互的低級代碼,但該軟件使得在你的本地網(wǎng)絡上共享文件變得很容易,而不管使用的是什么平臺。
我使用的是 Fedora,所以這些說明應該適用于任何基于 RPM 的 Linux 發(fā)行版。對于其他發(fā)行版,可能需要做一些小的修改。下面是我的做法。
獲取佳能工具
從佳能的網(wǎng)站上下載所需的用于 Windows 的 “佳能快速實用工具箱”。該軟件是必需的,因為它是配置打印機目標文件夾位置和憑證的唯一方法。完成后,你就不需要再使用該工具了,除非你想做出改變。
在配置打印機之前,你必須在你的 Linux 電腦或服務器上設置一個 Samba 共享。用以下命令安裝 Samba:
$ sudo dnf -y install samba
創(chuàng)建 /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)協(xié)議一起工作。由于這個原因,Samba 共享必須配置最古老的 SMB 協(xié)議和 NTML 認證版本。這無論如何都不理想,而且有安全問題,所以我創(chuàng)建了一個單獨的 Samba 服務器,專門用于掃描儀。我的另一臺共享所有家庭網(wǎng)絡文件的 Samba 服務器仍然使用 SMB 3 和 NTML v2 認證版本。
啟動 Samba 服務端服務,并啟用它:
$ sudo systemctl start smb
$ sudo systemctl enable smb
創(chuàng)建一個 Samba 用戶
創(chuàng)建你的 Samba 用戶并為其設置密碼:
$ sudo smbpasswd -a tux
在提示符下輸入你的密碼。
假設你想在 Linux 系統(tǒng)上掛載你的 Samba 掃描儀,你需要做幾個步驟。
創(chuàng)建一個 Samba 客戶端憑證文件。我的看起來像這樣:
$ sudo cat /root/smb-credentials.txt
username=tux
password=mySTRONGpassword
改變權限,使其不能被其他人閱讀:
$ sudo chmod 640 /root/smb-credentials.txt
創(chuàng)建一個掛載點并將其添加到 /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
選項是必需的,以便在網(wǎng)絡正常后(例如重啟后)掛載該掛載點,因為該掛載點需要網(wǎng)絡來訪問。
配置佳能軟件
現(xiàn)在你已經(jīng)創(chuàng)建了 Samba 共享,在服務器上進行了配置,并將該共享配置到 Linux 客戶端上,你需要啟動“佳能快速實用工具箱”來配置打印機。因為佳能沒有為 Linux 發(fā)布工具箱,所以這一步需要 Windows。你可以嘗試 在 WINE 上運行它,但如果失敗了,你就必須向別人借一臺 Windows 電腦,或者在 GNOME Boxes 或 VirtualBox 中運行一個 Windows 開發(fā)者虛擬機。
打開打印機,然后啟動佳能快速實用工具箱。它應該能找到你的打印機。如果不能看到你的打印機,你必須先將打印機配置為 LAN 或無線網(wǎng)絡。
在工具箱中,點擊“目標文件夾設置”。
Canon Quick Utility Toolbox
輸入打印機管理密碼。我的默認密碼是 “canon”。
單擊“添加”按鈕。
Add destination folder
在表格中填寫“顯示名”、“目標位置共享文件夾名稱”,以及你的 Samba “域名/用戶名”和“密碼”。
我把 “PIN 碼”留空,但如果你想要求每次從打印機掃描時都要輸入 PIN 碼,你可以設置一個。這在辦公室里很有用,每個用戶都有自己的 Samba 共享和 PIN 碼來保護他們的掃描。
點擊“連接測試”來驗證表格數(shù)據(jù)。
點擊 “OK” 按鈕。
點擊 “注冊到打印機”,將你的配置保存到打印機上。
Register to Printer
一切都設置好了。點擊“退出”。你現(xiàn)在已經(jīng)完成了 Windows 的操作,可能還有工具箱,除非你需要改變什么。
開始掃描
你現(xiàn)在可以從打印機掃描,并從其 LCD 菜單中選擇你的“目標文件夾”。掃描結果將直接保存到 Samba 共享中,你可以從你的 Linux 電腦上訪問該共享。
為方便起見,用以下命令在你的 Linux 桌面或家目錄上創(chuàng)建一個符號鏈接:
$ sudo ln -sd /mnt/MB2720-SCANS /home/tux/Desktop/MB2720-SCANS
這就是全部內容了!