Chinaunix首页 | 论坛 | 博客
  • 博客访问: 156979
  • 博文数量: 31
  • 博客积分: 2085
  • 博客等级: 大尉
  • 技术积分: 350
  • 用 户 组: 普通用户
  • 注册时间: 2005-11-07 13:16
文章分类

全部博文(31)

文章存档

2014年(1)

2011年(4)

2010年(6)

2009年(2)

2008年(2)

2007年(5)

2006年(8)

2005年(3)

我的朋友

分类: LINUX

2007-03-06 15:47:29

 
目前的Linux发行版本基本上都使用cups作为Linux下管理打印的服务应用。
CUPS软件为Unix/Linux用户提供了有效而可靠的方式来管理打印的方法。
它生来就支持IPP,并有LPD、SMB和HP JetDirect接口。
CUPS本身可以提供网络打印机功能,使用它可以非常方便的令Linux与Linux之间、
Linux与Windows之间实现打印共享。
本文以redhat ES4为例详细介绍CUPS服务的安装与使用
1,检查CUPS相关包,如没有,请安装相关包。
[root@as4b ~]# rpm -qa |grep cups
libgnomecups-0.1.12-5
cups-libs-1.1.22-0.rc1.9.10
cups-1.1.22-0.rc1.9.10
hal-cups-utils-0.5.2-8
2,启动cups服务
[root@as4b ~]service cups start
3,系统中一般已包含一些打印驱动。
  gs命令会列出一份它支持的打印机和输出设备的名单。
[root@as4b ~]# gs --help
……
Available devices:
   AP21xx DJ630 DJ6xx DJ6xxP DJ8xx DJ9xx DJ9xxVIP alc1900 alc2000 alc4000
   alc4100 alc8500 alc8600 ap3250 appledmp atx23 atx24 atx38 bbox bit
   bitcmyk bitrgb bj10e bj10v bj10vh bj200 bjc600 bjc800 bjc880j bjccmyk
……
一般来说我们购买的普通打印机附带的光盘中没有Linux的驱动。
可以查看: 站点,这里包含了大量关于在 Linux 上打印的信息。
点击网页右列的:Printer Listings。进入查询界面后输入打印机厂商和型号后,即可进行查询。
通常会得到四个查询结果:
  1、perfectly(完全支持Linux下打印,并且可以使用打印机所有功能和打印分辨率)。
  2、mostly(大部分功能支持Linux下打印,有一些小缺陷)。
  3、partially(只有一部分功能支持Linux下打印,许多功能不能实现例如彩色打印机只能打印黑白图像)
  4、paperweight(完全不支持Linux下打印)。
