Best Practices für den Druck

Last published : Nov 13, 2026
Dieser Artikel enthält Informationen zu Best Practices für den Druck.

Installation

Der Linux VDA erfordert sowohl cups- als auch foomatic-Filter. Die Filter werden bei der Installation des VDA installiert. Sie können die Filter auch manuell je nach Distribution installieren. Zum Beispiel:
Unter RHEL 7:
sudo yum –y install cups

sudo yum -y install foomatic-filters

Druckrichtlinieneinstellungen

Client-Druckerumleitung

Diese Einstellung steuert, ob Clientdrucker einer VDA-Sitzung zugeordnet werden. Standardmäßig ist die Clientdruckerzuordnung zulässig.

Clientdrucker automatisch erstellen

Diese Einstellung gibt Clientdrucker an, die VDA-Sitzungen zugeordnet werden können. Standardmäßig ist sie auf Alle Clientdrucker automatisch erstellen festgelegt, was bedeutet, dass alle Clientdrucker VDA-Sitzungen zugeordnet werden. Weitere Informationen zu dieser Einstellung finden Sie unter Clientdrucker automatisch erstellen in der Dokumentation zu Citrix Virtual Apps and Desktops.

PDF Universal Printer automatisch erstellen

Um die Funktion PDF-Druck zu verwenden, setzen Sie diese Richtlinie auf Aktiviert.

Druckertreiberzuordnung und -kompatibilität

Citrix liefert drei Arten von Universal Printer Drivers (PostScript, PCL5 und PCL6). Der Universal Printer Driver ist jedoch möglicherweise nicht mit Ihrem Clientdrucker kompatibel. In früheren Releases bestand die einzige Option in diesem Fall darin, die Konfigurationsdatei ~/.CtxlpProfile$CLIENT_NAME zu bearbeiten. Ab Version 1906 können Sie stattdessen die Richtlinie Druckertreiberzuordnung und -kompatibilität in Citrix Studio konfigurieren.
So konfigurieren Sie die Richtlinie Druckertreiberzuordnung und -kompatibilität in Citrix Studio:
  1. Wählen Sie die Richtlinie Druckertreiberzuordnung und -kompatibilität aus.
  2. Klicken Sie auf Hinzufügen.
  3. Geben Sie unter Treibername den Treibernamen des Clientdruckers ein. Wenn Sie die Citrix Workspace™-App für Linux verwenden, geben Sie stattdessen den Druckernamen ein.
    4\. Wählen Sie Ersetzen durch und geben Sie den absoluten Pfad der Treiberdatei auf dem VDA ein.
    Richtlinie für Druckertreiberzuordnung und -kompatibilität
Hinweis:
  • Es werden nur PPD-Treiberdateien unterstützt.
  • Andere Optionen der Richtlinie Druckertreiberzuordnung und -kompatibilität werden nicht unterstützt. Nur Ersetzen durch wird wirksam.

Verwendung

Sie können sowohl von veröffentlichten Desktops als auch von veröffentlichten Anwendungen drucken. Alle Clientdrucker können einer VDA-Sitzung zugeordnet werden. Die Druckernamen sind für Desktops und Anwendungen unterschiedlich:
  • Für veröffentlichte Desktops:
    <client printer name>:$CLIENT_NAME:dsk$SESSION_ID
  • Für veröffentlichte Anwendungen:
    <client printer name>:$CLIENT_NAME:app$SESSION_ID
Hinweis:
Wenn derselbe Benutzer sowohl einen veröffentlichten Desktop als auch eine veröffentlichte Anwendung öffnet, stehen beide Drucker der Sitzung zur Verfügung. Das Drucken auf einem Desktopdrucker in einer Sitzung mit einer veröffentlichten Anwendung oder das Drucken auf einem Anwendungsdrucker in einem veröffentlichten Desktop schlägt fehl.

Problembehandlung

Drucken nicht möglich

Wenn der Druck nicht ordnungsgemäß funktioniert, überprüfen Sie den Druck-Daemon ctxlpmngt und das CUPS-Framework.
Der Druck-Daemon ctxlpmngt ist ein pro Sitzung ausgeführter Prozess und muss für die Dauer der Sitzung ausgeführt werden. Führen Sie den folgenden Befehl aus, um zu überprüfen, ob der Druck-Daemon ausgeführt wird. Wenn ctxlpmngt nicht ausgeführt wird, starten Sie ctxlpmngt manuell über die Befehlszeile.
ps –ef | grep ctxlpmngt
Wenn der Druck immer noch nicht funktioniert, überprüfen Sie das CUPS-Framework. Der Dienst ctxcups wird für die Druckerverwaltung verwendet und kommuniziert mit dem Linux CUPS-Framework. Es handelt sich um einen einzelnen Prozess pro Maschine, der mit dem folgenden Befehl überprüft werden kann:
service ctxcups status

