Dieser Artikel enthält Informationen zu bewährten Methoden 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
<!--NeedCopy-->
Konfiguration
Citrix liefert drei Arten von Universal Printer Driver (PostScript, PCL5 und PCL6). Es kann jedoch vorkommen, dass der Universal Printer Driver nicht mit Ihrem Clientdrucker kompatibel ist. In diesem Fall bestand in früheren Versionen die einzige Möglichkeit 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:
- Wählen Sie die Richtlinie Druckertreiberzuordnung und -kompatibilität aus.
-
- Klicken Sie auf Hinzufügen.
- 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.
-
- Wählen Sie Ersetzen durch und geben Sie den absoluten Pfad der Treiberdatei auf dem VDA ein.

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. Nur der clientseitige Standarddrucker wird einer Linux VDA-Sitzung zugeordnet. Die Druckernamen unterscheiden sich für Desktops und Anwendungen:
-
Für veröffentlichte Desktops:
CitrixUniversalPrinter:$CLIENT_NAME:dsk$SESSION_ID -
Für veröffentlichte Anwendungen:
CitrixUniversalPrinter:$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 Desktop-Drucker in einer veröffentlichten Anwendungssitzung 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-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 läuft. Wenn ctxlpmngt nicht läuft, starten Sie ctxlpmngt manuell über die Befehlszeile.
ps –ef | grep ctxlpmngt
<!--NeedCopy-->
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
<!--NeedCopy-->
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
<!--NeedCopy-->
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 treiberspezifische Konfiguration pro Benutzer ist verfügbar und kann durch Bearbeiten der Konfigurationsdatei ~/.CtxlpProfile$CLIENT_NAME vorgenommen werden:
[DEFAULT_PRINTER]
printername=
model=
ppdpath=
drivertype=
<!--NeedCopy-->
Wichtig:
Der Wert 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 Driver nicht mit dem Clientdrucker kompatibel ist, konfigurieren Sie das Modell des nativen Druckertreibers mithilfe 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 <!--NeedCopy-->Anschließend können Sie das Modell an den Drucker anpassen:
model=xerox/ph3115.ppd.gz <!--NeedCopy--> -
Wenn der Universal Printer Driver 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 <!--NeedCopy--> -
Citrix liefert drei Arten von Universal Printer Driver (PostScript, PCL5 und PCL6). Sie können den Treibertyp basierend auf Ihren Druckereigenschaften konfigurieren.
Wenn der Standard-Druckertyp des Clients beispielsweise PCL5 ist, setzen Sie drivertype auf:
drivertype=pcl5 <!--NeedCopy-->
Ausgabegröße ist Null
Probieren Sie verschiedene Druckertypen aus. Und versuchen Sie einen virtuellen Drucker wie CutePDF und PDFCreator, um herauszufinden, ob dieses Problem mit dem Druckertreiber zusammenhängt.
Der Druckauftrag hängt vom Druckertreiber des clientseitigen 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:
- Melden Sie sich bei einer veröffentlichten Desktopsitzung an.
- Führen Sie den Befehl vi ~/.CtxlpProfile$CLIENT_NAME aus.
-
Fügen Sie das folgende Feld hinzu, um die Spool-Datei auf dem Linux VDA zu speichern:
deletespoolfile=no <!--NeedCopy--> -
Melden Sie sich ab und wieder an, um die Konfigurationsänderungen zu laden.
-
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.
-
Überprüfen Sie, ob der Spool leer ist. Wenn die Spool-Datei null ist, deutet dies auf ein Problem hin. Wenden Sie sich an den Citrix Support (und stellen Sie das Druckprotokoll bereit), um weitere Unterstützung zu erhalten.
-
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 clientseitigen Standarddruckers ab. Wenn der zugeordnete (native) Druckertreiber PostScript ist, kann die Spool-Datei direkt im Linux-Betriebssystem geöffnet werden. Überprü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.
-
Ändern Sie den zugeordneten Drucker, um einen anderen Druckertreiber zu verwenden. Das folgende Beispiel verwendet den PostScript-Clientdrucker als Beispiel:
-
Melden Sie sich bei einer aktiven Sitzung an und öffnen Sie einen Browser auf dem Client-Desktop.
-
Öffnen Sie das Druckverwaltungsportal:
localhost:631 <!--NeedCopy--> -
Wählen Sie den zugeordneten Drucker CitrixUniversalPrinter:$ClientName:app/dsk$SESSION_ID und Drucker ändern. Dieser Vorgang erfordert Administratorrechte.
-
Behalten Sie die cups-ctx-Verbindung bei und klicken Sie dann auf Weiter, um den Druckertreiber zu ändern.
-
Wählen Sie in den Feldern Hersteller und Modell einen anderen Druckertreiber als den Citrix UPD-Treiber aus. Wenn beispielsweise der virtuelle CUPS-PDF-Drucker installiert ist, wählen Sie den generischen CUPS-PDF-Druckertreiber aus. Speichern Sie die Änderung.
-
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 identifiziert:
CTXPS-Treiber ist nicht mit einigen PCL-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 sichtbar
Linux verfügt nicht über 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 aktuell in der Datei konfigurierten Richtliniennamen:
DefaultPolicy default
Wenn der Richtlinienname default lautet, 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>
<!--NeedCopy-->