设为首页 收藏本站
查看: 823|回复: 0

[经验分享] Mac OS X:远程管理打印机

[复制链接]

尚未签到

发表于 2016-5-15 13:29:14 | 显示全部楼层 |阅读模式
  Mac OS X系统的打印机,无论是Server版还是普通的Client版,都是通过CUPS(Common UNIX Printing SystemTM)子系统管理的, 而CUPS系统是开源的,无论在OS X还是Unix, Linux, 甚至是Windows上都有它的实现版本,而且在*nix系统中得到广泛支持,基本上是时事上的标准了。
  
  在OS X的日常管理中,除了可以有OS X服务器管理的网络打印机的共享从而通过Workgroup Manager来管理用户的打印机配置外,还会遇到要在目标客户端单独管理打印机的情况,而CUPS系统如同其它的*nix系统一样,支持命令行的命令方式管理,所以,一是可以通过ssh远程登录客户端并管理打印机,或者是通过Remote Desktop来管理远程机器的打印机,后者可以是图形界面方式,也可以是发送UNIX命令的方式。所以熟练使用,并建立自己系统内的常用的命令行来管理,不仅事半功倍,而且减少人为的错误。
  
  1. 取消目标机器的所有的打印任务:有的时候,一个错误的打印命令可能造成打印数千张的任务,有的用户由于不了解打印过程,只是关闭了打印机来暂时停止任务,而不是删除那个打印错误,这样一个网络打印机就无法被其它用户使用,一旦开机,那个错误的打印任务又会继续打印,这种情况下,管理员可以通过发送下面的取消所有打印任务的方法,来处理:
  cancel -a
  如果需要指定打印机名称可以是:
  cancel -a [printer name]
  如果只需要对指定的用户打印任务,可以加上-u选项:
  cancel -a -u [username]
  
  或者使用下面命令
  lprm -

  
  2. 安装一个打印机: 这是最经常使用的了,安装新的打印机是最令管理员头痛之一的了,这个最烦琐而没有创造性。好了使用下面的命令:
  lpadmin -p Printer_Name -L "Printer Location" -E -v lpd://ip-address-or-hostname  -P /Path/to/Printer_Driver.gz
  首先要想能使用上面的命令,要知道打印机的基本情况,比如IP地址, 所使用的打印机名, 最主要的是打印机的驱动程序的位置和名称,这一点需要你的网络上的系统的一致性,而一致性的保证就是由统一的系统映像(system image)来保证和实施的,关于系统的映像的制作和实施,在以前的blog里面有。一般来说, 所有的CUPS的打印机驱动程序文件保存在:Library/Printers/PPDs/Contents/Resources/目录下面,都是以.gz为结尾的文件. 使用lpinfo -m可以获得安装的驱动程序列表
  
  其中的lpd://ip-address-or-hostname是打印机的协议名和地址,也就是URI,普遍使用的还可以有ipp://ip-address-or-hostname:port, 或者是socket://ip-address-or-hostname:port,最简单的就是socket协议了。其中ip-address-or-hostname可以是IP地址也可以是打印机的主机名,如果通过名称解析可以获得IP,还有port, 通常socket的协议使用的关口是9100. 具体的可以是用lpinfo -v命令来得到。
  
  -E是打开这个打印设备来接受打印任务
  
  还可以加上限制用户使用的选项, 默认是任何登录的用户都可以打印:
  -u allow:user,@group 或者 -u deny:user,@group
  或者删除上面的对用户或组的限制:
  -u allow:all 或者 -u deny:none
  
  3. 禁止和打开打印机
  cupsaccept/cupsreject
  cupsenable/cupsdisable
  
  4. 删除打印机:
  lpadmin -x printqueue-name
  这里要说一下,这个printqueue-name不是我们在System Preference里面的Print&Fax里面的打印机名称,要想找到打印机的queue name,或者到Print&Fax里面的打印机的Options&Supplies里找,见下图, 或者通过lpstat -p来获得:
DSC0000.png
  5. 设置默认打印机:
  lpadmin -d destination-printer
  
  6.添加本地USB的打印机:
  通过下面命令获得该USB打印机的USB端口值,或者通过类似上图中URL的值:
  lpstat -v
  然后使用上面2的命令来添加其中URI使用类似的:
  usb://HP/Photosmart%20C3100%20series?serial=CN6BMC43PK04KV
  
  7. 获得/设置打印机的安装参数:
  lpoptions -d printqueue-name -l
  安装完打印机还要配置适当的参数,上面的命令来获取一个已经正确安装的打印机设备的参数,然后可以通过下面的方法来配置相同参数的打印机:
  lpoptions -d printqueue-name -o option=value
  比如配置双面打印器(Duplexer):
  lpoptions -d Printer_queue -o "HPOption_Duplexer/Duplex Unit: *True False"
  
  
  下面是一个添加打印机的shell script实例:

#!/bin/bash

# Tests to see if printer exists - sidesteps a variable scope issue
# Requires the printer name as a parameter.  Returns 1 if the printer exists.
function printerExists()
{
  if [ $# -ne 1 ]; then
    echo "Incorrect parameters"
    return 0
  else
    lpstat -p | awk '{print $2}' | while read printer
    do
      if [ $1 = "${printer}" ]; then
        return 1
      fi
    done
  fi
}


# Printer Name cannot Include any spaces
prName="formalName"
# User friendly printer name"
prDescription="Printer Name"
# Location
prLocation="Home Office"
# IP Address of printer
prAddress="192.168.1.99"
# PPD Filename... assumes it is installed on machine
prPPD="HP LaserJet 2200.gz"

#Test If Printer is already installed
printerExists $prName
prExists=$?

if [ $prExists -eq 1 ]; then
  echo "Printer already exists. Skipping: /"$prName/""
else
  # Add Printer Command
  lpadmin -p "${prName}" -D "${prDescription}" -L "${prLocation}" /
  -E -v lpd://"${prAddress}" -P "/Library/Printers/PPDs/Contents/Resources/en.lproj/$prPPD" /
  -o HPOption_Duplexer=True -o Resolution=1200x1200dpi


参考:
http://www.cups.org
http://www.macosxhints.com/article.php?story=20061203221317612&query=remove%2BRemote%2Bdesktop%2Badmin

fi

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-217332-1-1.html 上篇帖子: Mac OS X 10.5(Leopard) 下篇帖子: Mac OS X的Spotlight综述
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表