Segen und Fluch der Druckerei unter Linux ruhen auf denselben zwei Säulen: Druckerwarteschlangen und Druckertreiber. Das Prinzip der Warteschlangen ist unter allen Betriebssystemen das Gleiche: Ein Druckjob ist eine Kopie eines Dokuments, das zum Drucker geschickt wird. Aus dessen Schacht kommt es dann irgendwann – hoffentlich korrekt – heraus. Dass es richtig erscheint, also lesbar formatiert und gegebenenfalls in den gewünschten Farben, erledigt der Druckertreiber. Zuerst muss der Druckjob aber den richtigen Weg finden.
Queues und Daemonen
Weil Unix von Anfang an ein Mehrbenutzersystem und Drucker früher selten und teuer waren, mussten sich viele Anwender ein Ausgabegerät teilen. Das Drucksystem musste daher die einzelnen Jobs getrennt annehmen und geordnet auf dem Drucker ausgeben. Da das nur nacheinander geht, gibt es die so genannte Printing Queue oder Druckerwarteschlange.
Damit die Benutzer jederzeit ihre Dokumente in die Queue stellen können, läuft auf dem Linux-Rechner ständig ein Programm im Hintergrund, das darauf wartet, die Druckjobs anzunehmen. Dieser Hintergrundprozess steuert und überwacht die Druckerwarteschlange, vom Entgegennehmen des Auftrags (wenn der Benutzer Drucken klickt) bis zum Löschen des Jobs aus der Warteschlange, nachdem der Drucker die letzte Seite ausgespuckt hat. Solche Hintergrundprozesse heißen unter Linux Daemons – eine Abkürzung für Disk And Execution MONitor.
Der Druck-Daemon heißt auch Spooler. Es nimmt die Rohdaten an und entscheidet, wie damit weiter zu verfahren ist. Jetzt kommt das Dateiformat ins Spiel: Die Rohinformationen in Dokumenten oder Dateiein müssen für jede Ausgabe, die Menschen lesen sollen, entsprechend aufbereitet werden. Was dem Benutzer wie Worte und Sätze erscheint, besteht für den Computer nur aus Binärdaten.
Druckersprachen
Teure Drucker verstehen PostScript. Diese von der Firma Adobe entwickelte Seitenbeschreibungssprache teilt dem Drucker präzise mit, was er und wo genau er es auf der Seite drucken soll. Da Linux zu den Unix-Derivaten zählt, formatieren Linux-Programme ihre Druckausgaben üblicherweise bereits in PostScript. Der Output kann damit direkt auf PostScript-fähigen Druckern ausgegeben werden, ohne dass weitere Hersteller- oder Geräte-spezifische Druckertreiber ins Spiel kommen.
Viele günstigere Drucker (vor allem Tintenstrahler) beherrschen PostScript nicht; stattdessen bieten sie eigene Seitenbeschreibungssprachen. In solchen Fällen ist unter Linux eine Konvertierung nötig: Ein Treiber, der die Beschreibungssprache des Druckers spricht, übersetzt PostScript-Dateien in dieses Format.
Viele Biilligdrucker verstehen gar keine Druckersprache: Sie bringen aus Kostengründen keine Elektronik zur Verarbeitung mit. In diesem Fall muss der ansteuernde PC die Aufbereitung der Druckdaten übernehmen. Solche Geräte ohne eigene Intelligenz nennt man GDI-Drucker: GDI ist ein von Microsoft entwickeltes System zur gerätespezifischen Ansteuerung.



