Agent de livraison virtuel Linux 2109

Impression

Cet article fournit des informations sur les meilleures pratiques d’impression.

Installation

Le VDA Linux nécessite les filtres cups et foomatic. Les filtres sont installés lorsque vous installez le VDA. Vous pouvez également installer les filtres manuellement en fonction de la distribution. Par exemple :

Sur RHEL 7 :

sudo yum –y install cups

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

Configuration

Citrix fournit trois types de pilotes d’imprimante universels (postscript, pcl5 et pcl6). Cependant, le pilote d’imprimante universel peut ne pas être compatible avec votre imprimante cliente. Dans ce cas, votre seule option dans les versions précédentes était de modifier le fichier de configuration ~/.CtxlpProfile$CLIENT_NAME. À partir de la version 1906, vous pouvez choisir de configurer la stratégie Mappage et compatibilité des pilotes d’imprimante dans Citrix Studio à la place.

Pour configurer la stratégie Mappage et compatibilité des pilotes d’imprimante dans Citrix Studio :

  1. Sélectionnez la stratégie Mappage et compatibilité des pilotes d’imprimante.
    1. Cliquez sur Ajouter.
  1. Renseignez le Nom du pilote avec le nom du pilote de l’imprimante cliente. Si vous utilisez l’application Citrix Workspace™ pour Linux, renseignez plutôt le nom de l’imprimante.
    1. Choisissez Remplacer par et saisissez le chemin absolu du fichier de pilote sur le VDA.

    image de la stratégie de mappage et de compatibilité des pilotes d'imprimante

Remarque :

  • Seuls les fichiers de pilote PPD sont pris en charge.
  • Les autres options de la stratégie Mappage et compatibilité des pilotes d’imprimante ne sont pas prises en charge. Seule l’option Remplacer par prend effet.

Utilisation

Vous pouvez imprimer à partir de bureaux publiés et d’applications publiées. Seule l’imprimante par défaut côté client est mappée dans une session VDA Linux. Les noms d’imprimante sont différents pour les bureaux et les applications :

  • Pour les bureaux publiés : CitrixUniversalPrinter:$CLIENT_NAME:dsk$SESSION_ID

  • Pour les applications publiées : CitrixUniversalPrinter:$CLIENT_NAME:app$SESSION_ID

Remarque :

Si le même utilisateur ouvre à la fois un bureau publié et une application publiée, les deux imprimantes sont disponibles pour la session. L’impression sur une imprimante de bureau dans une session d’application publiée, ou l’impression sur une imprimante d’application dans un bureau publié échoue.

Dépannage

Impossible d’imprimer

Lorsque l’impression ne fonctionne pas correctement, vérifiez le démon d’impression, ctxlpmngt, et le framework CUPS.

Le démon d’impression, ctxlpmngt, est un processus par session et doit être en cours d’exécution pendant toute la durée de la session. Exécutez la commande suivante pour vérifier que le démon d’impression est en cours d’exécution. Si ctxlpmngt n’est pas en cours d’exécution, démarrez ctxlpmngt manuellement à partir d’une ligne de commande.

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

Si l’impression ne fonctionne toujours pas, vérifiez le framework CUPS. Le service ctxcups est utilisé pour la gestion des imprimantes et communique avec le framework CUPS Linux. Il s’agit d’un processus unique par machine et peut être vérifié en exécutant la commande suivante :

service ctxcups status
<!--NeedCopy-->

Étapes supplémentaires pour la collecte des journaux CUPS

Pour collecter les journaux CUPS, exécutez les commandes suivantes pour configurer le fichier de service CUPS. Sinon, les journaux CUPS ne peuvent pas être enregistrés dans hdx.log :

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

Remarque :

  • Cette configuration est uniquement destinée à la collecte du journal d’impression complet lorsqu’un problème survient. Dans des circonstances normales, cette configuration n’est pas recommandée car elle compromet la sécurité de CUPS.

La sortie d’impression est illisible

Un pilote d’imprimante incompatible peut entraîner une sortie illisible. Une configuration de pilote par utilisateur est disponible et peut être configurée en modifiant le fichier de configuration ~/.CtxlpProfile$CLIENT_NAME :

[DEFAULT_PRINTER]

printername=

model=

ppdpath=

drivertype=
<!--NeedCopy-->

Important :

Le champ printername contient le nom de l’imprimante par défaut côté client actuelle. C’est une valeur en lecture seule. Ne la modifiez pas.

