Ich habe den Linux CAPT-Treiber V2.60 von Canon heruntergeladen und beide .deb-Pakete installiert, die mit Ubuntu Software-Center im 64-Bit-Ordner aufgelistet wurden. Mein Canon Drucker wird immer noch nicht erkannt. Muss ich sonst noch etwas tun? Mein Drucker ist über USB angeschlossen.
Ubuntu wäre ein großartiger Ersatz für mein Büro, aber ohne Druckerunterstützung werde ich mich immer noch auf Windows verlassen.
Antworten:
Der Canon CAPT-Druckertreiber ist Closed Source und die von Canon gelieferten Binärbibliotheken sind für i386 kompiliert. Wenn Sie also mit amd64 arbeiten, müssen Sie zuerst multiarch aktivieren und einige Bibliotheken installieren:
Installieren Sie Tassen, wenn Sie sie noch nicht haben:
Laden Sie den Canon CAPT-Druckertreiber herunter und entpacken Sie ihn:
Installieren Sie je nach Architektur einen 32-Bit- oder 64-Bit-Treiber:
32-Bit
64-Bit
/usr/share/cups/model
Suchen Sie nun nach den ppd-Dateien, die die Drucker beschreiben, und wählen Sie diejenige aus, die Ihrem Drucker entspricht (oder diesem am nächsten kommt):In diesem Fall haben wir
CNCUPSLBP6018CAPTS.ppd
das Modell LBP6000 ausgewählt.Drucker hinzufügen:
Konfigurieren Sie Ihr System so, dass der Canon ccpd-Daemon automatisch gestartet wird:
Probleme
Es gibt verschiedene Probleme mit dem Canon-Druckertreiber:
Es wurde für Debian gebaut und die letzte unterstützte Ubuntu-Version war 12.04. Es funktioniert jedoch in 14.04.
Es enthält Binärbibliotheken für geschlossene Quellen, die für 32-Bit-i386 erstellt wurden und daher nicht nativ auf amd64 ausgeführt werden können (auch nicht im 64-Bit-Paket).
captstatusui enthält einen unbegrenzten Aufruf von
strcpy
in cnsktmodule.c, deraborted *** buffer overflow detected ***
auf einigen Systemen mit Fehlern fehlschlägtDer Canon-Druckertreiber ist eigentlich ein separater Daemon, der über einen lokalen oder Netzwerk-Socket mit Cups kommuniziert. Er lässt einen offenen Netzwerk-Port auf Ihrem System und ich bezweifle, dass der Canon-Code jemals auf Sicherheitslücken überprüft wurde
Der Drucker kann zweimal in Bechern angezeigt werden (einmal für automatisch erkannten USB-Drucker, einmal als Canon CCPD-Daemon), aber der "USB" -Drucker funktioniert nicht, wenn Sie versuchen, darauf zu drucken. Wenn in den Druckereinstellungen Ihr Drucker als USB-Drucker konfiguriert ist, müssen Sie ihn manuell deaktivieren (Rechtsklick, Deaktivieren).
Canon verwendet eine eigene proprietäre Software und ein eigenes Protokoll für die Kommunikation mit dem Drucker. Aus diesem Grund wird der Drucker nicht in Tassen integriert, wird nicht automatisch erkannt und erfordert die manuelle Installation eines Treibers. Es ist zu erwarten, dass ein Drucker automatisch erkannt wird und funktioniert, aber dies ist mit Canon LBP nicht möglich. Mein nächster Drucker wird ein Drucker sein, der nur mit Open-Source-Treibern "funktioniert", wahrscheinlich ein Netzwerkdrucker, der den PCL - Printer Command Language- Standard unterstützt, wie der Brother HL-2250DN (billiger Duplex-Netzwerkdrucker, früher der meistverkaufte Laserdrucker von Amazon). oder ein von HP Linux empfohlener Drucker , der mit der Open-Source- HPLIP- Software arbeitet.
Die Build-Skripte für den Quellcode sind alt und ein bisschen chaotisch. Aufgrund der Integration von Closed-Source-i386-Binärbibliotheken und mangelnder Unterstützung für Multiarch in den Erstellungsskripten wäre es sehr schwierig, eine voll funktionsfähige 64-Bit-Version zu kompilieren. Das Kompilieren einer 32-Bit-Version auf einem 32-Bit-System ist möglich, wenn Sie die verschiedenen Fehler im Build-System behoben haben.
Problem: ccpd hängt
Manchmal bleibt ccpd hängen und in der Warteschlange steht nur "Verarbeitung seit ..."
Versuchen Sie einen manuellen Neustart:
Problem: ccpd funktioniert nicht - nur ein ccpd-Prozess wird nach dem Systemstart ausgeführt
Für den normalen Betrieb sollten zwei ccpd-Prozesse in einem System ausgeführt werden. Der ccpd-Daemon hängt davon ab, ob der cups-Daemon ausgeführt wird, bevor der zweite Prozess ausgelöst wird. Sie können das Problem mit der folgenden Methode umgehen:
Aktivieren Sie das Skript cups init (Standardeinstellung update-rc.d cups).
Weisen Sie das Skript ccpd init an, nach dem Befehl cups init (update-rc.d ccpd default 99) ausgeführt zu werden, oder fügen Sie in das Skript /etc/rc.local "sleep 10 && /etc/init.d/ccpd start" ein.
Wenn Sie UDEV-Regeln und Startskript verwenden möchten, beachten Sie, dass UDEV-Regeln vor dem CUPS-Init-Skript ausgeführt werden. Daher kann es hilfreich sein, das ccpd-Init-Skript neu zu starten und dann einfach zu starten. Beispielsweise können Sie die folgende Zeichenfolge in "/etc/rc.local" einfügen:
sleep 10 && /etc/init.d/ccpd restart
(Lösung aus dem Ubuntu-Wiki )
Melden von Fehlern und Problemen an den Canon-Support
Canon hat eine offizielle E-Mail-Adresse für die Meldung von Fehlern und Problemen mit dem Treiber:
Erstellen Sie aus dem Quellcode
Wenn Sie versucht sind, das Erstellen und Installieren von der Quelle aus zu versuchen, befolgen Sie diese Anweisungen (das Arch-Erstellungsskript kann ebenfalls hilfreich sein):
Ich füge dies nur als Notiz für jeden hinzu, der dazu geneigt ist, diesem Weg zu folgen. Die meisten Leute sollten nicht versuchen, dies von der Quelle zu bauen. Selbst auf einem amd64-System enthält das resultierende Paket die geschlossenen i386-Bibliotheken.
quelle
hp-setup
) bereit , die den Download und die Konfiguration übernimmt.libstdc++6:i386 libxml2:i386 zlib1g:i386
erforderlich ist? In den Anweisungen wurde erwähntia32-libs
, was seitdem in späteren Ubuntu-Versionen nicht mehr vorhanden war. Ich habe mich also gefragt, was der Ersatz war.file canon/libcapt.so
, werden die Canon-Bibliotheken als "ELF 32-Bit" identifiziert, sodass wir wissen, dass es dynamische 32-Bit-Bibliotheken benötigt. Führen Sie ldd wie folgt ausldd canon/libcapt.so
: Der Linker druckt alle erforderlichen dynamischen Bibliotheken und zeigt die nicht gefundenen an. Sie können dann verwendenapt-file search libpthread.so
, um das Paket zu finden, in dem sich die Bibliotheken befinden.