Prácticas recomendadas de impresión
En este artículo, se ofrecen los procedimientos recomendados de impresión.
Instalación
Linux VDA requiere los filtros cups y foomatic. Los filtros se instalan al instalar el VDA. También puede instalar los filtros manualmente en función de la distribución.
Configuraciones de directiva de Impresión
Redirección de impresoras del cliente
Este parámetro le permite determinar si las impresoras del cliente se asignan a una sesión de VDA. La asignación de impresoras cliente está permitida de forma predeterminada.
Crear automáticamente las impresoras del cliente
Este parámetro especifica las impresoras del cliente que se pueden asignar a sesiones de VDA. De forma predeterminada, está establecido en Crear automáticamente todas las impresoras cliente, lo que significa que todas las impresoras del cliente se asignan a sesiones de VDA. Para obtener más información sobre este parámetro, consulte Crear automáticamente las impresoras del cliente en la documentación de Citrix Virtual Apps and Desktops.
Crear automáticamente la impresora universal de PDF
Para utilizar la funcionalidad de impresión en PDF, establezca esta directiva en Habilitada.
Asignación y compatibilidad de controladores de impresora
Citrix proporciona 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 la impresora del cliente. En este caso, la única opción posible en versiones anteriores era modificar el archivo de configuración ~/.CtxlpProfile$CLIENT_NAME. A partir de la versión 1906, en su lugar, puede 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.
- Introduzca el nombre del controlador de la impresora del cliente. Si utiliza la aplicación Citrix Workspace para Linux, introduzca el nombre de la impresora.
-
Realice las siguientes acciones según sea necesario:
- Para permitir que la impresora cliente se redirija a la sesión de VDA y use solo controladores de impresión universales, seleccione Permitir o Crear solo con controlador universal.
- Para evitar que la impresora cliente con el nombre del controlador especificado se redirija a la sesión del VDA, seleccione No crear.
- Para dar acceso a las aplicaciones de servidor a la impresora cliente que tiene el mismo controlador que el servidor, pero con un nombre de controlador diferente, seleccione Reemplazar por y escriba la ruta absoluta al 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 del cliente se pueden asignar a una sesión de VDA. El nombre de la impresora debe ser diferente entre los escritorios y las aplicaciones.
-
Para los escritorios publicados:
<client printer name>:$CLIENT_NAME:dsk$SESSION_ID
-
Para las 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 estarán disponibles para la sesión. No se puede imprimir en una impresora de escritorio cuando se está en una sesión de aplicación publicada; tampoco se puede imprimir en una impresora de aplicación cuando se está en un escritorio publicado.
Solución de problemas
No se puede imprimir
Cuando la impresión no funcione correctamente, compruebe el demonio de impresión, ctxlpmngt y el marco CUPS.
El demonio de impresión, ctxlpmngt, es un proceso que se ejecuta para cada sesión y debe ejecutarse durante toda la sesión. Ejecute el siguiente comando para comprobar que el demonio de impresión se está ejecutando. Si ctxlpmngt no se está ejecutando, inicie ctxlpmngt manualmente desde una línea de comandos.
ps –ef | grep ctxlpmngt
<!--NeedCopy-->
Si la impresión sigue sin funcionar, compruebe el marco CUPS. El servicio ctxcups se usa para la administración de impresoras y se comunica con el marco CUPS de Linux. Es un proceso único por máquina y se puede comprobar mediante 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 registrar 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 solo sirve para recopilar el registro completo de impresión cuando surja algún problema. En circunstancias normales, no se recomienda esta configuración porque afecta negativamente a la seguridad de CUPS.
La salida de impresión no se ha descifrado correctamente
Las impresiones ilegibles pueden deberse a un controlador de impresora incompatible. Se puede definir una configuración de controladores por usuario si se modifica el archivo de configuración ~/.CtxlpProfile$CLIENT_NAME:
[DEFAULT_PRINTER]
printername=
model=
ppdpath=
drivertype=
<!--NeedCopy-->
Importante:
El campo printername contiene el nombre de la impresora actual predeterminada del cliente. Es un valor de solo lectura. No debe modificarlo.
Los campos ppdpath, model y drivertype no se pueden establecer a la vez, ya que solo uno tiene efecto en la impresora asignada.
-
Si el controlador de impresora universal no es compatible con la impresora del cliente, configure el modelo del controlador de la impresora nativa con la opción model=. Puede buscar el nombre del modelo actual de la impresora con 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 al archivo PPD del controlador nativo de la impresora. El valor de ppdpath es la ruta absoluta al archivo del controlador nativo de la impresora.
Por ejemplo, hay un controlador PPD en /home/tester/NATIVE_PRINTER_DRIVER.ppd:
ppdpath=/home/tester/NATIVE_PRINTER_DRIVER.ppd <!--NeedCopy-->
-
Existen tres tipos de controlador de impresora universal suministrados por Citrix (postscript, pcl5 y pcl6). Puede configurar el tipo de controlador en función de las propiedades de la 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 la salida es cero
Pruebe diferentes tipos de impresoras. Asimismo, pruebe una impresora virtual (como CutePDF y PDFCreator) para averiguar si el problema está relacionado con el controlador de la impresora.
El trabajo de impresión depende del controlador de impresora establecido en la impresora predeterminada del cliente. Es importante identificar el tipo de controlador activo actual. Si la impresora cliente usa un controlador PCL5, pero Linux VDA elige un controlador PostScript, se puede producir un problema.
Si el tipo de controlador de la impresora es correcto, puede identificar el problema siguiendo estos pasos:
- Inicie sesión en una sesión de escritorio publicada.
- Ejecute el comando vi ~/.CtxlpProfile$CLIENT_NAME.
-
Agregue el siguiente campo al archivo de cola de impresión guardado en Linux VDA:
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. Tras la impresión, se guarda un archivo de cola de impresión en
/var/spool/cups-ctx/$logon_user/$spool_file
. -
Compruebe si la cola de impresión está vacía. Un archivo de cola de impresión vacío representa un problema. Póngase en contacto con la asistencia de Citrix (y facilite el registro de impresión) para obtener más información.
-
Si la cola de impresión no es cero, copie el archivo al cliente. El archivo de cola de impresión depende del tipo de controlador de impresora establecido en la impresora predeterminada del cliente. Si el controlador de la impresora asignada (nativa) es PostScript, el archivo de cola de impresión se puede abrir directamente en el sistema operativo Linux. Compruebe que el contenido sea correcto.
Si el archivo de cola de impresión es PCL o si el sistema operativo del cliente es Windows, copie el archivo de cola de impresión al cliente e imprímalo en la impresora del cliente con otro controlador de impresora.
-
Cambie la impresora asignada para usar otro controlador de impresora. En el ejemplo siguiente se utiliza la impresora del cliente de PostScript como ejemplo:
-
Inicie sesión en una sesión activa y abra un explorador 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_ID
y modifique la impresora. Esta operación requiere privilegios de administrador. -
Conserve la conexión cups-ctx y, a continuación, haga clic en Continue para modificar el controlador de la impresora.
-
En los campos Make y Model, elija otro controlador de impresora del controlador UPD de Citrix. Por ejemplo, si está instalada la impresora virtual CUPS-PDF, puede seleccionar el controlador de impresora genérica CUPS-PDF. Guarde el cambio.
-
Si este proceso se realiza correctamente, configure la ruta al archivo PPD del controlador en
.CtxlpProfile$CLIENT_NAME
para permitir que la impresora asignada use el controlador recién seleccionado.
-
Problemas conocidos
Se han identificado los siguientes problemas al imprimir con Linux VDA:
El controlador CTXPS no es compatible con algunas impresoras PLC
Si se dañan las impresiones, establezca el controlador de impresora al controlador nativo que haya proporcionado el fabricante.
Impresión lenta de documentos grandes
Al imprimir un documento grande en una impresora local del cliente, el archivo que debe imprimirse se transfiere a través de una conexión de servidor. En conexiones lentas, esta transferencia puede tardar mucho tiempo.
La impresora y las notificaciones de trabajos de impresión aparecen en otras sesiones
Linux no tiene el mismo concepto de sesión que Windows. Por lo tanto, todos los usuarios reciben notificaciones de todo el sistema. Para inhabilitar esas notificaciones, debe modificar el archivo de configuración CUPS: /etc/cups/cupsd.conf.
En el archivo, busque el nombre de la directiva actual configurada:
DefaultPolicy default
Si el nombre de la directiva es default, agregue las siguientes líneas al bloque XML de la directiva 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-->