Einige Linux-Distributionen haben eine Druckereinrichtung, welche die von KLjettool erzeugten PJL-Dateien nicht berücksichtigt. Die Druckereinrichtung auf diesen Systemen erkennt die PJL-Dateien als solche nicht und versucht diese zu bearbeiten. Dies führt dazu, dass KLjettool nicht richtig funktioniert.
Dieser Abschnitt beschreibt die nötigen Vorkehrungen, um KLjettool auf einem PRE5.0 RedHat Linux zum Laufen zu bringen (KLjettool sollte von Anfang an funktionieren ab RedHat 5.0). Für andere Distributionen dürfte eine ähnliche Vorgehensweise hilfreich sein. Die ganze Einrichtung ist aber nicht allzu schwierig. Das einzige, was getan werden muss, ist sicherzustellen, dass die Druckereinrichtung die PJL-Dateien unverändert zum Drucker schickt.
Aber bevor Sie jetzt irgendwelche Änderungen an Ihrem System vornehmen, sollten Sie sicherstellen, dass KLjettool auf Ihrem System wirklich nicht läuft.
Auf einem RedHat-System wird das Skript /var/spool/lpd/lp/filter von /etc/printcap aus jedesmal aufgerufen, wenn etwas mit dem 'lpr'-Befehl gedruckt wird. Der Filter ruft das Programm 'file' mit der zu druckenden Datei auf, worauf 'file' dem 'filter'-Skript mitteilt, um welchen Dateityp es sich handelt (Text, HTML, PostScript, dvi...). Abhängig vom Dateityp wird ein weiteres Programm aufgerufen, das eine Ausgabe in der Druckersprache erzeugt. Das 'file'-Programm benutzt die Datei /etc/magic, um den Typ der zu druckenden Datei festzustellen.
Für die Datei MeineDatei.ps teilt das file-Programm dem 'filter'-Skript mit, dass es sich um eine PostScript-Datei handelt, worauf 'filter' den ghostscript-Interpreter startet, um MeineDatei.ps in PCL 5 umzuwandeln, die Sprache, welche die Laserjet-Drucker verstehen.
Um KLjettool auf einem älteren RedHat-System zum Laufen zu bringen, müssen zwei Dinge geändert werden:
Zwei Zeilen müssen zur Datei /etc/magic hinzugefügt werden, sodass PJL-Dateien richtig erkannt werden. Die Einträge können irgendwo in der Datei stehen:
# HP Printer Job Language, Bernd Wuebben (wuebben@math.cornell.edu) 0 string \033%-12345X HP PJL printer commands |
Das /var/spool/lpd/lp/filter-Skript muß wissen, was mit PJL-Dateien zu geschehen hat. Dazu müssen im 'filter'-Skript zwei Zeilen hinzugefügt werden:
*pjl* ) startpnt="INPUT-to-prdata";; |
Aus der Dateistruktur ist leicht ersichtlich, wo die beiden Zeilen eingefügt werden müssen. Diese beiden Zeilen teilen dem Skript mit, dass es die PJL-Dateien unverändert an den Drucker weiterschicken soll.
Im Verzeichnis mit der Dokumentation zu KLjettool sollten auch zwei Musterdateien mit dem Filter-Skript und der /etc/magic-Datei sein. Diese können helfen, wenn bei den oben aufgezeigten Anpassungen Probleme auftauchen sollten.