Harting Development

Druckumgebungsvariablen unter Linux verstehen

Lukas Fuchs vor 8 Monaten in  Einführung in Druckumgebungsvariablen 3 Minuten Lesedauer

Was sind Druckumgebungsvariablen unter Linux?

Stell dir vor, du besitzt einen Drucker, mit dem du Dokumente von deinem Computer ausdrucken kannst. Um sicherzustellen, dass deine Druckaufträge korrekt verarbeitet werden, muss dein System über bestimmte Einstellungen und Informationen verfügen. Hier kommen Druckumgebungsvariablen ins Spiel.

Druckumgebungsvariablen sind Systemvariablen, die Druckereinstellungen und -optionen speichern. Diese Variablen beeinflussen, wie Druckaufträge vom System verarbeitet und an einen Drucker gesendet werden. Sie geben beispielsweise Folgendes an:

h3 Welche Daten zu Druckumgebungsvariablen gehören:

  • Den Druckernamen, der den Drucker identifiziert, an den der Druckauftrag gesendet werden soll.
  • Den Druckertreiber, der die Kommunikation zwischen deinem System und dem Drucker ermöglicht.
  • Die Papiergröße und -ausrichtung, damit der Druckauftrag auf dem Papier korrekt platziert wird.
  • Die Druckqualität (z. B. niedrig, mittel, hoch), mit der das Dokument gedruckt werden soll.
  • Zusätzliche Druckoptionen wie Seitenumbrüche, Duplexdruck (beidseitiger Druck) und Heftklammerung.

Welche gebräuchlichen Druckumgebungsvariablen gibt es?

Druckumgebungsvariablen unter Linux bieten dir eine Möglichkeit, deine Druckaufträge anzupassen und zu steuern. Sie ermöglichen dir die Definition verschiedener Aspekte des Druckprozesses, von den Standardeinstellungen des Druckers bis hin zum Verhalten beim Drucken von Dokumenten aus bestimmten Anwendungen.

PPD-Dateien

Eine der wichtigsten Druckumgebungsvariablen ist die PPD-Datei (PostScript Printer Description). Sie enthält Informationen über die Funktionen und Fähigkeiten eines bestimmten Druckers und wird verwendet, um die Druckereinstellungen für den Druckauftrag festzulegen.

Druckertreiber

Druckertreiber sind Softwarekomponenten, die zwischen deinem Betriebssystem und dem Drucker vermitteln. Sie übersetzen Druckaufträge in ein Format, das der Drucker versteht, und steuern dessen Funktionen. Die Druckertreiber werden normalerweise von den Herstellern des Druckers bereitgestellt und konfigurieren in der Regel automatisch die richtigen PPD-Dateien.

CUPS

CUPS (Common Unix Printing System) ist ein Druckersystem, das unter Linux weit verbreitet ist. CUPS verwaltet Druckaufträge, Druckerwarteschlangen und Druckereinstellungen. Du kannst CUPS über eine Webschnittstelle konfigurieren und auf Druckereinstellungen zugreifen.

Druckerspezifikationen

Folgende Druckumgebungsvariablen beziehen sich auf die Spezifikationen deines Druckers:

  • Seitenformat: Diese Variable legt das Seitenformat für den Druckauftrag fest, z. B. A4, Letter oder Legal.
  • Ausrichtung: Diese Variable bestimmt die Ausrichtung des gedruckten Dokuments, z. B. Hochformat oder Querformat.
  • Auflösung: Diese Variable gibt die Auflösung des Druckauftrags in Punkten pro Zoll (dpi) an, z. B. 300 dpi oder 600 dpi.
  • Farbmodus: Diese Variable legt fest, ob das Dokument in Farbe, Graustufen oder Schwarzweiß gedruckt werden soll.

Druckeinstellungen

Mit diesen Druckumgebungsvariablen kannst du die Druckeinstellungen steuern:

  • Anzahl der Kopien: Diese Variable legt fest, wie viele Kopien des Dokuments gedruckt werden sollen.
  • Duplexdruck: Diese Variable gibt an, ob das Dokument einseitig oder doppelseitig gedruckt werden soll.
  • Sortierung: Diese Variable legt fest, ob die gedruckten Seiten sortiert werden sollen oder nicht.
  • Bindung: Diese Variable gibt an, wie das gedruckte Dokument gebunden werden soll, z. B. geheftet oder gelocht.

