Impresión
Este artículo proporciona información sobre las mejores prácticas de impresión.
Instalación
El VDA de Linux requiere los filtros cups y foomatic. Ejecuta los siguientes comandos según tu distribución de Linux:
Compatibilidad con impresión en RHEL 7:
sudo yum –y install cups
sudo yum -y install foomatic-filters
<!--NeedCopy-->
- Compatibilidad con impresión en RHEL 6:
sudo yum –y install cups
sudo yum -y install foomatic
<!--NeedCopy-->
Uso
Puedes imprimir tanto desde escritorios publicados como desde aplicaciones publicadas. Solo la impresora predeterminada del lado del cliente se asigna a una sesión de VDA de Linux. El nombre de la impresora debe ser diferente para escritorios y aplicaciones. Ten en cuenta lo siguiente:
-
Para escritorios publicados:
CitrixUniversalPrinter:$CLIENT_NAME:dsk$SESSION_ID -
Para aplicaciones publicadas:
CitrixUniversalPrinter:$CLIENT_NAME:app$SESSION_ID
Nota:
Si el mismo usuario abre un escritorio publicado y una aplicación publicada, ambas impresoras estarán disponibles para la sesión. La impresión en una impresora de escritorio en una sesión de aplicación publicada, o la impresión en una impresora de aplicación en un escritorio publicado, fallará.
Solución de problemas
No se puede imprimir
Hay varios elementos que verificar cuando la impresión no funciona correctamente. El demonio de impresión es un proceso por sesión y debe estar en ejecución durante toda la sesión. Verifica que el demonio de impresión esté en ejecución.
ps –ef | grep ctxlpmngt
<!--NeedCopy-->
Si el proceso ctxlpmngt no está en ejecución, inicia ctxlpmngt manualmente desde la línea de comandos. Si la impresión sigue sin funcionar, verifica el marco de CUPS. El servicio ctxcups es para la administración de impresoras y se comunica con el marco de CUPS de Linux. Es un único proceso por máquina y se puede verificar de la siguiente manera:
service ctxcups status
<!--NeedCopy-->
Registro adicional al imprimir CUPS
Como uno de los componentes del VDA de Linux, el método para obtener el registro de un componente de impresión es similar al de otros componentes.
Para RHEL, son necesarios algunos pasos adicionales para configurar el archivo de servicio de CUPS. De lo contrario, algunos registros no se pueden registrar en 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-->
Nota:
Esta configuración es solo para recopilar el registro completo de impresión cuando surge un problema. Normalmente, esta configuración no se recomienda porque rompe la seguridad de CUPS.
La salida de impresión está distorsionada
Un controlador de impresora incompatible puede causar una salida distorsionada. Hay una configuración de controlador por usuario disponible y se puede configurar editando el archivo de configuración ~/.CtxlpProfile$CLIENT_NAME:
[DEFAULT_PRINTER]
printername=
model=
ppdpath=
drivertype=
<!--NeedCopy-->
Importante:
printername es un campo que contiene el nombre de la impresora predeterminada actual del lado del cliente. Es un valor de solo lectura. No lo edites.
Los campos ppdpath, model y drivertype no se pueden configurar al mismo tiempo porque solo uno tiene efecto para la impresora asignada.
Si el controlador de impresora universal no es compatible con la impresora cliente, configura el modelo del controlador de impresora nativo con la opción model=. Puedes encontrar el nombre del modelo actual de la impresora usando el comando 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-->
Luego puedes configurar el modelo para que coincida con la impresora:
Model=xerox/ph3115.ppd.gz
<!--NeedCopy-->
Si el controlador de impresora universal no es compatible con la impresora cliente, configura la ruta del archivo PPD del controlador de impresora nativo. El valor de ppdpath es la ruta absoluta del archivo del controlador de impresora nativo.
Por ejemplo, hay un controlador ppd en /home/tester/NATIVE_PRINTER_DRIVER.ppd:
ppdpath=/home/tester/NATIVE_PRINTER_DRIVER.ppd
<!--NeedCopy-->
Hay tres tipos de controlador de impresora universal suministrados por Citrix® (postscript, pcl5 y pcl6). Puedes configurar el tipo de controlador si no hay un controlador de impresora nativo disponible.
Por ejemplo, si el tipo de controlador de impresora predeterminado del cliente es PCL5:
drivertype=pcl5
<!--NeedCopy-->
El tamaño de la salida es cero
Prueba diferentes tipos de impresoras. Y prueba una impresora virtual como CutePDF y PDFCreator para averiguar si este problema está relacionado con el controlador de la impresora.
El trabajo de impresión depende del controlador de la impresora predeterminada del cliente. Es importante identificar el tipo de controlador activo actual. Si la impresora cliente usa un controlador PCL5 pero el VDA de Linux elige un controlador Postscript, puede ocurrir un problema.
Si el tipo de controlador de impresora es correcto, puedes identificar el problema realizando los siguientes pasos:
Para identificar este problema:
- Inicia sesión en el escritorio de la sesión ICA®.
- vi ~/.CtxlProfile$CLIENT_NAME
-
Agrega el siguiente campo al archivo de grupo de guardado en el VDA de Linux:
deletespoolfile=no <!--NeedCopy--> -
Cierra la sesión y vuelve a iniciarla para cargar los cambios de configuración.
-
Imprime el documento para reproducir el problema. Después de imprimir, se guarda un archivo de cola en /var/spool/cups-ctx/$logon_user/$spool_file.
-
Verifica si la cola está vacía. Si el archivo de cola es cero, representa un problema. Contacta con el Soporte de Citrix (y proporciona el registro de impresión) para obtener más orientación.
-
Si el tamaño de la cola no es cero, copia el archivo al cliente. El contenido del archivo de cola depende del tipo de controlador de impresora predeterminado del cliente. Si el controlador de la impresora asignada (nativa) es Postscript, el archivo de cola se puede abrir directamente en el sistema operativo Linux. Verifica si el contenido es correcto.
Si el archivo de cola es PCL, o si el sistema operativo cliente es Windows, copia el archivo de cola al cliente e imprímelo usando la impresora del lado del cliente. Después de completar este paso, pruébalo usando el otro controlador de impresora.
-
Para cambiar la impresora asignada a otro controlador de impresora de terceros, usa la impresora cliente Postscript como ejemplo:
-
Inicia sesión en una sesión activa y abre un navegador en el escritorio del cliente.
-
Abre el portal de administración de impresión:
localhost:631 <!--NeedCopy--> -
Elige la impresora asignada CitrixUniversalPrinter:$ClientName:app/dek$SESSION_ID y Modificar impresora. Esta operación requiere privilegios de administrador.
-
Mantén la conexión cups-ctx y luego haz clic en Continuar para cambiar el controlador de la impresora.
-
En la página Fabricante y modelo, elige otro controlador Postscript en lugar del controlador UPD de Citrix (por ejemplo, Citrix Universal™ Driver Postscript). Por ejemplo, si la impresora virtual CUPS-PDF está instalada, selecciona la impresora genérica CUPS-PDF. Guarda la modificación.
-
Si este proceso tiene éxito, configura la ruta del archivo PPD del controlador en .CtxlpProfile$CLIENT_NAME para permitir que la impresora asignada use este controlador de terceros.
-
Problemas conocidos
Se han identificado los siguientes problemas durante la impresión en el VDA de Linux:
El controlador CTXPS no es compatible con algunas impresoras PLC
Si encuentras corrupción en la salida de impresión, configura el controlador de la impresora al nativo proporcionado por el fabricante.
Rendimiento de impresión lento para documentos grandes
Cuando imprimes un documento grande en una impresora cliente local, el documento se transfiere a través de la conexión del servidor. En conexiones lentas, la transferencia puede tardar mucho tiempo.
Notificaciones de impresora y trabajos de impresión vistas desde otras sesiones
Linux no tiene el mismo concepto de sesión que el sistema operativo Windows. Por lo tanto, todos los usuarios reciben notificaciones en todo el sistema. Puedes deshabilitar estas notificaciones cambiando el archivo de configuración de CUPS: /etc/cups/cupsd.conf.
Localiza el nombre de la política actual configurado en el archivo:
DefaultPolicy default
Si el nombre de la política es default, agrega las siguientes líneas al bloque XML de la política predeterminada:
<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-->