Drucken

Dieser Artikel enthält Informationen zu Best Practices für den Druck.

Installation

Der Linux VDA erfordert sowohl cups- als auch foomatic-Filter. Führen Sie die folgenden Befehle basierend auf Ihrer Linux-Distribution aus:

RHEL 7-Druckunterstützung:

sudo yum –y install cups

sudo yum -y install foomatic-filters
<!--NeedCopy-->
  • RHEL 6-Druckunterstützung:
sudo yum –y install cups

sudo yum -y install foomatic
<!--NeedCopy-->

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. Der Druckername muss für Desktops und Anwendungen unterschiedlich sein. Beachten Sie Folgendes:

  • 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 einen Desktop-Drucker in einer veröffentlichten Anwendungssitzung oder das Drucken auf einen Anwendungsdrucker in einem veröffentlichten Desktop schlägt fehl.

Problembehandlung

Drucken nicht möglich

Es gibt verschiedene Punkte, die überprüft werden müssen, wenn der Druck nicht ordnungsgemäß funktioniert. Der Druck-Daemon ist ein pro-Sitzung-Prozess und muss für die Dauer der Sitzung ausgeführt werden. Überprüfen Sie, ob der Druck-Daemon ausgeführt wird.

ps –ef | grep ctxlpmngt
<!--NeedCopy-->

Wenn der Prozess ctxlpmngt nicht ausgeführt wird, starten Sie ctxlpmngt manuell über die Befehlszeile. Wenn der Druck immer noch nicht funktioniert, überprüfen Sie das CUPS-Framework. Der Dienst ctxcups dient der Druckerverwaltung und kommuniziert mit dem Linux CUPS-Framework. Es ist ein einzelner Prozess pro Maschine und kann überprüft werden durch:

service ctxcups status
<!--NeedCopy-->

Zusätzliches Protokoll beim Drucken mit CUPS

Als eine der Komponenten des Linux VDA ist die Methode zum Abrufen des Protokolls einer Druckkomponente ähnlich wie bei anderen Komponenten.

Für RHEL sind einige zusätzliche Schritte erforderlich, um die CUPS-Dienstdatei zu konfigurieren. Andernfalls können einige Protokolle nicht in hdx.lo protokolliert 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. Normalerweise 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 vorgenommen werden:

[DEFAULT_PRINTER]

printername=

model=

ppdpath=

drivertype=
<!--NeedCopy-->

Wichtig:

Das Feld printername enthält den Namen des aktuellen clientseitigen Standarddruckers. 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 Client-Drucker 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
<!--NeedCopy-->

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

Model=xerox/ph3115.ppd.gz
<!--NeedCopy-->

Wenn der Universal Printer-Treiber nicht mit dem Client-Drucker 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-->

Es gibt drei Arten von Universal Printer-Treibern, die von Citrix® bereitgestellt werden (PostScript, PCL5 und PCL6). Sie können den Treibertyp konfigurieren, wenn kein nativer Druckertreiber verfügbar ist.

Wenn der Standard-Druckertreiber des Clients beispielsweise vom Typ PCL5 ist:

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

So identifizieren Sie dieses Problem:

  1. Melden Sie sich am ICA®-Sitzungsdesktop an.
  2. vi ~/.CtxlProfile$CLIENT_NAME
  3. Fügen Sie das folgende Feld zur Speicherpool-Datei auf dem Linux VDA hinzu:

    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 Drucker (native) Treiber 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 mit dem clientseitigen Drucker. Testen Sie es nach Abschluss dieses Schritts mit dem anderen Druckertreiber.

  8. Um den zugeordneten Drucker auf einen anderen Drittanbieter-Druckertreiber umzustellen, verwenden Sie den PostScript-Client-Drucker 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-->
      
    3. Wählen Sie den zugeordneten Drucker CitrixUniversalPrinter:$ClientName:app/dek$SESSION_ID und Drucker ändern. Dieser Vorgang erfordert Administratorrechte.

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

    5. Wählen Sie auf der Seite “Hersteller und Modell” einen anderen PostScript-Treiber anstelle des Citrix UPD-Treibers (z. B. Citrix Universal™ Driver PostScript). Wenn beispielsweise der virtuelle CUPS-PDF-Drucker installiert ist, wählen Sie den generischen CUPS-PDF-Drucker aus. Speichern Sie die Änderung.

    6. Wenn dieser Vorgang erfolgreich ist, konfigurieren Sie den PPD-Dateipfad des Treibers in .CtxlpProfile$CLIENT_NAME, um dem zugeordneten Drucker die Verwendung dieses Drittanbieter-Treibers zu ermöglichen.

Bekannte Probleme

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

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 Client-Drucker 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 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-->
Drucken