Impression
Cet article fournit des informations sur les meilleures pratiques d’impression.
Installation
Le VDA Linux nécessite les filtres cups et foomatic. Exécutez les commandes suivantes en fonction de votre distribution Linux :
Prise en charge de l’impression pour RHEL 7 :
sudo yum –y install cups
sudo yum -y install foomatic-filters
<!--NeedCopy-->
- Prise en charge de l’impression pour RHEL 6 :
sudo yum –y install cups
sudo yum -y install foomatic
<!--NeedCopy-->
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. Le nom de l’imprimante doit être différent pour les bureaux et les applications. Tenez compte des points suivants :
-
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 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.
Dépannage
Impossible d’imprimer
Plusieurs éléments sont à vérifier lorsque l’impression ne fonctionne pas correctement. Le démon d’impression est un processus par session et doit être en cours d’exécution pendant toute la durée de la session. Vérifiez que le démon d’impression est en cours d’exécution.
ps –ef | grep ctxlpmngt
<!--NeedCopy-->
Si le processus ctxlpmngt n’est pas en cours d’exécution, démarrez manuellement ctxlpmngt à partir d’une ligne de commande. Si l’impression ne fonctionne toujours pas, vérifiez le framework CUPS. Le service ctxcups est destiné à 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 :
service ctxcups status
<!--NeedCopy-->
Journal supplémentaire lors de l’impression CUPS
En tant que l’un des composants du VDA Linux, la méthode pour obtenir le journal d’un composant d’impression est similaire à celle des autres composants.
Pour RHEL, des étapes supplémentaires sont nécessaires pour configurer le fichier de service CUPS. Sinon, certains journaux ne peuvent pas être enregistré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
<!--NeedCopy-->
Remarque :
Cette configuration sert uniquement à collecter le journal d’impression complet en cas de problème. Normalement, 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 avec 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 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
<!--NeedCopy-->
Il existe trois types de pilotes d’imprimante universels 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 type de pilote d’imprimante par défaut du client est PCL5 :
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 d’imprimante 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 :
Pour identifier ce problème :
- Connectez-vous au bureau de la session ICA®.
- vi ~/.CtxlProfile$CLIENT_NAME
-
Ajoutez le champ suivant au fichier de pool de sauvegarde sur le VDA Linux :
deletespoolfile=no <!--NeedCopy--> -
Déconnectez-vous et reconnectez-vous pour charger les modifications de configuration.
-
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.
-
Vérifiez si le spool est vide. Si la taille du fichier de spool est nulle, cela indique un problème. Contactez le support Citrix (et fournissez le journal d’impression) pour plus d’informations.
-
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 en utilisant l’imprimante côté client. Après avoir terminé cette étape, testez-le en utilisant l’autre pilote d’imprimante.
-
Pour changer l’imprimante mappée pour un autre pilote d’imprimante tiers, utilisez l’imprimante cliente PostScript comme exemple :
-
Connectez-vous à une session active et ouvrez un navigateur sur le bureau client.
-
Ouvrez le portail de gestion de l’impression :
localhost:631 <!--NeedCopy--> -
Choisissez l’imprimante mappée CitrixUniversalPrinter:$ClientName:app/dek$SESSION_ID et Modifier l’imprimante. Cette opération nécessite des privilèges d’administrateur.
-
Conservez la connexion cups-ctx, puis cliquez sur Continuer pour changer le pilote d’imprimante.
-
Sur la page Marque et modèle, choisissez un autre pilote PostScript au lieu du pilote UPD Citrix (par exemple, Citrix Universal™ Driver Postscript). Par exemple, si l’imprimante virtuelle CUPS-PDF est installée, sélectionnez l’imprimante générique CUPS-PDF. Enregistrez la modification.
-
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 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 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 des connexions lentes, le transfert peut prendre beaucoup de temps.
Notifications d’imprimante et de travail d’impression visibles depuis d’autres sessions
Linux n’a 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 politique actuelle configurée dans le fichier :
DefaultPolicy default
Si le nom de la politique est default, ajoutez les lignes suivantes au bloc XML de la politique 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-->