Prácticas recomendadas de impresión
Este artículo proporciona información sobre las prácticas recomendadas de impresión.
Instalación
El VDA de Linux requiere filtros cups y foomatic. Los filtros se instalan al instalar el VDA. También puede instalar los filtros manualmente según la distribución.
Configuración de directivas de impresión
Redirección de impresoras de cliente
Esta configuración le permite determinar si las impresoras de cliente se asignan a una sesión de VDA. De forma predeterminada, la asignación de impresoras de cliente está permitida.
Crear automáticamente impresoras de cliente
Esta configuración especifica las impresoras de cliente que se pueden asignar a las sesiones de VDA. De forma predeterminada, está establecida en Crear automáticamente todas las impresoras de cliente, lo que significa que todas las impresoras de cliente se asignan a las sesiones de VDA. Para obtener más información sobre esta configuración, consulte Crear automáticamente impresoras de cliente en la documentación de Citrix Virtual Apps and Desktops.
Crear automáticamente impresora universal PDF
Para usar la función de impresión PDF, establezca esta directiva en Habilitada.
Asignación y compatibilidad de controladores de impresora
Citrix suministra tres tipos de controladores de impresora universales (postscript, pcl5 y pcl6). Sin embargo, es posible que el controlador de impresora universal no sea compatible con su impresora de cliente. En este caso, su única opción en versiones anteriores era editar el archivo de configuración ~/.CtxlpProfile$CLIENT_NAME. A partir de la versión 1906, puede optar por configurar la directiva Asignación y compatibilidad de controladores de impresora en Citrix Studio.
Para configurar la directiva Asignación y compatibilidad de controladores de impresora en Citrix Studio:
- Seleccione la directiva Asignación y compatibilidad de controladores de impresora.
- Haga clic en Agregar.
- Rellene Nombre del controlador con el nombre del controlador de la impresora cliente. Si utiliza la aplicación Citrix Workspace™ para Linux, introduzca el nombre de la impresora en su lugar.
-
Realice las siguientes acciones según sea necesario:
- Para permitir que la impresora cliente se redirija a la sesión de VDA y utilice solo controladores de impresión universales, seleccione Permitir o Crear solo con controlador universal.
- Para evitar que la impresora cliente con el nombre de controlador especificado se redirija a la sesión de VDA, seleccione No crear.
- Para dar a las aplicaciones de servidor acceso a la impresora cliente que tiene el mismo controlador que el servidor pero un nombre de controlador diferente, seleccione Reemplazar con e introduzca la ruta absoluta del archivo del controlador en el VDA.

