Imprimir

Last published : Nov 13, 2026
Este artículo proporciona información sobre las mejores prácticas 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. Por ejemplo:
En RHEL 7:
sudo yum –y install cups

sudo yum -y install foomatic-filters

Configuración

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 la impresora cliente. En este caso, su única opción en versiones anteriores era modificar 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:
  1. Seleccione la directiva Asignación y compatibilidad de controladores de impresora.
  2. Haga clic en Agregar.
  3. Rellene Nombre del controlador con el nombre del controlador de la impresora cliente. Si utiliza la aplicación Citrix Workspace™ para Linux, rellene el nombre de la impresora en su lugar.
    4\. Elija Reemplazar con e introduzca la ruta absoluta del archivo del controlador en el VDA.
    imagen de la directiva de asignación y compatibilidad de controladores de impresora(/en-us/linux-virtual-delivery-agent/2104/media/printer-driver-mapping-and-compatibili-policy1.png)
Nota:
  • Solo se admiten archivos de controlador PPD.
  • No se admiten otras opciones de la directiva Asignación y compatibilidad de controladores de impresora. Solo Reemplazar con surte efecto.

Uso

Puede imprimir desde escritorios publicados y aplicaciones publicadas. Solo la impresora predeterminada del lado del cliente se asigna a una sesión de VDA de Linux. Los nombres de las impresoras son diferentes para escritorios y aplicaciones:
  • Para escritorios publicados:
    CitrixUniversalPrinter:$CLIENT_NAME:dsk$SESSION_ID
  • Para aplicaciones publicadas:
    CitrixUniversalPrinter:$CLIENT_NAME:app$SESSION_ID
Nota:
Si el mismo usuario abre tanto un escritorio publicado como 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

Si la impresión no funciona correctamente, compruebe el demonio de impresión, ctxlpmngt, y el marco de trabajo de 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
Si la impresión sigue sin funcionar, compruebe el marco de trabajo de CUPS. El servicio ctxcups se utiliza para la administración de impresoras y se comunica con el marco de trabajo de CUPS de Linux. Es un único proceso por máquina y se puede comprobar ejecutando el siguiente comando:
service ctxcups status

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 podrán grabar en hdx.log:
sudo service cups stop

sudo vi /etc/systemd/system/printer.target.wants/cups.service

PrivateTmp=false

sudo service cups start

sudo systemctl daemon-reload
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á ilegible

Un controlador de impresora incompatible puede causar una salida ilegible. Hay disponible una configuración de controlador por usuario que se puede configurar editando el archivo de configuración ~/.CtxlpProfile$CLIENT\_NAME:
[DEFAULT_PRINTER]

printername=

model=

ppdpath=

drivertype=
Importante:
El campo printername contiene el nombre de la impresora predeterminada del lado del cliente actual. Es un valor de solo lectura. No lo edite.
Los campos ppdpath, model y drivertype no se pueden configurar al mismo tiempo porque solo uno de ellos tiene efecto para la impresora asignada.
  • 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
    A continuación, puede configurar el modelo para que coincida con la impresora:
    model=xerox/ph3115.ppd.gz
  • 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
  • Citrix suministra tres tipos de controlador de impresora universal (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

El tamaño de salida es cero

Pruebe diferentes tipos de impresoras. Y pruebe 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 del cliente utiliza un controlador PCL5 pero el Linux VDA 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:
  1. Inicie sesión en una sesión de escritorio publicada.
  2. Ejecute el comando vi ~/.CtxlpProfile$CLIENT\_NAME.
  3. Agregue el siguiente campo para guardar el archivo de cola en el Linux VDA:
    deletespoolfile=no
  4. Cierre la sesión y vuelva a iniciarla para cargar los cambios de configuración.
  5. 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.
  6. 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.
  7. Si el tamaño de la cola no es cero, copie el archivo al cliente. El contenido del archivo de cola depende del tipo de controlador de la impresora predeterminada 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. Compruebe si el contenido es correcto.
    Si el archivo de cola es PCL, o si el sistema operativo del cliente es Windows, copie el archivo de cola al cliente e imprímalo en la impresora del lado del cliente utilizando un controlador de impresora diferente.
  8. Cambie la impresora asignada para usar un controlador de impresora diferente. El siguiente ejemplo utiliza la impresora cliente postscript como ejemplo:
    1. Inicie sesión en una sesión activa y abra un explorador en el escritorio del cliente.
    2. Abra el portal de administración de impresión:
      localhost:631
    3. Elija la impresora asignada CitrixUniversalPrinter:$ClientName:app/dsk$SESSION\_ID y Modificar impresora. Esta operación requiere privilegios de administrador.
    4. Mantenga la conexión cups-ctx y, a continuación, haga clic en Continuar para cambiar el controlador de impresora.
    5. En los campos Fabricante y Modelo, elija un controlador de impresora diferente del controlador UPD de Citrix. Por ejemplo, si la impresora virtual CUPS-PDF está instalada, seleccione el controlador de impresora genérico CUPS-PDF. Guarde el cambio.
    6. Si este proceso se realiza correctamente, configure la ruta del archivo PPD del controlador en .CtxlpProfile$CLIENT\_NAME para permitir que la impresora asignada utilice el controlador recién seleccionado.

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 encuentra daños en la salida de impresión, configure el controlador de 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 directiva actual configurado en el archivo:
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>