Zusätzliche Schritte zum Sammeln von CUPS-Protokollen

Um CUPS-Protokolle zu sammeln, führen Sie die folgenden Befehle aus, um die CUPS-Dienstdatei zu konfigurieren. Andernfalls können CUPS-Protokolle nicht in hdx.log aufgezeichnet werden:
sudo service cups stop

sudo vi /etc/systemd/system/printer.target.wants/cups.service

PrivateTmp=false

sudo service cups start

sudo systemctl daemon-reload
Hinweis:
Diese Konfiguration dient nur zum Sammeln des vollständigen Druckprotokolls, wenn ein Problem auftritt. Unter normalen Umständen wird diese Konfiguration nicht empfohlen, da sie die CUPS-Sicherheit beeinträchtigt.

Druckausgabe ist fehlerhaft

Ein inkompatibler Druckertreiber kann zu einer fehlerhaften Ausgabe führen. Eine treiberbezogene Konfiguration pro Benutzer ist verfügbar und kann durch Bearbeiten der Konfigurationsdatei ~/.CtxlpProfile$CLIENT\_NAME konfiguriert werden:
[DEFAULT_PRINTER]

printername=

model=

ppdpath=

drivertype=
Wichtig:
Der printername ist ein Feld, das den Namen des aktuellen clientseitigen Standarddruckers enthält. Es ist ein schreibgeschützter Wert. Bearbeiten Sie ihn nicht.
Die Felder ppdpath, model und drivertype können nicht gleichzeitig festgelegt werden, da nur eines für den zugeordneten Drucker wirksam wird.
  • Wenn der Universal Printer-Treiber nicht mit dem Clientdrucker kompatibel ist, konfigurieren Sie das Modell des nativen Druckertreibers mit der Option model=. Den aktuellen Modellnamen des Druckers finden Sie mit dem Befehl lpinfo:
    lpinfo –m

    …

    xerox/ph3115.ppd.gz Xerox Phaser 3115, SpliX V. 2.0.0

    xerox/ph3115fr.ppd.gz Xerox Phaser 3115, SpliX V. 2.0.0
    xerox/ph3115pt.ppd.gz Xerox Phaser 3115, SpliX V. 2.0.0
    Sie können dann das Modell so einstellen, dass es dem Drucker entspricht:
    model=xerox/ph3115.ppd.gz
  • Wenn der Universal Printer-Treiber nicht mit dem Clientdrucker kompatibel ist, konfigurieren Sie den PPD-Dateipfad des nativen Druckertreibers. Der Wert von ppdpath ist der absolute Pfad der nativen Druckertreiberdatei.
    Zum Beispiel gibt es einen PPD-Treiber unter /home/tester/NATIVE\_PRINTER\_DRIVER.ppd:
    ppdpath=/home/tester/NATIVE_PRINTER_DRIVER.ppd
  • Es gibt drei Arten von Universal Printer-Treibern, die von Citrix bereitgestellt werden (Postscript, PCL5 und PCL6). Sie können den Treibertyp basierend auf Ihren Druckereigenschaften konfigurieren.
    Wenn der Standard-Druckertreiber des Clients beispielsweise PCL5 ist, setzen Sie drivertype auf:
    drivertype=pcl5

Ausgabegröße ist Null

