17.16. 打印

17.16.1. 如何设置打印队列 (Oracle Solaris 10)
17.16.2. 如何设置打印队列 (Oracle Linux)
17.16.3. 如何使 Sun Ray 打印机可用于 Windows 会话
17.16.4. 如何管理用户的打印机配置
17.16.5. 如何设置跟随打印
17.16.6. 打印机故障排除

Windows 连接器支持使用以下打印机配置进行打印:

以下是关于设置用于 Windows 连接器的打印机的一些重要事项。

17.16.1. 如何设置打印队列 (Oracle Solaris 10)

本过程介绍如何在运行 Oracle Solaris 10 的 Sun Ray 服务器上设置原始打印队列,以便 Windows 系统可以对其进行访问。对于本地连接到 Sun Ray 服务器的打印机,通常需要执行本过程。

如果网络打印机在 Sun Ray 服务器上可见,这通常表示已经设置了队列,您不必执行该任务。这些说明适用于原始打印队列,即在没有打印机驱动程序的情况下配置的打印队列。有关为 PostScript 驱动程序设置队列的说明,请参考操作系统文档。另请参见 lplpadmin 手册页。

  1. 使用 lpadmin 命令指定打印机和打印机设备节点。

    # /usr/sbin/lpadmin -p printer-name \
    -v /tmp/SUNWut/units/IEEE802.mac-address/dev/printers/device-node
    
  2. 启用打印队列。

    # /usr/bin/enable printer-name
    
  3. 接受打印队列。

    # /usr/sbin/accept printer-name
    

要使用 Sun Ray 服务器上的可用打印队列更新 Windows 会话,必须重新启动 Windows 连接器,并在命令行中指定相关的打印队列。有关详细信息,请参见第 17.16.3 节 “如何使 Sun Ray 打印机可用于 Windows 会话”

17.16.2. 如何设置打印队列 (Oracle Linux)

本过程介绍如何在运行 Oracle Linux 的 Sun Ray 服务器上设置原始打印队列,以便 Windows 系统可以对其进行访问。对于本地连接到 Sun Ray 服务器的打印机,通常需要执行本过程。

如果网络打印机在 Sun Ray 服务器上可见,则表示已经设置了队列,您不必执行该任务。这些说明适用于原始打印队列,即在没有打印机驱动程序的情况下配置的打印队列。有关为 PostScript 驱动程序设置队列的说明,请参考操作系统文档。另请参见 lplpadmin 手册页。

  1. /etc/cups/mime.convs 文件中的以下行取消注释:

    application/octet-stream application/vnd.cups-raw 0 -
  2. /etc/cups/mime.types 文件中的以下行取消注释:

    application/octet-stream
  3. 重新启动 cups 守护进程。

    # /etc/init.d/cups restart
  4. /dev/usb 中创建一个指向 Sun Ray 打印机节点的软链接

    例如,如果设备节点为 /tmp/SUNWut/units/IEEE802.mac-address/dev/printers/device-node,则请使用以下命令:

    # ln -s /tmp/SUNWut/units/IEEE802.mac-address/dev/printers/device-node \
    /dev/usb/sunray-printer
    

    创建打印队列时,请将此软链接 (/dev/usb/sunray-printer) 用作设备 URI。

    注意

    重新引导后,可能需要创建 /dev/usb 目录并重新创建软连接。

  5. 要完成此过程,需设置原始打印队列。

    # /usr/sbin/lpadmin -p printer-name -E -v usb:/dev/usb/sunray-printer
    

要使用 Sun Ray 服务器上的可用打印队列更新 Windows 会话,必须重新启动 Windows 连接器,并在命令行中指定相关的打印队列。有关详细信息,请参见第 17.16.3 节 “如何使 Sun Ray 打印机可用于 Windows 会话”

17.16.3. 如何使 Sun Ray 打印机可用于 Windows 会话

Windows 会话仅能识别当 Windows 连接器启动时在命令行中指定的打印队列。要使用 Sun Ray 服务器上的可用打印队列更新 Windows 会话,必须重新启动 Windows 连接器,并在命令行中指定相关的打印队列。

准备事项
  • 确保在 Sun Ray 服务器上设置了打印队列。有关详细信息,请参见第 17.16.1 节 “如何设置打印队列 (Oracle Solaris 10)”第 17.16.2 节 “如何设置打印队列 (Oracle Linux)”

  • 由于打印机数据是在 Windows 系统上创建的,因此,请务必指定打印机的 Windows 驱动程序名称,并将此驱动程序安装在 Windows 系统上。如果您将打印机设置为可用但未指定驱动程序,则默认情况下,Windows 连接器将使用 PostScript 驱动程序。

  • 要在 Windows 系统上查找打印机驱动程序名称,请检查以下位置的 Windows 注册表项:

    MyComputer/HKEY_LOCAL_MACHINE/System/CurrentControlSet\
    /Control/Print/Environments/Windows NT x86/Drivers/Version-3
    

    所有安装在系统上的打印机驱动程序都会显示在该列表中。

