Befehle "lp.cat", "lp.set" und "lp.tell"
Anmerkung: Dieser Befehl ist ein Befehl des System V-Drucksubsystems.
Zweck
Dieser Befehl ist ein Standarddruckerfilter, der von Schnittstellenprogrammen verwendet wird.
Syntax
/usr/lib/lp/bin/lp.cat [ -r ] [ Rate ]
/usr/lib/lp/bin/lp.set H_pitch V_pitch Breite Länge Zeichensatz
/usr/lib/lp/bin/lp.tell Drucker
Beschreibung
Der Befehl lp.cat ist der Standarddruckerfilter, der von den Schnittstellenprogrammen aufgerufen wird. Der Befehl lp.cat liest die zu druckende Datei aus der Standardeingabe und schreibt sie auf die Druckereinheit.
lp.cat verarbeitet die folgenden Signale:
- Normale Beendigung (SIGTERM)
- Trennen der seriellen Leitung (SIGHUP wegen DCD, Data Carrier Detect, Löschen)
- Interrupts (SIGINT und SIGQUIT)
- Frühzeitige Beendigung der Pipe (SIGPIPE)
Der Befehl lp.cat bricht einen Druckjob ab, wenn er bei der Ausgabe zu lange warten muss. Die maximale Standardwartezeit wird als Zweifaches der Ausgabepuffergröße (2 * 1024 Byte) dividiert durch den kleinsten der Werte von Übertragungsrate, Druckrate oder angegebener Rate (alle Raten werden in Zeichen pro Sekunde angegeben. Eine neue maximale Verzögerungszeit kann mit dem Parameter Rate definiert werden, sofern dieser die Verzögerungszeit erhöht. Wenn Sie Rate auf setzen, ist die zulässige Verzögerung unbegrenzt.
Wenn das Flag -r angegeben ist, berichtet lp.cat den effektiven Durchsatz in Zeichen pro Sekunde (CPS, Characters per Second). Diese Statistik wird nach der Übertragung von jeweils 1024 Bytes in der Standardfehlerausgabe ausgegeben.
Schnittstellenprogramme können den Befehl lp.set aufrufen, um die Zeichendichte (H_pitch), die Zeilendichte (V_pitch), die Seitenbreite, die Seitenlänge und den Zeichensatz auf dem Drucker festzulegen.
Die Standardeinheiten sind Zeichen pro Zoll für die Zeichen- und Zeilendichte, Anzahl an Spalten für die Breite und Anzahl an Zeilen für die Länge. Einheiten können explizit angegeben werden, indem den Werte c für Zentimeter oder i für Zoll angefügt wird.
Wenn ein bestimmtes Merkmal nicht gesetzt werden kann, wird lp.set mit dem Wert 1 beendet und es wird ein aus einem Zeichen bestehender Zeichencode gefolgt von einem Zeilenvorschubzeichen in der Standardfehlerausgabe ausgegeben. Die Zeichencodes sind in der folgenden Tabelle aufgeführt:
| Zeichencode | Druckermerkmal nicht gesetzt |
|---|---|
| H | Zeichendichte |
| L | Seitenlänge |
| S | Zeichensatz |
| V | Zeilendichte |
| W | Seitenbreite |
Schnittstellenscripts verwenden lp.tell, um Beschreibungen von Druckerfehlern an den Druckservice weiterzuleiten. lp.tell sendet alle gelesenen Daten über seine Standardeingabe an den Druckservice. Der Druckservice leitet die Nachricht als Warnung an den Druckeradministrator weiter.
Flags
| Element | Beschreibung |
|---|---|
| -r | Berichtet den effektiven Durchsatz in Zeichen pro Sekunde für den Befehl lp.cat. Diese Statistik wird nach der Übertragung von jeweils 1024 Bytes in der Standardfehlerausgabe ausgegeben. |
Exitstatus
| Element | Beschreibung |
|---|---|
| 0 | Normaler Exit; kein Fehler |
| 1 | Standardeingabe nicht definiert |
| 2. | Standardausgabe nicht definiert |
| 3 | Druckertyp (TERM) nicht definiert oder nicht in der terminfo-Datenbank enthalten |
| 4 | Standardeingabe und Standardausgabe sind identisch |
| 5 | Schreiben fehlgeschlagen; Drucker kann offline sein |
| 6 | Übermäßige Verzögerung verursacht Zeitüberschreitung; Drucker kann offline sein |
| 7 | SIGHUP-Signal (Verbindungstrennung) erkannt; Verlust des Trägersignals |
| 8 | Terminierung (SIGINT oder SIGQUIT) oder frühzeitig geschlossen (SIGPIPE) |
lp.set gibt bei erfolgreicher Ausführung 0 zurück, bei einem Fehler 1
| Element | Beschreibung |
|---|---|
| 0 | Normaler Exit; kein Fehler |
| 1 | Nachrichtenwarteschlange für Druckservice kann nicht geöffnet werden |
| 90 | Druckernamen oder -schlüssel kann nicht vom Druckservice abgerufen werden |
| 91 | Nachricht kann nicht an den Druckservice gesendet werden |
| 92 | Keine Bestätigung vom Druckservice erhalten |
| 93 | Bestätigung des Fehlers vom Druckservice erhalten |
| 94 | Druckservice meldet fehlerhafte Nachricht bei der Übertragung |
Dateien
| Element | Beschreibung |
|---|---|
| /usr/lib/lp/bin/lp.cat | Der vollständige Pfadname von lp.cat. |
| /usr/lib/lp/bin/lp.set | Der vollständige Pfadname von lp.set. |
| /usr/lib/lp/bin/lp.tell | Der vollständige Pfadname von lp.tell. |
| /etc/lp/model | Das Verzeichnis mit Druckerschnittstellenprogrammen. |
| /etc/lp/interfaces | Das Verzeichnis mit Druckerschnittstellenprogrammen. |