Probieren Sie verschiedene Druckertypen aus. Und versuchen Sie es mit einem virtuellen Drucker wie CutePDF und PDFCreator, um herauszufinden, ob dieses Problem mit dem Druckertreiber zusammenhängt.
Der Druckauftrag hängt vom Druckertreiber des Client-Standarddruckers ab. Es ist wichtig, den Typ des aktuell aktiven Treibertyps zu identifizieren. Wenn der Clientdrucker einen PCL5-Treiber verwendet, der Linux VDA jedoch einen Postscript-Treiber wählt, kann ein Problem auftreten.
Wenn der Druckertreibertyp korrekt ist, können Sie das Problem durch Ausführen der folgenden Schritte identifizieren:
  1. Melden Sie sich bei einer veröffentlichten Desktopsitzung an.
  2. Führen Sie den Befehl vi ~/.CtxlpProfile$CLIENT\_NAME aus.
  3. Fügen Sie das folgende Feld hinzu, um die Spool-Datei auf dem Linux VDA zu speichern:
    deletespoolfile=no
  4. Melden Sie sich ab und wieder an, um die Konfigurationsänderungen zu laden.
  5. Drucken Sie das Dokument, um das Problem zu reproduzieren. Nach dem Drucken wird eine Spool-Datei unter /var/spool/cups-ctx/$logon\_user/$spool\_file gespeichert.
  6. Prüfen Sie, ob der Spool leer ist. Wenn die Spool-Datei null ist, liegt ein Problem vor. Wenden Sie sich an den Citrix Support (und stellen Sie das Druckprotokoll bereit), um weitere Unterstützung zu erhalten.
  7. Wenn die Spool-Größe nicht null ist, kopieren Sie die Datei auf den Client. Der Inhalt der Spool-Datei hängt vom Druckertreibertyp des Standarddruckers des Clients ab. Wenn der zugeordnete (native) Druckertreiber PostScript ist, kann die Spool-Datei direkt im Linux-Betriebssystem geöffnet werden. Prüfen Sie, ob der Inhalt korrekt ist.
    Wenn die Spool-Datei PCL ist oder wenn das Client-Betriebssystem Windows ist, kopieren Sie die Spool-Datei auf den Client und drucken Sie sie auf dem clientseitigen Drucker mit einem anderen Druckertreiber.
  8. Ändern Sie den zugeordneten Drucker, um einen anderen Druckertreiber zu verwenden. Das folgende Beispiel verwendet den PostScript-Clientdrucker als Beispiel:
    1. Melden Sie sich bei einer aktiven Sitzung an und öffnen Sie einen Browser auf dem Client-Desktop.
    2. Öffnen Sie das Druckverwaltungsportal:
      localhost:631
    3. Wählen Sie den zugeordneten Drucker CitrixUniversalPrinter:$ClientName:app/dsk$SESSION\_ID und Modify Printer. Dieser Vorgang erfordert Administratorrechte.
    4. Behalten Sie die cups-ctx-Verbindung bei und klicken Sie dann auf Continue, um den Druckertreiber zu ändern.
    5. Wählen Sie in den Feldern Make und Model einen anderen Druckertreiber als den Citrix UPD-Treiber. Wenn beispielsweise der virtuelle CUPS-PDF-Drucker installiert ist, wählen Sie den generischen CUPS-PDF-Druckertreiber. Speichern Sie die Änderung.
    6. Wenn dieser Vorgang erfolgreich ist, konfigurieren Sie den PPD-Dateipfad des Treibers in .CtxlpProfile$CLIENT\_NAME, damit der zugeordnete Drucker den neu ausgewählten Treiber verwenden kann.

Bekannte Probleme

Die folgenden Probleme wurden beim Drucken auf dem Linux VDA festgestellt:

CTXPS-Treiber ist nicht mit einigen PLC-Druckern kompatibel

Wenn Sie auf eine Beschädigung der Druckausgabe stoßen, stellen Sie den Druckertreiber auf den vom Hersteller bereitgestellten nativen Treiber ein.

Langsame Druckleistung bei großen Dokumenten

Wenn Sie ein großes Dokument auf einem lokalen Clientdrucker drucken, wird das Dokument über die Serververbindung übertragen. Bei langsamen Verbindungen kann die Übertragung lange dauern.

Drucker- und Druckauftragsbenachrichtigungen aus anderen Sitzungen

Linux hat nicht dasselbe Sitzungskonzept wie das Windows-Betriebssystem. Daher erhalten alle Benutzer systemweite Benachrichtigungen. Sie können diese Benachrichtigungen deaktivieren, indem Sie die CUPS-Konfigurationsdatei ändern: /etc/cups/cupsd.conf.
Suchen Sie den aktuellen Richtliniennamen, der in der Datei konfiguriert ist:
DefaultPolicy default
Wenn der Richtlinienname default ist, fügen Sie die folgenden Zeilen zum XML-Block der Standardrichtlinie hinzu:
<Policy default>

     # Job/subscription privacy...

     JobPrivateAccess default

     JobPrivateValues default

     SubscriptionPrivateAccess default

     SubscriptionPrivateValues default

     … …

     <Limit Create-Printer-Subscription>

          Require user @OWNER

          Order deny,allow

     </Limit>

     <Limit All>

          Order deny,allow

     </Limit>

</Policy>