下面以HP LaserJet 3390打印机为例。要先从上面网址下载对应的ppd文档。
本人把HP_LaserJet_3390.ppd下载到了/tmp目录。
并把它拷贝到/usr/share/cups/model/目录下。否则会出现以下错误:
[root@as4b tmp]# lpadmin -p printer01 -m HP_LaserJet_3390.ppd
lpadmin: add-printer (set model) failed: server-error-internal-error
[root@as4b tmp]# cp HP_LaserJet_3390.ppd /usr/share/cups/model/
[root@as4b tmp]# lpadmin -p printer01 -m HP_LaserJet_3390.ppd
此命令的意思就是增加一台叫做“printer01“的打印机,使用模块 “HP_LaserJet_3390.ppd“。
有很多文章在这个命令上加许多参数,其实没有必要,在以后的配置中很容易修改,我们的
主要目的是加载这个ppd文档。
4,检查几个文件:
[root@as4b etc]# more /etc/printcap
# This file was automatically generated by cupsd(8) from the
# /etc/cups/printers.conf file.  All changes to this file
# will be lost.
printer01|printer01:rm=as4b.chenghe.com:rp=printer01:
打印的时候把文件打印到在这里定义的打印机。(注意,这个文件是有cups服务自动生成的
人为修改将不起作用。

/etc/cups/ppd/目录下会自动增加一个打印机的配置文件,本例为printer01.ppd
(它包含了默认纸张大小,纸盒,分辨率,颜色,双面打印等打印设置)。

察看/etc/cups/printers.conf会发现新增了一个打印机段落。
[root@as4b tmp]# more /etc/cups/printers.conf
# Printer configuration file for CUPS v1.1.22rc1
# Written by cupsd on 某年某月某日几时几分

Info printer01
DeviceURI file:/dev/null
State Stopped
StateMessage
Accepting No
JobSheets none none
QuotaPeriod 0
PageLimit 0
KLimit 0

从这段配置我们可以看到打印机printer01被设置成默认打印机。
对应的设备file:/dev/null(指向一个空设备)。设备配置可以选以下几种形式:
    file:/path/to/filename.prn (如parallel:/dev/lp0为本机打印口0)
        (指向其他提供cups打印的服务器)
   
    ipp://hostname/ipp/
    ipp://hostname/ipp/port1
    lpd://hostname/queue
    socket://hostname
    socket://hostname:9100 (指向HP JetDirect接口网络打印机,
本文例子为socket://192.168.18.40:9100)。
state stopped :printer01现在的状态为停用。
Accepting No  :不接受打印任务。
我们可以手工更改这个配置文件。或用lpadmin命令更改。
但最方便的还是从通过浏览器直接连接到CUPS的Web控制界面: ,
出于安全此时要输入账号名称和口令。可以使用root。
通过这个控制界面我们可以:
add printer 增加打印机
manage printer 管理打印机
manage jobs 管理打印
add class 添加打印组
manage class管理打印组(以windows为客户端访问打印服务时需要有打印组)。
modify printer/add printer/delete printer修改添加删除打印机都会
自动修改/etc/cups/printers.conf文件。
configure printer配置打印机会修改对应的/etc/cups/ppd/打印机名.ppd。
配置完后可以打印测试页print test page,以检查打印效果。
5,配置远程管理和允许客户端使用。
在本地使用控制界面需要系统图形界面和浏览器支持,而真正的linux服务器很少安装
图形界面。
我们可以通过修改/etc/cups/cups.conf(cups服务的主配置文件)来达到远程管理cups服务,
以及允许客户端使用打印服务的目的。
[root@as4b ~]# vi /etc/cups/cupsd.conf
其内容与web服务器appache配置很有几分相似
找到:
#
#    Port 80
#    Port 631
#    Listen hostname
#    Listen hostname:80
#    Listen hostname:631
     Listen 192.168.18.6:631
使cups监听本机ip 192.168.18.6的631端口,默认情况只监听127.0.0.1:631(localhost)。


……
AuthType Basic
AuthClass System
……
Order Deny,Allow
Deny From All
Allow From 127.0.0.1
Allow From 192.168.18.1 (新增语句,允许192.168.18.1来管理本机cups服务)
#Encryption Required

Order Deny,Allow
Deny From All
Allow From 127.0.0.1
Allow From 192.168.*  (新增语句)

Order Deny,Allow
Deny From All
Allow From 127.0.0.1
Allow From 192.168.*  (新增语句)
AuthType None 当客户端使用此打印机不必使用用户名密码。

上面两段设置保证了客户端可以使用本打印服务器的打印机printer01
6,客户端设置
注意客户端必须有对应打印机的驱动程序。
windowsxp:
控制面板〉打印机和传真〉新增打印机〉网络打印机〉

〉选择驱动程序〉是否设置为默认打印机〉OK
注意:打印组class01可以在server192.168.18.6上通过浏览器创建。
redhat:
红帽子〉系统设置〉打印〉新建〉前进〉取名,前进〉选择队列类型:CUPS(IPP),
前进〉服务器: 路径:/printers/class01
〉选择驱动程序,前进〉结束〉打印测试页?
 
附表:CUPS打印系统命令
lp.cups  提交打印任务,即开始打印某文档。
lpr.cups 请求打印机。
lprm.cups 从打印队列删除任务。
lpq.cups 查询打印队列中的任务。
lpc.cups 行打印控制。
lpstat.cups 显示打印机状态,包括打印队列长度和打印机数量。
lpoptions 显示或设置打印选项。
lppasswd 为用户修改打印密码。
lpinfo  显示打印设备。
lpadmin  配置打印机。
cancel  取消一个打印任务。
disable  禁用打印机。
enable  启用打印机。
lpmove  改变打印任务到新队列。
accept  接受打印任务。
reject  拒绝打印任务。
阅读(3664) | 评论(4) | 转发(0) |
给主人留下些什么吧!~~

chinaunix网友2010-05-04 16:37:49

大连的啊,呵呵,软件园么

chinaunix网友2008-11-04 16:45:11

非常不错,可惜我一步步做下来还是没法进行远程管理。 可否将你的 cupsd.conf 贴出来让我学习一下? 非常感谢!

chinaunix网友2008-09-09 16:50:27

很好。