Wie kann ich die aktuellen Druckumgebungsvariablen anzeigen?

Um die aktuellen Druckumgebungsvariablen anzuzeigen, kannst du folgende Befehle verwenden:

Alle Druckumgebungsvariablen anzeigen

Verwende den Befehl env mit dem Argument -u, um alle Druckumgebungsvariablen aufzulisten, die für den aktuellen Benutzer und das aktuelle System festgelegt sind:

env -u

Spezifische Druckumgebungsvariable anzeigen

Um den Wert einer bestimmten Druckumgebungsvariablen anzuzeigen, kannst du den Befehl printenv verwenden. Beispielsweise zeigt folgender Befehl den Wert der Variablen PRINTER:

printenv PRINTER

Druckumgebungsvariablen in einer Shell-Sitzung anzeigen

Du kannst auch die Druckumgebungsvariablen in einer aktuellen Shell-Sitzung anzeigen, indem du die folgende Syntax verwendest:

echo $VARIABLE_NAME

Ersetze dabei VARIABLE_NAME durch den Namen der Druckumgebungsvariablen, deren Wert du anzeigen möchtest. Beispielsweise zeigt folgender Befehl den Wert der Variablen PRINTER:

echo $PRINTER

Wie kann ich Druckumgebungsvariablen festlegen oder ändern?

Um Druckumgebungsvariablen festzulegen oder zu ändern, kannst du die folgenden Schritte ausführen:

Befehlszeile

Du kannst Druckumgebungsvariablen direkt über die Befehlszeile setzen, indem du folgenden Befehl verwendest:

export VARIABLE=wert

Beispiel: Um die Variable PRINTER auf HP_LaserJet_P1102 zu setzen, würdest du folgenden Befehl ausführen:

export PRINTER=HP_LaserJet_P1102

/etc/printcap-Datei

Die Datei /etc/printcap enthält Einstellungen für alle installierten Drucker. Du kannst diese Datei bearbeiten, um die Druckumgebungsvariablen für bestimmte Drucker zu ändern. Beispielsweise kannst du folgende Zeile hinzufügen, um die Variable LPDEST für den Drucker hp_laser auf //192.168.1.100/lp0 zu setzen:

hp_laser:\
  :lp=/dev/usb/lp0:\
  :rm=hp_laser_p1102:\
  :sh=yes:\
  :sd=/var/spool/lpd/hp_laser:\
  :lf=/var/log/lpd-errs:\
  :lj=yes:\
  :la=en:\
  :lpdest=//192.168.1.100/lp0

Druckkonfigurationsprogramm

Unter einigen Linux-Distributionen kannst du ein grafisches Druckkonfigurationsprogramm verwenden, um Druckumgebungsvariablen zu ändern. Diese Programme bieten eine benutzerfreundlichere Oberfläche für die Verwaltung von Druckereinstellungen.

Skripte oder Konfigurationsdateien

Du kannst Skripte oder Konfigurationsdateien verwenden, um Druckumgebungsvariablen automatisch festzulegen. Dies ist nützlich, wenn du häufig die gleichen Druckaufträge ausführen musst und dabei bestimmte Druckumgebungsvariablen verwenden möchtest.

Hinweis: Du musst über Administratorrechte verfügen, um Druckumgebungsvariablen festlegen oder ändern zu können.

Wie kann ich die Druckumgebungsvariablen für bestimmte Druckaufträge überschreiben?

Temporäre Überschreibung von Druckumgebungsvariablen

Wenn du die Druckumgebungsvariablen nur für einen bestimmten Druckauftrag überschreiben möchtest, kannst du die folgenden Methoden verwenden:

  • Kommandozeilenoptionen:
    • Verwende die Option -o (kleinbuchstabig) des Druckbefehls lp, gefolgt vom Namen der zu überschreibenden Druckumgebungsvariable und ihrem neuen Wert.
    • Beispiel: lp -o page-size=Legal meine_datei.pdf
  • Filteroptionen:
    • Verwende die Option -P des Druckbefehls lpr, gefolgt vom Namen des zu überschreibenden Skripts.
    • Beispiel: lpr -P /usr/share/cups/filter/PageSize.filter -- pagesize=Legal meine_datei.pdf

