Apple IIGS druckt über das Netz

Mein Apple IIGS verfügt nicht über einen passenden lokalen Drucker. In meinem kleinen Heimnetz befindet sich aber ein Drucker, den ich von meinem Linux Server aus ansprechen kann. Um darauf von GS/OS 6.0.1 zu drucken, gibt es mehrere Wege.

Drucken mit JetDirect

Für den Apple IIGS existiert mit TreeHugger ein Client für HP JetDirect zur Verfügung. Das Paket muss entpackt werden (GS ShrinkIt), die Datei aus „Drivers“ ist nach System,Drivers, die aus CDevs nach System, CDevs zu verschieben.

Der JetDirect Client allein macht aber noch keine Ausdrucke, es ist auch ein Druckertreiber erforderlich, der meinen HP ColorLaser bedienen kann. Hier hilft das Paket Independence, es enthält in der von www.whatisthe2gs.apple2.org.za/ downloadbaren Version Treiber für HP DeskJet und HP LaserJet Drucker. Das 2mg-Archiv will mit Asivmov2 auf eine Diskette transferiert werden, es enthält einen Installer für die einzelnen Treiber. Ich habe den HP Laserwriter IIP Treiber in Verwendung.

Zur Konfiguration sind dann noch folgende Schritte nötig:

  1. Im Control Panel unter DC.Printers „TreeHugger“ und „HP LaserJet IIP/III“ auswählen. DC.Printers ist ein Auswahl-CDA, das eigentlich zwischen serieller und paralleler Schnittstelle umschaltet und kommt mit der Parallelport-Druckerunterstützung.
  2. Im Control Panel unter TreeHugger einen neuen Drucker definieren und IP-Adresse und Port (eigentlich immer Port 9100) eintragen, z.B. 192.168.0.10:9100

Aus der Anwendung heraus kann dann direkt gedruckt werden.

Bekannte Probleme:

  1. Mit dem Apple Laserwriter Treiber der GS/OS Disketten klappt anscheinend kein Ausdruck . Mit einem Netzsniffer liess sich erkennen, das zwar ein TCP „SYN“ geschickt wird und der Printserver mit „ACK“ antwortet, der Apple IIGS dann aber mit einem „RST“ antwortet, die Verbindung also zurücksetzt.

Drucken mit Postscript und FTP

Alternativ zum JetDirect Ansatz habe ich erfolgreich einen Weg zum Erzeugen von PostScript Dateien auf dem Apple IIGS und der Übertragung zum Druckserver per FTP beschritten.

Die nachfolgende Anleitung zeigt die erforderlichen Schritte für den Ausdruck

  1. PostScript Dateien aus beliebigen GS/OS Anwendungen erstellen
  2. Datei auf den Linux Server übertragen
  3. PostScript aufbereiten
  4. Automatisch ausdrucken

Schritt 1: PostScript Dateien erzeugen

Voraussetzung ist GS/OS 6.0.1 auf dem Apple IIGS. Für dieses Betriebssystem hat Apple bereits einen Apple LaserWriter Treiber beigefügt.

  • Das Installationsprogramm von der 1. Diskette starten
  • Die richtige Zieldisk auswählen (meine Festplatte kennt vier Partitionen)
  • Installation anpassen und den Druckertreiber „Apple Laserwriter“ auswählen (wird von der System Tools 2- Disk installiert)
  • Im Control Panel den LaserWriter auswählen; dabei ist es egal, dass dieser nicht lokal angeschlossen ist.
  • Nach Abschluss der Installation die Datei „SCC.Manager“ aus System, Drivers wieder löschen (AppleTalk Manager, wird nicht gebraucht)

Aus einer Anwendung heraus (z.B. Teach) kann man nun den Druckerdialog aufrufen und bei gedrückter Tastenkombination „Apfeltaste F“ den OK-Button klicken. Dann erzeugt der Treiber eine PostScript Datei unter System, Drivers mit dem Namen Postscript.GSxx, wobei xx eine automatisch vergebene, laufende Nummer ist.

Schritt 2: Datei übertragen

Eigentlich ist das der einfachste Teil- wenn man gemäss des Artikels
Apple IIGS mit TCP/IP und FTP schon Marinetti eingerichtet hat und SAFE2 als FTP Client funktioniert.

Auf diesem Weg muss nun die Postscript.GS00 Datei auf den Linux Server übertragen werden.

Schritt 3: PostScript bereinigen

Diese Datei birgt noch zwei Probleme: Sie enthält eine Kopfzeile, die die meisten Postscript-Interpreter der Drucker aus dem Takt bringt. Statt Postscript zu interpretieren und zu rendern, wird dann nur der Quelltext ausgedruckt. Ausserdem handelt es sich um PostScript Level 2- Drucker erwarten aber oft PostScript Level 3.

Zum Bereinigen dient Ghostscript und das Kommando ps2ps, das PostScript Dateien anderer Level in korrekte Level 3 Dateien umwandeln kann:


ps2ps Postscript.GS00 out.ps

erzeugt die neue Datei out.ps mit sauberem PostScript. Ein Ausdruck könnte manuell am Server gestartet werden- aber das lässt sich zusammen mit diesem Schritt automatisieren.

Schritt 4: Automatischer Ausdruck

Um die Datei direkt nach dem FTP Transfer automatisch aufzubereiten und auszudrucken, ist folgendes Vorgehen nötig:

  • Der Server muss mindestens Linux Kernel 2.6.13 benutzen, inotify muss eincompiliert sein. Dies sollten alle halbwegs aktuellen Distributionen bieten, CentOS 5.3 erfüllt die Anforderung.
  • Ausserdem muss incron installiert werden. Die Quellen gibt es unter http://inotify.aiken.cz/, fertige Pakete sollte es aber für aktuelle Distributionen geben (für CentOS reicht ein yum install incron).
  • Dann wird ein neuer User „drucker“ eingerichet, sein Heimatverzeichnis sei /home/drucker
  • Es wird eine neue Regel für incron erzeugt, die dieses Verzeichnis überwacht. Dazu ruft man mit incrontab -e die Datei in den vi und ergänzt folgende Zeile:


    /home/drucker IN_CLOSE_WRITE /usr/local/bin/lprspool.sh $@/$#

    Dadurch wird immer beim Schliessen eines Datei-Schreibvorganges in /home/drucker das Script /usr/local/bin/lprspool.sh aufgerufen. In diesem Script schreibt man dann die Konvertierungs- und Druckbefehle.

    Mein Beispielscript lprspool.sh ist hier herunterladbar.

    Mehr zu incron steht unter http://linux-aha.de/wordpress/tag/inotify/.

Verbindet man sich mit SAFE2 zum Linux Server und benutzt den User „drucker“, so sollte eine übertragene Postscript.GS00 Datei nach kurzer Verzögerung zum Drucker geschickt werden.

Schreib einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *