Linux虚拟交付代理

打印

本文提供了有关打印最佳实践的信息。

安装

Linux VDA两者都需要foomatic过滤器。在安装VDA时,已经安装了过滤器。您还可以根据发行版手动安装过滤器。例如:

在RHEL 7:

sudo yum–y安装cups sudo yum-y安装食品过滤器<--需要复制-->

在RHEL 6:

sudo yum–y安装cups sudo yum-y安装foomatic<--需要复制-->

配置

Citrix提供了三种类型的通用打印机驱动程序(postscript、pcl5和pcl6)。但是,通用打印机驱动程序可能与客户端打印机不兼容。在本例中,早期版本中的唯一选项是编辑~/.CtxlpProfile$CLIENT\u NAME配置文件。从版本1906开始,您可以选择配置打印机驱动程序映射和兼容性而不是在Citrix Studio。

配置打印机驱动程序映射和兼容性Citrix Studio的政策:

  1. 选择打印机驱动程序映射和兼容性政策。
  2. 点击添加
  3. 填写司机的名字使用客户端打印机的驱动程序名。如果您使用的是Linux的Citrix Workspace应用程序,请填写打印机名称。
  4. 选择取代并在VDA上输入驱动文件的绝对路径。

    打印机驱动程序映射和兼容性策略的映像

注意:

  • 仅支持PPD驱动文件。
  • 委员会的其他选择打印机驱动程序映射和兼容性策略不受支持。只有取代生效。

用法

您可以从已发布的桌面和已发布的应用程序进行打印。只有客户端默认打印机被映射到Linux VDA会话。桌面和应用程序的打印机名称不同:

  • 对于已发布的桌面:
    CitrixUniversalPrinter: $ CLIENT_NAME:卡恩SESSION_ID美元

  • 发布应用程序:
    Citrix UniversalPrinter:$CLIENT\u NAME:app$SESSION\u ID

注意:

如果同一个用户同时打开一个已发布的桌面和一个已发布的应用程序,则会话可以使用这两个打印机。在已发布的应用程序会话中使用桌面打印机进行打印,或在已发布的桌面中使用应用程序打印机进行打印,均会失败。

故障排除

无法打印

如果打印工作不正常,请检查打印守护进程,ctxlpmngt,以及CUPs框架。

打印守护进程,ctxlpmngt,是每个会话的进程,并且必须在会话的长度内运行。运行以下命令以验证打印守护进程正在运行。如果ctxlpmngt没有运行,请启动ctxlpmngt手动从命令行。

ps–ef | grep ctxlpmngt<--需要复制-->

如果打印仍然不能工作,请检查CUPS框架。的ctxcups服务用于打印机管理,并与Linux CUPS框架通信。这是每台机器的单个进程,可以通过运行以下命令进行检查:

服务ctxcups状态

收集CUPS日志的额外步骤

如果需要收集CUPS日志,请执行以下命令配置CUPS服务文件。否则,将无法记录CUPS日志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<--需要复制-->

注意:

此配置仅用于在出现问题时收集完整的打印日志。在正常情况下,不建议使用这种配置,因为它会破坏CUPS的安全性。

不兼容的打印机驱动程序可能导致输出混乱。每个用户的驱动程序配置可用,可以通过编辑~/.ctxlp配置文件$CLIENT\u NAME配置文件:

[默认打印机]printername=model=ppdpath=drivertype=<--需要复制-->

重要的是:

印刷名称包含当前客户端默认打印机名称的字段。只读值。不要编辑它。

的字段ppdpath,模型,drivertype无法同时设置,因为只有一个对映射的打印机生效。

  • 如果Universal Printer驱动程序与客户端打印机不兼容,请使用模型=选项。您可以通过使用找到打印机的当前型号名称lpinfo命令:

    lpinfo -m…xerox/ ph3115pp .ppd.gz xerox Phaser 3115, SpliX V. 2.0.0 

    然后您可以设置模型匹配打印机:

    型号=施乐/ph3115.ppd.gz<--需要复制-->
  • 如果Universal Printer驱动与客户端打印机不兼容,请配置本机打印机驱动的PPD文件路径。的价值ppdpath本机打印机驱动程序文件的绝对路径。

    例如,有一个产后抑郁症的司机在/home/tester/NATIVE_PRINTER_DRIVER.ppd下:

    ppdpath = / home /测试/ NATIVE_PRINTER_DRIVER。产后抑郁症< !——NeedCopy >
  • Citrix提供了三种类型的通用打印机驱动程序(postscript、pcl5和pcl6)。您可以根据打印机属性配置驱动程序类型。

    例如,如果客户端默认打印机驱动程序类型为PCL5,则设置drivertype致:

    驱动器类型=pcl5<--需要复制-->

输出大小为零

尝试不同类型的打印机。尝试使用CutePDF和PDFCreator这样的虚拟打印机,看看这个问题是否与打印机驱动程序有关。

打印作业依赖于客户端默认打印机的打印机驱动程序。重要的是要确定当前活动驱动的类型。如果客户端打印机使用的是PCL5驱动程序,而Linux VDA选择的是Postscript驱动程序,则可能会出现问题。

如果打印机驱动程序类型正确,可以通过执行以下步骤来识别问题:

  1. 登录到已发布的桌面会话。
  2. 运行vi~/.ctxlp配置文件$CLIENT\u NAME命令。
  3. 在Linux VDA中添加以下字段保存spool文件:

    deletespoolfile = no < !——NeedCopy >
  4. 注销并重新登录以加载配置更改。

  5. 打印文档以复制问题。打印后,spool文件保存在/var/spool/cups ctx/$logon\u user/$spool\u文件

  6. 检查滑阀是否为空。如果spool文件为零,则表示存在问题。请联系Citrix支持部门(并提供打印日志)以获取更多指导。

  7. 如果假脱机大小不是零,请将文件复制到客户端。假脱机文件内容取决于客户端默认打印机的打印机驱动程序类型。如果映射的打印机(本机)驱动程序是postscript,则可以直接在Linux操作系统中打开spool文件。检查内容是否正确。

    如果spool文件为PCL,或者客户端操作系统为Windows,请将spool文件复制到客户端,并使用不同的打印机驱动程序在客户端打印机上打印。

  8. 更改映射的打印机以使用不同的打印机驱动程序。以postscript客户端打印机为例进行说明:

    1. 登录到活动会话并在客户端桌面上打开浏览器。

    2. 打开打印管理门户:

      本地主机:631<--需要复制-->
    3. 选择映射的打印机Citrix UniversalPrinter:$ClientName:app/dsk$SESSION\u ID修改打印机.该操作需要管理员权限。

    4. 保持cups-ctx连接,然后单击Continue以更改打印机驱动程序。

    5. 使模型字段,从Citrix UPD驱动程序中选择一个不同的打印机驱动程序。例如,如果安装了CUPS-PDF虚拟打印机,则选择Generic CUPS-PDF打印机驱动程序。保存更改。

    6. 如果该操作成功,请配置下驱动的PPD文件路径.ctxlp配置文件$CLIENT\u NAME允许映射的打印机使用新选择的驱动程序。

已知的问题

在Linux VDA上打印过程中发现了以下问题:

CTXPS驱动程序与部分PLC打印机不兼容

如果遇到打印输出损坏,请将打印机驱动程序设置为制造商提供的本机驱动程序。

大文件打印速度慢

当您在本地客户端打印机上打印大文档时,文档将通过服务器连接传输。在慢速连接中,传输可能需要很长时间。

从其他会话看到的打印机和打印作业通知

Linux与Windows操作系统没有相同的会话概念。因此,所有用户都会得到系统范围的通知。你可以通过改变CUPS配置文件来禁用这些通知:/etc/cups/cupsd.conf

找到文件中配置的当前策略名称:

默认策略默认值

如果策略名称为默认的,将以下行添加到默认策略XML块中:

 #作业/订阅隐私…JobPrivateAccess default JobPrivateValues default SubscriptionPrivateAccess default SubscriptionPrivateValues default ... ...  Require user @OWNER Order deny,allow   Order deny,allow   
打印