Permanente Überschreibung von Druckumgebungsvariablen für bestimmte Drucker

Du kannst Druckumgebungsvariablen auch dauerhaft für bestimmte Drucker überschreiben, indem du eine Konfigurationsdatei für diesen Drucker erstellst.

Ort der Konfigurationsdateien:

  • /etc/cups/ppd/ für Druckermodell-spezifische Konfigurationen
  • /etc/cups/printers.conf für Drucker-spezifische Konfigurationen

Syntax der Konfigurationsdateien:

  • Erstelle einen Abschnitt mit dem Namen des Druckers.
  • Setze die Druckumgebungsvariablen mit dem Schlüssel DefaultOption und dem Wert <Varname>=<Wert>.
  • Beispiel für /etc/cups/ppd/hp_laserjet_p1005.ppd:
[HP LaserJet P1005]
DefaultOption ColorMode=Color

Hinweis:

  • Die Syntax der Konfigurationsdateien kann je nach CUPS-Version variieren.
  • Starte den CUPS-Dienst nach dem Ändern der Konfigurationsdateien neu, damit die Änderungen wirksam werden (systemctl restart cups).

Wie kann ich Druckumgebungsvariablen für Benutzer oder Gruppen festlegen?

Du kannst Druckumgebungsvariablen für bestimmte Benutzer oder Gruppen mit Hilfe der Konfigurationsdatei /etc/cups/cups-userconfig.conf festlegen. Diese Datei enthält Anweisungen, die die Standardwerte für Druckumgebungsvariablen für bestimmte Benutzer oder Gruppen überschreiben.

Verfahren

  1. Erstelle die Konfigurationsdatei: Wenn die Datei /etc/cups/cups-userconfig.conf nicht existiert, musst du sie erstellen. Öffne dazu ein Terminal und gib den folgenden Befehl ein:

    sudo touch /etc/cups/cups-userconfig.conf
    
  2. Füge die Druckerwarteschlange hinzu: Füge den Namen der Druckerwarteschlange hinzu, für die du die Variablen festlegen möchtest, sowie den Standardwert für die Variablen. Du kannst mehrere Druckerwarteschlangen in einer einzelnen Zeile angeben, indem du sie mit Kommas trennst.

    <Printer> <Variable1>=<Wert1>, <Variable2>=<Wert2>
    
  3. Wende die Änderungen an: Nachdem du die Änderungen vorgenommen hast, musst du den CUPS-Dienst neu starten, damit die Änderungen wirksam werden.

    sudo systemctl restart cups
    

Beispiel

Wenn du beispielsweise die Standardpapiergröße für den Drucker "HP LaserJet" für alle Benutzer festlegen möchtest, kannst du die folgende Zeile in die Datei /etc/cups/cups-userconfig.conf einfügen:

HP LaserJet Media=A4

Dadurch wird die Papiergröße für alle Benutzer, die auf den Drucker "HP LaserJet" drucken, auf A4 festgelegt.

Sicherung

Es wird empfohlen, eine Sicherungskopie der Datei /etc/cups/cups-userconfig.conf zu erstellen, bevor du Änderungen vornimmst. Auf diese Weise kannst du die Datei wiederherstellen, wenn etwas schief geht.

Wie kann ich Druckumgebungsvariablen in Skripten oder Konfigurationsdateien verwenden?

Druckumgebungsvariablen können in Skripten oder Konfigurationsdateien verwendet werden, um Druckaufträge anzupassen und zu automatisieren.

Druckumgebungsvariablen in Skripten

Um Druckumgebungsvariablen in Skripten zu verwenden, kannst du die printf-Funktion verwenden, um sie in Befehlszeilenoptionen einzubetten. Beispielsweise kannst du folgende Zeile in einem Shell-Skript verwenden, um eine Datei mit dem Namen document.pdf mit benutzerdefinierten Duplexeinstellungen zu drucken:

printf -v CUPS_OPTIONS '--duplex=DuplexNoTumble'
lp -o "$CUPS_OPTIONS" document.pdf

