Drucken unter UNIX - BSD und SystemV
Für die nun folgende Erläuterung werden zur Vereinfachung einige Abkürzungen verwendet:
| q | Name einer Queue (z.B. psprint) |
| f1, ... , fn | Namen der zu druckenden Files |
| n | Bearbeitungsnummer eines Druckauftrags |
| SystemV: Queue-Name - Laufende Nummer (psprint-123) | |
| u | Benutzerkennzeichen |
| m | Anzahl der zu druckenden Exemplare eines Files |
Im folgenden werden nur die elementaren Funktionen erläutert:
- Erteilen eines Druckauftrags
- Abfragen des Bearbeitungs-Zustands des Druckauftrags
- Löschen eines Druckauftrags
- Default-Queue
UNIX
Bei UNIX-Betriebssystemen gibt es verschiedene Queue-Systeme:
- Das BSD-Queue-System ist ein einfaches, relativ leicht zu installierendes Queue-System. Es wird eingesetzt z.B. bei
- Linux
- Das SystemV-Queue-System ist ein komplexes Queue-System. Es enthält eine Reihe von Parallelen zu VAX/VMS. Es wird eingesetzt z.B. bei
- SUN Solaris
- Silicon Graphics Irix (mit eingeschränktem Funktionsumfang)
- HP-UX
- IBM AIX für RS6000 enthält eigenständiges Queue-System, innere Struktur nicht vergleichbar mit BSD- oder SystemV-Queue-System vergleichbar, Befehle jedoch gemäß BSD und SystemV.
- SUN Solaris enthält zusätzlich auch Kommandos gemäß dem BSD-Queue-System (BSD Compatibility Package).
- Silicon Graphics Irix kann optional auch mit einem BSD-Queue-System ausgerüstet werden, das dann parallel zum SystemV-Queue-System läuft, ohne daß das eine Queue-System vom anderen weiß.
Weitere Informationen durch
% man command
UNIX gemäß BSD-Queue-System
Das BSD-Drucksystem verfügt über ein einfaches Queue-System.
Standardmäßig werden Kopien von den zu druckenden Files angelegt; ferner besteht die Möglichkeit, statt dessen einen symbolischen Link zwischen dem Eintrag in der Spool-Directory und dem Original-File zu setzen. Bei Files, die größer als 1 MB sind, muß davon Gebrauch gemacht werden.
Es besteht die Möglichkeit, das Löschen automatisch nach dem Ausdruck durchführen zu lassen.
- Erteilen eines Druck-Auftrags:
% lpr -Pq f1 ... fn
Einige zusätzliche Optionen:-r automatisches Löschen nach dem Drucken -m automatische Mail bei Abschluß des Druckvorgangs -#m Ausdrucken von m Exemplaren -s Setzen eines symbolischen Links, d.h., es wird keine Kopie im Spool-Bereich angelegt Hinweis:
Die Option -s kann auf des Unix-Rechnern des Rechenzentrums nicht genutzt werden, wenn das zu druckende File sich auf dem File-System /perm befindet.Das Drucken kann auch aus einer Pipe heraus erfolgen, ohne daß explizit ein File angelegt wird.
% cat f1 ... fn | lpr -PqBeispiele:
% lpr -Ppsprint -r hugo.ps
% cat hugo.ps | lpr -Ppsprint - Abfragen des Bearbeitungs-Zustands des Druck-Auftrags:
% lpq -Pq u - Löschen eines Druck-Auftrags:
% lprm -Pq n - Default-Queue:
Sofern kein Queue-Name angegeben ist, wird die systemweite Standard-Queue (lp) gewählt. Ein Anwender kann eine eigene Standard-Queue durch die Umgebungsvariable PRINTER festlegen. Unter SOLARIS 2 wird, sofern PRINTER nicht gesetzt ist, die Umgebungsvariable LPDEST benutzt.
% ls -l golfer.ps
-rw-r--r-- 1 szrzs030 25499 Apr 30 13:44 golfer.ps
% lpr -P psprint golfer.ps
% lpq -P psprint szrzs030
Entry Jobname Username Blocks Status
----- ------- -------- ------ ------
253 golfer.ps SZRZS030 50 Pending
On stopped generic printer queue PS$PRINT
--- Queue wird vom Operator gestartet ---
% lpq -P psprint szrzs030
Entry Jobname Username Blocks Status
----- ------- -------- ------ ------
253 golfer.ps SZRZS030 50 Retained on completion
On idle printer queue PS_PRINT_3
Completed 9-MAY-1996 13:56 on queue PS_PRINT_3
% lpq -P psprint
Generic printer queue PS$PRINT
Printer queue PS_PRINT_3, idle, on PRSERV::RZQMS1, mounted form QMS$DEFAULT (stock=DEFAULT)
Printer queue PS_HR_PRINT, idle, on PRSERV::RZQMS2, mounted form QMS$DEFAULT (stock=DEFAULT)
UNIX gemäß SystemV-Queue-System
Das SystemV-Queue-System hat eine vollständig andere interne Struktur als das BSD-Queue-System. Auch die Anwender-Kommandos sind leider im wesentlichen anders.
Das SystemV-Queue-System unterstützt Klassen von gleichartigen Druckern, so daß ein Druck-Kommando entweder einen Queue-Namen oder einen Klassennamen enthält. Mit dem Kommando
% lpstat -c
können die Klassen und ihre Mitglieder angezeigt werden.
Die Klassen- und Queue-Namen dürfen nicht länger als 14 Zeichen sein.
Standardmäßig werden keine Kopien von den zu druckenden Files angelegt.
In einem HP-UX-Cluster (HP Clustered Environment) werden die Drucker-Queues von den beteiligten Rechnern gemeinsam verwaltet.
- Erteilen eines Druck-Auftrags:
% lp -dq f1 ... fnZusätzliche Optionen:
-m automatische Mail bei Abschluß des Druckvorgangs -nm Ausdrucken von m Exemplaren -c Anlegen einer Kopie des zu druckenden Files in der Spool-Directory Das Drucken kann auch aus einer Pipe heraus erfolgen, ohne daß explizit ein File angelegt wird.
% cat f1 ... fn | lp -dqBeispiele:
% lp -dpsprint hugo.ps
% cat hugo.ps | lp -dpsprintFehler bei SGI IRIX:
Zu druckendes File und Directory müssen ``world-readable'' sein. - Abfragen des Bearbeitungs-Zustands des Druck-Auftrags:
% lpstat -oq zeigt die Druckaufträge für die Queue q
% lpstat -p zeigt den Status der Drucker
% lpstat -uu zeigt die Druckaufträge für den Benutzer u - Löschen eines Druck-Auftrags:
% cancel n - Default-Queue:
Sofern kein Queue-Name angegeben ist, wird die systemweite Standard-Queue gewählt. Diese Queue kann festgestellt werden mit dem Kommando
% lpstat -d
Ein Anwender kann eine eigene Standard-Queue durch die Umgebungsvariable LPDEST festlegen.