Nota:
Solo se admiten archivos de controlador PPD.
Uso
Puede imprimir desde escritorios publicados y aplicaciones publicadas. Todas las impresoras cliente se pueden asignar a una sesión de VDA. Los nombres de las impresoras son diferentes para escritorios y aplicaciones:
-
Para escritorios publicados:
<client printer name>:$CLIENT_NAME:dsk$SESSION_ID -
Para aplicaciones publicadas:
<client printer name>:$CLIENT_NAME:app$SESSION_ID
Nota:
Si el mismo usuario abre un escritorio publicado y una aplicación publicada, ambas impresoras está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, falla.
Solución de problemas
No se puede imprimir
Cuando la impresión no funciona correctamente, compruebe el demonio de impresión ctxlpmngt y el marco de trabajo CUPs.
El demonio de impresión ctxlpmngt es un proceso por sesión y debe estar en ejecución durante toda la sesión. Ejecute el siguiente comando para verificar que el demonio de impresión está en ejecución. Si ctxlpmngt no está en ejecución, inicie ctxlpmngt manualmente desde la línea de comandos.
ps –ef | grep ctxlpmngt
<!--NeedCopy-->
Si la impresión sigue sin funcionar, compruebe el marco de trabajo CUPS. El servicio ctxcups se utiliza para la administración de impresoras y se comunica con el marco de trabajo CUPS de Linux. Es un proceso único por máquina y se puede comprobar ejecutando el siguiente comando:
systemctl status ctxcups
<!--NeedCopy-->
Pasos adicionales para recopilar registros de CUPS
Para recopilar registros de CUPS, ejecute los siguientes comandos para configurar el archivo de servicio de CUPS. De lo contrario, los registros de CUPS no se pueden grabar en hdx.log:
sudo systemctl stop cups
sudo vi /etc/systemd/system/printer.target.wants/cups.service
PrivateTmp=false
sudo systemctl start cups
sudo systemctl daemon-reload
<!--NeedCopy-->
Nota:
Esta configuración se realiza solo para recopilar el registro de impresión completo cuando surge un problema. En circunstancias normales, 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 edite.
Los campos ppdpath, model y drivertype no se pueden establecer al mismo tiempo porque solo uno de ellos tiene efecto para la mapped printer.
-
Si el controlador de impresora universal no es compatible con la impresora cliente, configure el modelo del controlador de impresora nativo mediante la opción model=. Puede encontrar el nombre del modelo actual de la impresora utilizando 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-->A continuación, puede 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, configure 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 controladores de impresora universales suministrados por Citrix (PostScript, PCL5 y PCL6). Puede configurar el tipo de controlador según las propiedades de su impresora.
Por ejemplo, si el tipo de controlador de impresora predeterminado del cliente es PCL5, establezca drivertype en:
drivertype=pcl5 <!--NeedCopy-->
El tamaño de salida es cero
Pruebe con diferentes tipos de impresoras. Y pruebe con 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 utiliza un controlador PCL5 pero el VDA de Linux elige un controlador PostScript, puede producirse un problema.
Si el tipo de controlador de impresora es correcto, puede identificar el problema realizando los siguientes pasos:
- Inicie sesión en una sesión de escritorio publicado.
- Ejecute el comando vi ~/.CtxlpProfile$CLIENT_NAME.
-
Agregue el siguiente campo para guardar el archivo de cola en el VDA de Linux:
deletespoolfile=no <!--NeedCopy--> -
Cierre la sesión y vuelva a iniciarla para cargar los cambios de configuración.
-
Imprima 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. -
Compruebe si la cola está vacía. Si el archivo de cola es cero, representa un problema. Póngase en contacto con el Soporte de Citrix (y proporcione el registro de impresión) para obtener más orientación.
-
Si el tamaño del spool no es cero, copie el archivo al cliente. El contenido del archivo de spool depende del tipo de controlador de impresora de la impresora predeterminada del cliente. Si el controlador de la impresora asignada (nativa) es PostScript, el archivo de spool se puede abrir directamente en el sistema operativo Linux. Compruebe si el contenido es correcto.
Si el archivo de spool es PCL, o si el sistema operativo cliente es Windows, copie el archivo de spool al cliente e imprímalo en la impresora del lado del cliente utilizando un controlador de impresora diferente.
-
Cambie la impresora asignada para usar un controlador de impresora diferente. El siguiente ejemplo utiliza la impresora cliente PostScript como ejemplo:
-
Inicie sesión en una sesión activa y abra un navegador en el escritorio del cliente.
-
Abra el portal de administración de impresión:
localhost:631 <!--NeedCopy--> -
Elija la impresora asignada
CitrixUniversalPrinter:$ClientName:app/dsk$SESSION_IDy Modificar impresora. Esta operación requiere privilegios de administrador. -
Mantenga la conexión cups-ctx y, a continuación, haga clic en Continuar para cambiar el controlador de la impresora.
-
En los campos Fabricante y Modelo, elija un controlador de impresora diferente del controlador Citrix UPD. Por ejemplo, si la impresora virtual CUPS-PDF está instalada, seleccione el controlador de impresora genérico CUPS-PDF. Guarde el cambio.
-
Si este proceso se realiza correctamente, configure la ruta del archivo PPD del controlador en
.CtxlpProfile$CLIENT_NAMEpara permitir que la impresora asignada utilice el controlador recién seleccionado.
-
Problemas conocidos
Se han identificado los siguientes problemas durante la impresión en Linux VDA:
El controlador CTXPS no es compatible con algunas impresoras PLC
Si encuentra una corrupción en la salida de impresión, configure el controlador de la impresora como el nativo proporcionado por el fabricante.
Rendimiento de impresión lento para documentos grandes
Cuando imprime 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. Puede deshabilitar estas notificaciones cambiando el archivo de configuración de CUPS: /etc/cups/cupsd.conf.
Localice el nombre de la política actual configurado en el archivo:
DefaultPolicy default
Si el nombre de la política es default, añada 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-->