步骤
  • 要指定打印机的 Windows 驱动程序:

    % /opt/SUNWuttsc/bin/uttsc -r printer:printer-name="windows-printer-driver-name" hostname.domain
    

    其中,printer-name是 Sun Ray 服务器上有效的原始打印队列,windows-printer-driver-name是 Windows 服务器上所显示的打印机名称原样。需要在打印机名称周围加上双引号。

  • 要使打印机可用而不指定驱动程序:

    % /opt/SUNWuttsc/bin/uttsc -r printer:printer-name hostname.domain
    

    其中,printer-name是 Sun Ray 服务器上有效的原始打印队列。

  • 要使多台打印机可用:

    % /opt/SUNWuttsc/bin/uttsc -r printer:printer1=driver1,printer2=driver2 hostname.domain
    

17.16.4. 如何管理用户的打印机配置

Sun Ray Software 自动跟踪远程 Windows 系统中每个用户的打印机配置更改。每当用户更改远程 Windows 系统上通过 uttsc 命令指定的任何打印机的打印机配置时,Sun Ray 服务器都会将这些更改保存到 Sun Ray 数据存储库中。每当用户通过 Windows 连接器重新连接到 Windows 系统时,Sun Ray 服务器随即恢复保存的打印机配置。

uttscprinteradm 命令可帮助您管理此信息。可利用它列出可用的打印机信息并在删除用户或打印机时执行清除操作。有关详细信息,请参见 uttscprinteradm 手册页。

17.16.5. 如何设置跟随打印

本过程介绍如何设置跟随打印,此功能会为 Windows 会话保留用户的默认打印机,而不管所使用的 Sun Ray Client 如何。

注意

跟随 (Follow-Me) 打印的实现依赖于默认情况下不可用的技术、非公共 Sun Ray 接口以及非其目标用途的某些公共 Sun Ray 接口的使用。由于这些原因,该功能并不是一项受支持的功能。

  1. 对于每个相关的 Sun Ray Client,在 Sun Ray 数据存储库中指定一台打印机。

    1. 登录到管理 GUI。

    2. 单击 "Desktop Units"(桌面单元)。

    3. 单击要为其设置跟随打印的 Sun Ray Client。

    4. 单击 "Edit"(编辑),然后将打印机名称添加到 "Other Information"(其他信息)字段。

  2. 创建一个 shell 脚本,该脚本会查询存储在当前 Sun Ray Client 的 Sun Ray 数据存储库中的打印机名称,并将该名称写入到用户的 $HOME/.printers 文件中。

    例如:

    #!/bin/sh
    if [ 'uname' = Linux ] ; then
    theFlag="-P"
    fi
    theMACAddress='cd $theFlag $UTDEVROOT ; /bin/pwd | sed 's/.*?............?/1/''
    thePrinter='/opt/SUNWut/sbin/utdesktop -o |
    grep $theMACAddress |
    /usr/bin/awk -F, '{print $3}''
    echo "_default $thePrinter" > $HOME/.printers
  3. 使用 utaction 对初始连接调用上述脚本,以后,每当用户从一个 Sun Ray Client 移到另一个 Sun Ray DTU 时,也都调用此脚本。

    根据用户的登录管理器提供以下脚本:

    • dtlogin 显示管理器 (Oracle Solaris 10)-Xsession.d 脚本

    • gdm 显示管理器(Oracle Linux 和 Oracle Solaris 11)-xinitrc.d 脚本

      例如,可以针对 dtlogin 创建脚本 /usr/dt/config/Xsession.d/1100.SUNWut,或者针对 gdm 创建脚本 /etc/X11/xinit/xinitrc.d/1100.SUNWut,如下所示:

      #!/bin/sh
      /opt/SUNWut/bin/utaction -i -c path-to-script &
      

      其中,path-to-script 是步骤 2 中为检索打印机名而创建的脚本的路径。

    注意

    在此例中,我们有意选择了名称 1100.SUNWut,以确保该脚本在现有脚本 0100.SUNWut 之后运行或被调用。0100.SUNWut 脚本负责设置步骤 2 中第一个样例脚本所需的 $UTDEVROOT

    注意

    有关捆绑的 gdmgreeter 的信息,请参见 kiosk 手册页。

  4. 修改 Kiosk 会话脚本参数,将打印机重定向到 Windows。

    可以通过管理 GUI 修改这些参数。在此示例中,需要将参数 -r printer:_default 添加到现有参数,从而会产生类似如下的参数列表:

    -t 1800 -- -m -b -r printer:_default myHost
    

    其中,myHost 对应于传递给 uttsc 的服务器参数。

17.16.6. 打印机故障排除

17.16.6.1. 问题:"Failed to open the printer port"(无法打开打印机端口)消息。

检验用于配置打印机的打印机节点是否已被创建且是否在 /tmp/SUNWut/units/IEEE802.macid/dev/printers 下可用。

如果打印机节点不可用,请重新引导客户端。