Druckumgebungsvariablen in Konfigurationsdateien

Du kannst Druckumgebungsvariablen auch in Konfigurationsdateien verwenden, um Druckereinstellungen für bestimmte Benutzer oder Gruppen festzulegen. Beispielsweise kannst du in der Konfigurationsdatei /etc/cups/cups-files.conf folgende Zeile hinzufügen, um die Duplexoption "No Tumble" für den Benutzer "alice" festzulegen:

<Location /printers/my_printer>
  AuthType None
  <Limit MemberOf "user_alice">
    AuthType Default
    User alice
    Option duplex Default DuplexNoTumble
  </Limit>
</Location>

Fehlerbehebung

Wenn du Probleme bei der Verwendung von Druckumgebungsvariablen in Skripten oder Konfigurationsdateien hast, überprüfe Folgendes:

  • Sind die Druckumgebungsvariablen korrekt gesetzt?
  • Sind die Variablennamen richtig geschrieben?
  • Hast du die richtigen Anführungszeichen und die richtige Syntax verwendet?
  • Hast du den Druckauftrag mit ausreichenden Berechtigungen gesendet?

Fehlerbehebung bei Problemen mit Druckumgebungsvariablen

Wenn du auf Probleme beim Drucken unter Linux stößt, können Druckumgebungsvariablen eine Rolle spielen. Hier sind einige häufige Probleme und Lösungsansätze:

Druckauftrag schlägt fehl

  • Überprüfe die Berechtigungen: Stelle sicher, dass du über die Berechtigung zum Drucken verfügst. Überprüfe die Dateiberechtigungen für die Druckwarteschlange und die Druckerkonfiguration.
  • Prüfe den Druckerstatus: Vergewissere dich, dass der Drucker eingeschaltet, mit dem Netzwerk verbunden und bereit ist.
  • Überprüfe die Druckwarteschlange: Aufgehaltene Druckaufträge können den aktuellen Druckauftrag blockieren. Lösche alle fehlgeschlagenen oder beendeten Aufträge aus der Druckwarteschlange.

Druckausgabe ist falsch

  • Überprüfe die Druckertreiber: Vergewissere dich, dass du die richtigen Druckertreiber für deinen Drucker installiert hast. Veraltete oder inkompatible Treiber können zu Druckproblemen führen.
  • Passe die Druckereinstellungen an: Überprüfe die Druckereinstellungen, wie z. B. Papierformat, Ausrichtung und Druckqualität. Diese Einstellungen können die Druckausgabe beeinflussen.
  • Überprüfe die verwendete Schriftart: Einige Schriftarten werden möglicherweise nicht vom Drucker unterstützt, was zu fehlerhaftem Druck führen kann. Verwende gängige Schriftarten oder lade die erforderlichen Schriftarten auf den Drucker hoch.

Fehlermeldungen

  • "Permission Denied": Du hast keine Berechtigung, auf die Druckwarteschlange oder die Druckerkonfiguration zuzugreifen. Überprüfe die Berechtigungen und stelle sicher, dass du als Administrator angemeldet bist.
  • "Invalid Printer": Der angegebene Drucker existiert nicht oder ist nicht verfügbar. Überprüfe den Druckernamen und stelle sicher, dass er korrekt konfiguriert ist.
  • "Filter Failure": Beim Verarbeiten des Druckauftrags ist ein Filterfehler aufgetreten. Überprüfe die verwendete CUPS-Filterkonfiguration.

Fortgeschrittene Fehlerbehebung

  • Überprüfe die CUPS-Protokolle: Die CUPS-Protokolle (Common Unix Printing System) können detailliertere Fehlerinformationen enthalten. Überprüfe die Protokolle auf Fehlermeldungen oder Warnungen.
  • Aktiviere den CUPS-Debugging-Modus: Aktiviere den Debug-Modus in der CUPS-Konfiguration, um zusätzliche Druckinformationen zu protokollieren.
  • Nutze Support-Tools: Es stehen verschiedene Support-Tools wie "lpstat" und "cupsctl" zur Verfügung, um Druckinformationen anzuzeigen und Probleme zu diagnostizieren.

Folge uns

Neue Posts

Beliebte Posts