Imprimer

Cet article contient des informations sur les meilleures pratiques de l’impression.  

Installation

Linux VDA requiert les filtres cups et foomatic. Exécutez les commandes suivantes en fonction de votre distribution Linux :

Prise en charge des impressions RHEL 7 :

sudo yum –y install cups
sudo yum -y install foomatic-filters

Prise en charge des impressions RHEL 6 :

sudo yum –y install cups
sudo yum -y install foomatic

Utilisation

Vous pouvez imprimer à partir d’applications et de bureaux publiés. Seule l’imprimante par défaut côté client est mappée vers une session Linux VDA. Le nom de l’imprimante doit être différent pour les bureaux et les applications. Tenez compte des considérations suivantes :

  • 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 un bureau publié et une application publiée, les deux imprimantes sont disponibles pour la session. L’impression vers une imprimante de bureau dans une session d’application publiée ou l’impression vers une imprimante d’application dans un bureau publié échoue.

Résolution des problèmes

Impossible d’imprimer

Il existe un certain nombre d’éléments à vérifier si l’impression ne fonctionne pas correctement. Le démon d’impression est un processus par session et doit être en cours d’exécution pour la durée de la session. Vérifiez que le démon d’impression est en cours d’exécution.

ps –ef | grep ctxlpmngt

Si le processus ctxlpmngt n’est pas exécuté, démarrez manuellement ctxlpmngt à partir d’une ligne de commande. Si l’impression ne fonctionne toujours pas, vérifiez l’infrastructure CUPS. Le service ctxcups est destiné à la gestion d’imprimantes et communique avec l’infrastructure Linux CUPS. Il s’agit d’un processus unique par machine qui peut être vérifié par :

service ctxcups status

Journal supplémentaire lors de l’impression avec CUPS

En tant que composant du VDA Linux, la méthode permettant d’obtenir le journal d’un composant d’impression est similaire à d’autres composants.

Pour RHEL, certaines étapes supplémentaires sont nécessaires pour configurer le fichier du service CUPS. Sinon, certains journaux ne peuvent pas être consignés dans hdx.lo :

sudo service cups stop
sudo vi /etc/systemd/system/printer.target.wants/cups.service
PrivateTmp=false
sudo service cups start
sudo systemctl daemon-reload

Remarque :

Cette configuration sert uniquement à collecter le journal d’impression complet lorsqu’un problème survient. En général, cette configuration n’est pas recommandée car cette opération enfreint la sécurité CUPS.

L’impression est illisible

Un pilote d’imprimante incompatible peut causer une impression illisible. Une configuration 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=

Important :

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

Les champs ppdpath, model et drivertype ne peuvent pas être définis en même temps car un seul est appliqué 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 avec l’option model=. Vous pouvez trouver le nom du modèle actuel de l’imprimante avec 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

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

Model=xerox/ph3115.ppd.gz

Si le pilote d’imprimante universel n’est pas compatible avec l’imprimante cliente, configurez le chemin de fichier ppd du pilote d’imprimante natif. La valeur de ppdpath est le chemin d’accès absolu du fichier du 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

Il existe trois types de pilote d’imprimante universel fournis par Citrix (postscript, pcl5 et pcl6). Vous pouvez configurer le type de pilote si aucun pilote d’imprimante natif n’est disponible.

Par exemple, si le pilote d’imprimante par défaut est de type PCL5 :

drivertype=pcl5

La taille de sortie est définie sur zéro

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

La tâche d’impression dépend du pilote de l’imprimante par défaut du client. Il est important d’identifier le type de pilote actif. 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 suivant les étapes suivantes :

Pour identifier ce problème :

  1. Ouvrez une session sur le bureau de session ICA.
  2. vi ~/.CtxlProfile$CLIENT_NAME
  3. Ajoutez le champ suivant au fichier de spouleur sur le VDA Linux :

    deletespoolfile=no
    
  4. Fermez, puis rouvrez la session pour charger les modifications apportées à la configuration.

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

  6. Vérifiez si le fichier de spouleur est vide. Si la taille du fichier de spouleur est zéro, ceci indique un problème. Contactez le support Citrix (et fournissez le journal d’impression) pour une assistance supplémentaire.

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

    Si le fichier de spouleur est PCL ou si le système d’exploitation client est Windows, copiez le fichier de spouleur sur le client et imprimez-le à l’aide de l’imprimante côté client. Une fois cette étape effectuée, testez-le en utilisant l’autre pilote d’imprimante.

  8. Pour associer l’imprimante mappée à un autre pilote d’imprimante tiers, utilisez par exemple l’imprimante cliente postscript :

    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
      
    3. Sélectionnez l’imprimante mappée CitrixUniversalPrinter:$ClientName:app/dek$SESSION_ID et Modify Printer. Cette opération requiert des privilèges d’administrateur.

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

    5. Dans la page Make and Model, choisissez un pilote postcript au lieu du pilote Citrix UPD (par exemple, Citrix Universal Driver Postscript). Par exemple, si l’imprimante virtuelle CUPS-PDF est installée, sélectionnez Generic CUPS-PDF Printer. Enregistrez les modifications.

    6. Si ce processus réussit, configurez le chemin d’accès au fichier ppd du pilote dans .CtxlpProfile$CLIENT_NAME pour autoriser l’imprimante mappée à utiliser ce pilote tiers.

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 l’impression présente des anomalies, définissez le pilote d’imprimante sur le pilote d’imprimante natif fourni par le fabricant.

Impression lente avec les documents volumineux

Lorsque vous imprimez un document volumineux sur une imprimante cliente locale, le document est transféré sur une connexion serveur. Si la connexion est lente, le transfert risque de durer longtemps.

Notifications d’imprimante et de travaux d’impression d’autres sessions

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

Recherchez le nom de stratégie configuré dans le fichier.

DefaultPolicy default

Si le nom de la stratégie est default, ajoutez les lignes suivantes dans le 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>

Imprimer