Linux Virtual Delivery Agent

Best Practices für den Druck

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.

Richtlinieneinstellungen für den Druck

Clientdruckerumleitung

Diese Einstellung ermöglicht es Ihnen zu bestimmen, ob Clientdrucker einer VDA-Sitzung zugeordnet werden. Standardmäßig ist die Clientdruckerzuordnung zulässig.

Clientdrucker automatisch erstellen

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

-  ### PDF Universal Printer automatisch erstellen

-  Um die Funktion [PDF-Druck](/de-de/linux-virtual-delivery-agent/current-release/configure/printing/pdf-printing.html) 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 diesem Fall bestand Ihre einzige Option in früheren Releases 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.
      1. Klicken Sie auf Hinzufügen.
  2. 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.
  3. Führen Sie bei Bedarf die folgenden Aktionen aus:

    • Um die Umleitung des Clientdruckers an die VDA-Sitzung zu erlauben und nur universelle Druckertreiber zu verwenden, wählen Sie Zulassen oder Nur mit universellem Treiber erstellen.
    • Um zu verhindern, dass der Clientdrucker mit dem angegebenen Treibernamen an die VDA-Sitzung umgeleitet wird, wählen Sie Nicht erstellen.
    • Um Serveranwendungen Zugriff auf den Clientdrucker zu gewähren, der denselben Treiber wie der Server, aber einen anderen Treibernamen hat, wählen Sie Ersetzen durch und geben Sie den absoluten Pfad der Treiberdatei auf dem VDA ein.

    Richtlinie zur Druckertreiberzuordnung und -kompatibilität

Hinweis:

Es werden nur PPD-Treiberdateien unterstützt.

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 unterscheiden sich für Desktops und Anwendungen:

  • Für veröffentlichte Desktops: <Clientdruckername>:$CLIENT_NAME:dsk$SESSION_ID

  • Für veröffentlichte Anwendungen: <Clientdruckername>:$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.

Fehlerbehebung

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 ausgeführt wird. Wenn ctxlpmngt nicht ausgeführt wird, 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:

systemctl status ctxcups
<!--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 systemctl stop cups

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

PrivateTmp=false

sudo systemctl start cups 

-  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 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-->
    

    Sie können das Modell dann so einstellen, dass es dem Drucker entspricht:

     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.

    Beispiel: Es gibt 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 Drivers (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
     <!--NeedCopy-->
    

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 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:

  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
    <!--NeedCopy-->
    
  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. Überprüfen Sie, ob der Spool leer ist. Wenn die Spool-Datei null ist, stellt dies ein Problem dar. 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 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.

  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
      <!--NeedCopy-->
      
  9. Wählen Sie den zugeordneten Drucker CitrixUniversalPrinter:$ClientName:app/dsk$SESSION_ID und Drucker ändern. Dieser Vorgang erfordert Administratorrechte.

  10. Behalten Sie die cups-ctx-Verbindung bei, und klicken Sie dann auf Weiter, um den Druckertreiber zu ändern.

  11. 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 Treiber „Generic CUPS-PDF Printer“ aus. Speichern Sie die Änderung.

  12. 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 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 in der Datei konfigurierten aktuellen Richtliniennamen:

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>
<!--NeedCopy-->