Nicht unterstützte Drucker als Windows-Freigabe
Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:
Dieser Artikel ist größtenteils für alle Ubuntu-Versionen gültig.
Zum Verständnis dieses Artikels sind folgende Seiten hilfreich:
Hinweis:
Dieser Artikel erfordert gewisse Grundkenntnisse in Windows und Linux.
Vorneweg: In dieser Anleitung geht es nicht darum den Drucker direkt unter Linux einzubinden, da dies mangels Treiber leider nicht möglich ist. Sondern darum einen virtuellen Postscript-Drucker unter Windows zu installieren, welcher intern den Druckauftrag an den GDI-Drucker weiterreicht. Anschließend wird dieser virtuelle PostScript-Drucker unter Windows als Netzwerkdrucker freigegeben und einfach mit einem PostScript-Treiber unter Linux ins System eingebunden. Ein PostScript-Treiber ist normalerweise in jedem (Linux-)System enthalten und wird bei der Systeminstallation automatisch mitinstalliert.
GDI-Drucker sind Drucker, bei denen der größte Teil der Druckerlogik im Treiber enthalten ist. Dadurch sparen die Hersteller an der Hardware des Druckers, da die Druckaufträge auf dem PC verarbeitet werden und anschließend nur noch gedruckt werden müssen. Außerdem sind diese Treiber, bis auf wenige Ausnahmen, leider nur für Windows verfügbar. GDI-Drucker sind meist im Einstiegssegment zu finden.
Vor- & Nachteile der Lösung¶
Vorteile:
Der Drucker ist auf jedem Computer im ganzen Netzwerk über einen PostScript-Treiber verfügbar.
Diese Lösung funktioniert prinzipiell (!) mit jedem GDI-Drucker.
Nachteile:
Durch den Umweg entsteht je nach Leistung des Windows-PCs bis zum ersten Blatt eine Verzögerung (bei einem 5-seitigen PDF und einem 400MHz Windows-PC: eine knappe Minute).
Es muss entweder ein Windows-PC oder eine Virtuelle Maschine mit Windows laufen.
Hinweis:
Es wird ein PC oder ein virtueller PC mit Windows benötigt. In dieser Beschreibung wird nur die Vorgehensweise für einen PC beschrieben, die Vorgehensweise für einen VPC ist aber übertragbar und muss nur an die Unterschiede von einem physikalischen zu einem virtuellem System angepasst werden.
Arbeitsschritte unter Windows¶
Vorausgesetzte Kenntnisse¶
Grundkenntnisse in der Bedienung
Programme installieren
Einen Editor öffnen
Druckereinstellungen bearbeiten
Drucker freigeben
Vorbereitung¶
Um späteren Ärger zu vermeiden, sollte man, bevor man mit der eigentlichen Installation beginnt, überprüfen, ob der GDI-Drucker unter Windows fehlerfrei funktioniert. Sonst kann es passieren, dass man alles richtig gemacht hat und trotzdem nichts gedruckt wird.
Wenn man Windows auf einem VPC installieren will, sollte man erst dies fehlerfrei erledigen (siehe Windows auf einem Virtuellen PC) und erst anschließend mit der folgenden Anleitung fortfahren.
Installation¶
Die folgenden Programme herunterladen und unter Windows 2000/XP/2003/Vista(?) (mit Standardeinstellungen) installieren. Prinzipiell können auch andere Windows-Systeme verwendet werden. Getestet wurde dieser Artikel auf einem Windows 2003 Server. Windows 2000/XP funktionieren ebenfalls mit diese Lösung. Einerseits aufgrund der ähnlichen Architektur, andererseits wurde diese Lösung ursprünglich mit 2000/XP veröffentlicht.
Windows-Programme | Beschreibung |
Ghostscript (GPL) (getestet mit Version 8.61 und 8.63) 🇬🇧 | Wird benötigt, um die PostScript-Dateien zu rendern. |
GSview (getestet mit Version 4.9) 🇬🇧 | Eine Grafische Oberfläche zu Ghostscript |
Redmon (getestet mit Version 1.7) 🇬🇧 | Erweitert das Windows-Drucksystem, um die Funktion einen Drucker umzuleiten. |
Adobe Universal PostScript Treiber (getestet mit Version 1.06) noch NICHT installieren 🇬🇧 | Installiert den virtuellen PostScript-Drucker (inklusive Treiber) |
Installation überprüfen¶
Als nächstes startet man GSview und öffnet eine der Beispieldateien, z.B. tiger.eps (im Programmordner, Beispiel: C:\Programme\gs\gs8.61\examples). Normalerweise sollte man die Datei ohne Fehler öffnen können und kann dann direkt mit dem nächsten Schritt fortfahren.
Sollte es beim Drucken einer Testseite des Postscript-Druckers zu folgender Fehlermeldung kommen: "Fehler beim schreiben auf RPTx... Der Druckerbefehl ist ungültig.", so ist bei den Spool-Einstellungen die Unterstützung für bidirektionalen Druck zu deaktivieren.
GSPrint-Konfiguration¶
GSPrint liegt im Programmverzeichnis von GSview (Beispiel: C:\Programme\Ghostgum\gsview\gsprint.exe). GSPrint wird benötigt, um den Druckauftrag im Postscript-Format an den unter Windows installierten GDI-Drucker zu schicken. Bevor aber GPSprint drucken kann, muss man ihm sagen, welchen Drucker er benutzen soll und wo Ghostscript liegt. Dazu erstellt man eine neue Datei namens gsprint.cfg. Diese speichert man im gleichen Verzeichnis wie gsprint.exe und bearbeitet sie wie folgt:
Inhalt der gsprint.cfg
-noquery -color (optional - für Farbdrucker) -printer <Druckername> -ghostscript "C:\Programme\gs\gs8.61\bin\gswin32c.exe"
Achtung!
In der Konfigurationsdatei dürfen keine zusätzlichen Leerzeichen sein und am Schluss muss eine (nicht mehr und nicht weniger) leere Zeile stehen! Der Druckername muss exakt dem Druckernamen in Windows entsprechen!
Die Versionsnummer im Pfad muss natürlich auf die verwendete Version angepasst werden.
Drucken mit GSPrint¶
Nachdem GSPrint konfiguriert wurde, kann man einen ersten Testlauf starten und testen, ob bis jetzt alles funktioniert hat:
cd C:\Programme\Ghostgum\gsview\ gsprint.exe C:\Programme\gs\gs8.61\examples\tiger.eps
Wenn alles funktioniert, sollte jetzt das Beispiel ausgedruckt werden.
PostScript-Drucker installieren¶
Jetzt ist es an der Zeit den PostScript-Drucker zu installieren, der später im Netzwerk für die Samba-Clients freigegeben wird. Dazu wird der PostScript-Treiber von Adobe mit folgenden Einstellungen installiert:
"Typ:"
Lokaler Drucker
"Anschluss:"
File
"Standarddrucker:"
Nein
"Testseite:"
Nein
PostScript-Drucker konfigurieren¶
Damit Druckaufträge vom PostScript-Drucker auf dem GDI-Drucker ankommen, muss nur noch der Druckauftrag weitergeleitet werden. Dies wird durch Redmon realisiert. Dazu RedMon herunterladen und installieren.
In den "Eigenschaften" vom gerade erstellten PS-Drucker gibt es den Reiter "Anschlüsse". Dort wird jetzt ein neuer von RedMon zur Verfügung gestellten umgeleiteten Anschluss erstellt.
Im Reiter "Anschlüsse" mit dem Schalter "Hinzufügen" die Liste mit den bekannten Anschlusstypen anzeigen
in der Liste den Eintrag "Redirected Port" (übersetzt: umgeleiteter Anschluss) auswählen
mit dem Schalter "Neuer Anschluss..." das Eingabefeld öffnen
im Eingabefeld einen neuen Anschlussnamen ("Port name") eingeben ("RPT1:").
Den neuen Anschluss ("RPT1:") konfigurieren:
Im Reiter "Anschlüsse" den neuen Anschluss ("RPT1:") auswählen
mit dem Schalter "Konfigurieren" den Eigenschaften-Dialog des Anschlusses öffnen.
Die Anschluss-Eigenschaften ("RPT1: Properties") ausfüllen:
"Anschluss auf folgendes Programm umleiten:" C:\Programme\Ghostgum\gsview\gsprint.exe (korrekten Pfad anpassen!)
"Argumente für dieses Programm:" - (ein einzelner Bindestrich, kein Leerzeichen)
"Ausgabe:" "Programm erledigt Ausgabe"
Der Rest kann auf den Voreinstellungen belassen werden.
Testen¶
Hat alles funktioniert, kann man jetzt aus jeder Anwendung heraus den Postscript-Drucker verwenden. Intern wird der Druckauftrag an GSPrint weitergeleitet, welches dann einfach das empfangene Postscript verarbeitet und einen neuen Druckauftrag an den GDI-Drucker schickt.
Drucker im Netzwerk freigeben¶
Dazu genügt ein Rechtsklick auf "Freigabe..." auf den erstellten PostScript-Drucker.
Anschließend auf "Drucker freigeben" klicken und (falls nicht schon voreingestellt) einen eindeutigen Druckernamen angeben (am besten ohne Sonderzeichen/Leerzeichen). Jetzt noch mit "OK" die Einstellungen übernehmen.
Arbeitsschritte unter Linux¶
Nun muss man den freigegebenen PostScript-Drucker unter Linux einbinden. Dieser kann ganz normal wie jede andere Windows-Freigabe eingebunden werden.
Für KDE¶
Unter "Systemeinstellungen → Drucker → Hinzufügen → Neuen Drucker → Klasse erstellen → SMB-Druckressource (Windows)" auswählen. Anschließend müssen noch die richtigen Zugangsdaten eingeben und der Drucker ausgewählt werden.
Hinweis:
Als Treiber muss "Post-Script" anstatt eines spezifischen Treibers ausgewählt werden.
Konfigurationsdatei bearbeiten¶
Wer mit der Drucker-GUI nicht zurechtkommt, kann den Drucker auch mit falschen Netzwerk-Einstellungen hinzufügen und anschließend die Konfigurationsdatei /etc/cups/printers.conf mit einem Editor[2] mit Root-Rechten[3] nach folgendem Schema bearbeiten:
#Windows-Freigabe ohne Passwort und ohne Domain DeviceURI smb://server/druckername #Windows-Freigabe ohne Passwort und mit Domain DeviceURI smb://domain/server/druckername #Windows-Freigabe mit Passwort und ohne Domain DeviceURI smb://user:passwort@server/druckername #Windows-Freigabe mit Passwort und mit Domain DeviceURI smb://user:passwort@domain/server/druckername
Anschließend muss man noch CUPS (das Standard-Drucksystem) neustarten [1]:
sudo /etc/init.d/cupsys restart
Windows auf einem Virtuellen PC¶
Damit dies funktioniert, muss man den VPC so konfigurieren, dass er von außen wie ein normaler PC im Netzwerk aussieht und anzusprechen ist.
Die Potentiellen Fehlerquellen sind dabei:
Die USB-Konfiguration des VPCs, damit der GDI-Drucker vom VPC aus angesprochen werden kann.
Die Netzwerkkonfiguration, dass der Windows-VPC wie ein ganz normaler PC vom Hostsystem (auf dem der VPC läuft) angesprochen werden kann.
Ansonsten muss man nur die Arbeitsschritte auf den VPC übertragen und die Unterschiede zwischen einem PC und einem VPC beachten.