Les champs ppdpath, model et drivertype ne peuvent pas être définis simultanément car un seul prend effet pour l’imprimante mappée.

  • Si le pilote d’imprimante universel n’est pas compatible avec l’imprimante cliente, configurez le modèle du pilote d’imprimante natif à l’aide de l’option model=. Vous pouvez trouver le nom du modèle actuel de l’imprimante en utilisant la commande 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-->
    

    Vous pouvez ensuite définir le modèle pour qu’il corresponde à l’imprimante :

     model=xerox/ph3115.ppd.gz
     <!--NeedCopy-->
    
  • Si le pilote d’imprimante universel n’est pas compatible avec l’imprimante cliente, configurez le chemin du fichier PPD du pilote d’imprimante natif. La valeur de ppdpath est le chemin absolu du fichier de pilote d’imprimante natif.

    Par exemple, il existe un pilote PPD sous /home/tester/NATIVE_PRINTER_DRIVER.ppd :

     ppdpath=/home/tester/NATIVE_PRINTER_DRIVER.ppd
     <!--NeedCopy-->
    
  • Citrix fournit trois types de pilotes d’imprimante universels (postscript, pcl5 et pcl6). Vous pouvez configurer le type de pilote en fonction des propriétés de votre imprimante.

    Par exemple, si le type de pilote d’imprimante par défaut du client est PCL5, définissez drivertype sur :

     drivertype=pcl5
     <!--NeedCopy-->
    

La taille de la sortie est nulle

Essayez différents types d’imprimantes. Et essayez une imprimante virtuelle comme CutePDF et PDFCreator pour savoir si ce problème est lié au pilote d’imprimante.

Le travail d’impression dépend du pilote de l’imprimante par défaut du client. Il est important d’identifier le type de pilote actif actuel. Si l’imprimante cliente utilise un pilote PCL5 mais que le VDA Linux choisit un pilote Postscript, un problème peut survenir.

Si le type de pilote d’imprimante est correct, vous pouvez identifier le problème en effectuant les étapes suivantes :

  1. Connectez-vous à une session de bureau publié.
  2. Exécutez la commande vi ~/.CtxlpProfile$CLIENT_NAME.
  3. Ajoutez le champ suivant pour enregistrer le fichier de spool sur le VDA Linux :

    deletespoolfile=no
    <!--NeedCopy-->
    
  4. Déconnectez-vous et reconnectez-vous pour charger les modifications de configuration.

  5. Imprimez le document pour reproduire le problème. Après l’impression, un fichier de spool est enregistré sous /var/spool/cups-ctx/$logon_user/$spool_file.

  6. Vérifiez si le spool est vide. Si le fichier de spool est de taille nulle, cela représente un problème. Contactez le support Citrix (et fournissez le journal d’impression) pour plus de conseils.

  7. Si la taille du spool n’est pas nulle, copiez le fichier sur le client. Le contenu du fichier de spool dépend du type de pilote de l’imprimante par défaut du client. Si le pilote de l’imprimante mappée (native) est postscript, le fichier de spool peut être ouvert directement dans le système d’exploitation Linux. Vérifiez si le contenu est correct.

    Si le fichier de spool est PCL, ou si le système d’exploitation client est Windows, copiez le fichier de spool sur le client et imprimez-le sur l’imprimante côté client en utilisant un pilote d’imprimante différent.

  8. Modifiez l’imprimante mappée pour utiliser un pilote d’imprimante différent. L’exemple suivant utilise l’imprimante cliente postscript comme exemple :

    1. Connectez-vous à une session active et ouvrez un navigateur sur le bureau client.

    2. Ouvrez le portail de gestion de l’impression :

      localhost:631
      <!--NeedCopy-->
      
    3. Choisissez l’imprimante mappée CitrixUniversalPrinter:$ClientName:app/dsk$SESSION_ID et Modifier l’imprimante. Cette opération nécessite des privilèges d’administrateur.

    4. Conservez la connexion cups-ctx, puis cliquez sur Continuer pour modifier le pilote d’imprimante.

    5. Dans les champs Fabricant et Modèle, choisissez un pilote d’imprimante différent du pilote UPD Citrix. Par exemple, si l’imprimante virtuelle CUPS-PDF est installée, sélectionnez le pilote d’imprimante générique CUPS-PDF. Enregistrez la modification.

    6. Si ce processus réussit, configurez le chemin du fichier PPD du pilote dans .CtxlpProfile$CLIENT_NAME pour permettre à l’imprimante mappée d’utiliser le pilote nouvellement sélectionné.

Problèmes connus

Les problèmes suivants ont été identifiés lors de l’impression sur le VDA Linux :

Le pilote CTXPS n’est pas compatible avec certaines imprimantes PLC

Si vous rencontrez une corruption de la sortie d’impression, définissez le pilote d’imprimante sur celui natif fourni par le fabricant.

Performances d’impression lentes pour les documents volumineux

Lorsque vous imprimez un document volumineux sur une imprimante cliente locale, le document est transféré via la connexion au serveur. Sur les connexions lentes, le transfert peut prendre beaucoup de temps.

Notifications d’imprimante et de travail d’impression visibles depuis d’autres sessions

Linux ne possède pas le même concept de session que le système d’exploitation Windows. Par conséquent, tous les utilisateurs reçoivent des notifications à l’échelle du système. Vous pouvez désactiver ces notifications en modifiant le fichier de configuration CUPS : /etc/cups/cupsd.conf.

Localisez le nom de la stratégie actuelle configuré dans le fichier :

DefaultPolicy default

Si le nom de la stratégie est default, ajoutez les lignes suivantes au bloc XML de la stratégie par défaut :

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