目前的Linux发行版本基本上都使用cups作为Linux下管理打印的服务应用。CUPS软件为Unix/Linux用户提供了有效而可靠的方式来管理打印的方法。它生来就支持IPP,并有LPD、SMB和JetDirect接口。CUPS本身可以提供网络打印机功能,使用它可以非常方便的令Linux与Linux之间、Linux与Windows之间实现打印共享。
今天提到这个问题,是由于发现很多的用户在使用Linux的时候,沿用的是Windows下的习惯,用Samba进行打印机共享。其实Linux下的Samba打印机共享,是Samba连接本地的cups服务,然后提供出来的,这样会有几个问题:
引用
1、打印状态在Windows下看不到; 2、从Windows下访问Samba需要访问密码; 3、容易出现由于网络复杂,导致使用UDP协议的Samba连接超时或连接时间很长的问题。
解决的最简单的方法,就是直接通过cups打印,它不需要密码,而且可以通过TCP协议进行,速度和质量都更有保障。
※测试平台
服务器系统: 红旗 DC Server 5.0 for x86,IP:192.168.228.153
桌面系统:Windows XP SP2 和 红旗 桌面 4.1/5.0
网络:192.168.228.x网段
一、配置允许远程访问
红旗DC Server 5.0安装后就已经配置有cups服务,可以通过下面的命令获得版本:
# rpm -qa|grep cups
cups-libs-1.1.22-0.rc1.9.6.3AX
gimp-print-cups-4.2.7-2.1AX
libgnomecups-0.1.12-5
libgnomecups-devel-0.1.12-5
cups-1.1.22-0.rc1.9.6.3AX
cups-devel-1.1.22-0.rc1.9.6.3AX
但默认的配置中,cups是只允许本地打印,我们要修改它。修改/etc/cups/cups.conf文件,把:
引用
Order Deny,Allow
Deny From All
Allow From 127.0.0.1
改为:
引用
Order Deny,Allow
Deny From All
Allow From 127.0.0.1
Allow From 192.168.228.*
若你要使用远程管理的,再把:
引用
AuthType Basic
AuthClass System
Order Deny,Allow
Deny From All
Allow From 127.0.0.1
改为:
引用
AuthType Basic
AuthClass System
Order Deny,Allow
Deny From All
Allow From 127.0.0.1
Allow From 192.168.228.*
☆不使用远程管理的,不要修改/admin节。
最后,重新cups服务:
# service cups restart
可以看到631端口已经打开:
# netstat -ln|grep 631 tcp 0 0 0.0.0.0:631 0.0.0.0:* LISTEN udp 0 0 0.0.0.0:631 0.0.0.0:*
二、配置服务器的打印机
有两种方法可以选择:一是使用lpadmin命令增加打印机;二是使用Web和XWin下的配置界面。既然我已经打开了远程管理,当然是使用Web最简单咯。
1、使用浏览器访问http://192.168.228.153:631/
2、点击“Manage Printers”,然后输入root管理员的用户名和密码后,点击“Add Printer”;
3、在Name中输入打印机名字,点击“continue”;
4、选择服务器连接的本地打印机,一般是usb或并口,可以在图中看到;
5、选择打印机厂商
由于我们只是通过cups进行管理,并不是一定要在本地进行打印工作,所以可以使用raw(原始打印机)的方式。
6、选择打印机驱动
7、完成即可。点击上面的“Administration”回到管理主界面,进入“Manage Printer”,点击“Print Test Page”可以进行测试页打印。
到此,服务器的打印机是已经添加完成了。
三、添加客户端打印机
1、Windows客户端
在使用cups连接的网络打印服务前,必须停止XP的防火墙服务,或添加631的协议。否则会引起问题的。安装步骤如下:
1)从控制面板 双击 “打印机”
2)在弹出的对话框中选择 “添加打印机”
3)选择添加的打印机类型为 “网络打印机”
在URL下输入地址:http://192.168.228.153:631/printers/printer,如图:
※千万不要漏了端口。如果cups版本是1.1.21以前,需要先建立类classes才能连接,这个在最后描述。(红旗DC 5.0是不需要的)
如果提示URL错误,请纠正。否则点击“下一步”,然后提供Windows下的打印机驱动即可。
2、Linux客户端
这里我使用的是红旗桌面 5.0,其实就是在Xwin下本地的cups服务连接到远程的cups服务器上,方法是非常简单的。但有个前提,就是客户端必须有打印机在linux下的驱动,否则机器是不能打印或打印有错的。相关的打印驱动,可以咨询红旗公司,或查询下面的网站:
1)进入“控制面板”,点击“打印机管理”;
2)选择添加“网络打印机”
3)在URI中输入地址:http://192.168.228.153:631/printers/printer
并点击子网下的“设置”按钮,输入网段192.168.228,确认后,按“扫描”,然后点“下一步”;
4)选择打印机厂商和型号,点击“下一步”;
5)若需要测试,可以在这里打印测试页,点击“下一步”;
6)最后给个喜欢的名字它,然后确认即可。
※采用类似的方法,你可以在本地访问http://localhost:631/,然后在添加打印机的时候,使用internet printer protocol(http)协议,并输入正确的URI地址和驱动也可以。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。