Die Freie-Software-Bewegung begann bekanntlich mit einem schlecht gestalteten Drucker. Jahrzehnte später erfinden Drucker- und Scannerhersteller das Rad immer wieder neu und ignorieren etablierte und universelle Protokolle. Infolgedessen stolpern Sie hin und wieder über einen Drucker oder Scanner, der mit Ihrem Betriebssystem einfach nicht zu funktionieren scheint.
Dies ist mir kürzlich mit einem Canon 3-in-1-Scanner (dem Canon Maxify MB2720) passiert. Ich konnte das Problem des Scanners mit Open Source lösen. Konkret habe ich eine Samba-Freigabe eingerichtet, um den Scanner in meinem Netzwerk verfügbar zu machen.
Das Samba-Projekt ist eine Windows-Interoperabilitäts-Suite von Programmen für Linux und Unix. Obwohl es sich hauptsächlich um Low-Level-Code handelt, mit dem viele Benutzer nie wissentlich interagieren, erleichtert die Software die gemeinsame Nutzung von Dateien über Ihr lokales Netzwerk, unabhängig davon, welche Plattformen verwendet werden.
Ich verwende Fedora, daher sollten diese Anweisungen für jede RPM-basierte Linux-Distribution funktionieren. Für andere Distributionen können geringfügige Änderungen erforderlich sein. So habe ich es gemacht.
Holen Sie sich die Canon-Tools
Laden Sie die erforderliche Windows Canon Quick Utility Toolbox-Software von der Canon-Website herunter. Die Software ist erforderlich, da sie die einzige Möglichkeit ist, den Zielordner und die Anmeldeinformationen des Druckers zu konfigurieren. Sobald dies erledigt ist, müssen Sie das Tool nicht mehr verwenden, es sei denn, Sie möchten eine Änderung vornehmen.
Bevor Sie den Drucker konfigurieren, müssen Sie auf Ihrem Linux-Computer oder -Server eine Samba-Freigabe einrichten. Installieren Sie Samba mit dem folgenden Befehl:
$ sudo dnf -y install samba
Erstellen /etc/smb.conf
Datei mit folgendem Inhalt:
[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
Im force user
Zeile am Ende, ändern Sie den Benutzernamen von tux
auf Ihren eigenen Benutzernamen.
Leider funktioniert der Canon-Drucker nicht mit Server Message Block (SMB)-Protokollen, die höher als die CORE- oder NTML-Authentifizierung v2 sind. Aus diesem Grund muss die Samba-Freigabe mit den ältesten SMB-Protokoll- und NTML-Authentifizierungsversionen konfiguriert werden. Dies ist keineswegs ideal und hat Auswirkungen auf die Sicherheit, daher habe ich einen separaten Samba-Server erstellt, der dem Anwendungsfall des Scanners gewidmet ist. Mein anderer Samba-Server, der alle Heimnetzwerkdateien gemeinsam nutzt, verwendet immer noch das SMB-Protokoll 3 und die NTML-Authentifizierung v2.
Starten Sie den Samba-Server-Dienst und aktivieren Sie ihn für den Neustart:
$ sudo systemctl start smb
$ sudo systemctl enable smb
Erstellen Sie einen Samba-Benutzer
Erstellen Sie Ihren Samba-Benutzer und ein Passwort dafür:
$ sudo smbpasswd -a tux
Geben Sie Ihr Passwort an der Eingabeaufforderung ein.
Angenommen, Sie möchten Ihre Samba-Scans auf einem Linux-System mounten, müssen Sie einige Schritte ausführen.
Erstellen Sie eine Samba-Client-Anmeldedatendatei. Meine sieht so aus:
$ sudo cat /root/smb-credentials.txt
username=tux
password=mySTRONGpassword
Ändern Sie die Berechtigungen so, dass sie nicht weltweit lesbar sind:
$ sudo chmod 640 /root/smb-credentials.txt
Erstellen Sie einen Mount-Punkt und fügen Sie ihn hinzu /etc/fstab
:
$ sudo mkdir /mnt/MB2720-SCANS
Fügen Sie die folgende Zeile in Ihr . ein /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
Dies mountet die Samba-Share-Scans mit CIFS an den neuen Mount-Punkt, erzwingt SMBv3 und verwendet den Benutzernamen und das Passwort, die in gespeichert sind /root/smb-credetials.txt
. Es übergibt auch die Gruppenkennung (GID) und die Benutzerkennung (UID) des Benutzers, wodurch Sie das vollständige Eigentum an dem Linux-Mount erhalten. Der _netdev
Option ist erforderlich, damit der Mount-Punkt gemountet wird, nachdem das Netzwerk voll funktionsfähig ist (z. B. nach einem Neustart), da dieser Mount einen Zugriff auf das Netzwerk erfordert.
Konfigurieren Sie die Canon-Software
Nachdem Sie nun die Samba-Freigabe erstellt, auf dem Server konfiguriert und die Freigabe für das Mounten auf Ihrem Linux-Client konfiguriert haben, müssen Sie die Canon Quick Utility Toolbox starten, um den Drucker zu konfigurieren. Da Canon diese Toolbox nicht für Linux veröffentlicht, ist für diesen Schritt Windows erforderlich. Sie können versuchen, es auf WINE auszuführen, aber sollte dies fehlschlagen, müssen Sie sich entweder einen Windows-Computer von jemandem leihen oder eine virtuelle Windows-Entwicklermaschine in GNOME-Boxen oder VirtualBox ausführen.
Schalten Sie den Drucker ein und starten Sie dann die Canon Quick Utility Toolbox. Es sollte Ihren Drucker finden. Wenn Ihr Drucker nicht angezeigt wird, müssen Sie den Drucker zuerst für LAN oder drahtloses Netzwerk konfigurieren.
Klicken Sie in der Toolbox auf Einstellungen für den Zielordner.
canontoolbox.png
(Marc Skinner, CC BY-SA 4.0)
Geben Sie das Druckerverwaltungskennwort ein – mein Standardkennwort war Kanon.
Drücke den Hinzufügen Taste.
add_destination_folder.png

Füllen Sie das Formular mit einem angezeigten Namen, Ihrem Samba-Freigabeort sowie Ihrem Samba-Benutzernamen und -Passwort aus.
Ich habe den PIN-Code leer gelassen, aber wenn Sie bei jedem Scannen vom Drucker aus eine PIN eingeben möchten, können Sie eine festlegen. Dies wäre in einem Büro nützlich, in dem jeder Benutzer seine eigene Samba-Freigabe und PIN hat, um seine Scans zu schützen.
Klicken Verbindungstest um die Formulardaten zu validieren.
Drücke den OK Taste.
Klicken Beim Drucker registrieren um Ihre Konfiguration wieder auf dem Drucker zu speichern.
canonregistertoprinter.png

(Marc Skinner, CC BY-SA 4.0)
Alles ist eingerichtet. Klicken Ausgang. Sie sind jetzt mit Windows und wahrscheinlich der Toolbox fertig, es sei denn, Sie müssen etwas ändern.
Scannen starten
Sie können jetzt vom Drucker aus scannen und Ihren Zielordner aus dem LCD-Menü auswählen. Scans werden direkt in der Samba-Freigabe gespeichert, auf die Sie von Ihrem Linux-Computer aus zugreifen können.
Erstellen Sie der Einfachheit halber mit dem folgenden Befehl einen symbolischen Link auf Ihrem Linux-Desktop oder Home-Verzeichnis:
$ sudo ln -sd /mnt/MB2720-SCANS /home/tux/Desktop/MB2720-SCANS
Das ist alles dazu!