Mac OS X:远程管理打印机
2009-01-27 13:16
239 查看
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来获得:
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实例:
在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来获得:
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
相关文章推荐
- Mac OS X:远程管理打印机
- FinalShell SSH工具,服务器管理,远程桌面加速软件,支持Windows,Mac OS X,Linux,版本2.8.1
- Mac OS X下用于系统监控和管理的命令整理
- mac os x 文件权限管理
- 对比Windows 7和Mac OS X Leopard: 打印机设备
- Windows Xp 与 Mac Os X 远程桌面共享
- Mac OS X 使用sshfs挂载Linux远程服务器磁盘
- Mac OS 上使用的远程桌面工具
- Mac OS X 使用sshfs挂载Linux远程服务器磁盘
- Mac OS X: 网络管理Login Script来隐藏程序
- 在Mac OS X下架设和使用SVN版本管理环境
- Linux/Unix/Mac OS下的远程访问和文件共享方式
- mac os x 之通过远程主机在nginx上部署web静态页面
- 在Mac OS X下架设和使用SVN版本管理环境
- 对比Windows 7和Mac OS X Leopard: 打印机设备
- Mac OS X 下软件包管理利器 – Homebrew安装与使用
- 使用Mac OS X终端SSH登录远程服务器
- mac os x文件夹权限管理方法详解,配合终端terminal语法详述
- mac OS X:[11]如何添加打印机
- 在Mac OS X下架设和使用Xcode的SVN版本管理环境