|
楼主 |
发表于 2005-6-10 16:04:29
|
显示全部楼层
经过花了不少时间的研究,这个问题也终于解决了!分享一下解决办法!
环境
假设2台打印机(其实为同一台,只不过需要时候更改接到另外一台机测试),都为Epson C61
一台机器装winxp,打印机接USB(计算机名字:yan,打印机共享名:epson)
另一台机器装arch,打印机接USB HUB中(计算机名:archlinux)
通过一个NEC路由连接adsl Modem,二台主机
安装打印机需要的软件:
cups(并需要把这服务启动)
samba(并需要把这服务启动,使用网络打印机时所需)
foomatic-db
foomatic-db-engine
foomatic-db-ppd
foomatic-filters
gimp-print (打印机驱动库,安装后重启生效)
ghostscript(好象是使用打印机需要的语言,我在刚开始的时候就没有安装,导致错误原因之一)
gnome-cups-manager(因为本人使用gnome,这是gnome下的打印机管理程序,不过也是导致当初错误的原因之二)
安装archlinux上的本地打印机:
通过浏览器输入http://127.0.0.1:631进入cups ... 置本地打印机)
在cups的配置界面中点击Add Printer增加打印机,打印机基本的名字,描述等配置很简单,就不多说了,到了Device(位置)的时候,我选了USB Printer #1(Epson Stylus C61) ,之后再到Make(驱动类型),当然是选Epson,之后到Model(型号)选Epson Stylus C61。这样配置就完成了,不过还是打印不出!原因在于Device的配置,因为在选择Device的时候,如果系统已经连上了打印机,而又检测了出来的,在选择的时候端口列表上存在打印机的端口后面就会写上已经检测到打印机的型号,就象我的USB Printer #1(Epson Stylus C61) ,这就造成了配置完成后cups对/etc/cups/printers.conf的配置文件写入配置信息的错误,把Device URI: usb:/dev/usb/lp0写成了“Device URI: usb:/dev/usb%lp%”之类的乱码(好象用gnome-cups-manager也存在类似错误),出现这样的问题后,我手动打开配置文件printers.conf把Device URI的选项改过来,就能打印测试页正常了。
安装windows xp上的网络打印机
用上面同样的方法添加打印机,只不过在选择Device的时候,使用cups的网页配置界面就选择Windows Printer via SAMBA,而之后会让你输入smb的地址,这里输入"smb://用户名:密码@计算机地址/打印机共享名 (其实这里随便输都一样,错误就在这里,它一样不能把你输入的信息正确写入到配置文件printer.conf),之后同样选择正确的驱动类型和型号就配置完成了!
之后我们返回打印机管理的首页面,会看到Device URI被设置成"smb://计算机地址/打印机共享名",省去了用户名字和密码,错误就出在这里了,如果要打印成功,我这里必须配置成为"smb://用户名:密码@计算机地址/打印机共享名 "(用户名不能为空,而密码可以为空,用户名和密码都可以随便填),再次手动改写printer.conf文件后,windows xp主机上打印机在archlinux这里也能通过网络使用了!
还有二点要注意:
就是在我这里,在打印的时候某些软件会缺省使用PostScript模式或可以选择使用,不过并不能正常使用,都会打印出一堆乱码!要选回打印机对应型号的模式,才能正常使用!另方面,要使cups使用samba,必须从Samba为cups安装smbspool程序,这程序安装后放在/usr/lib/cups/backend/smb,一般情况下好象只要安装了samba和cups就有的了(我这里是这样),如果不确定有没有或想知道如何安装,去下面那个连接看看,或者有帮助
http://www.cooltang.com/box/topi ... /linuxaid/00170.htm
贴出本人的/etc/cups/printers.conf 供大家需要的时候参考参考(只要是里面的DeviceURI的值有比较大的影响)
- # Printer configuration file for CUPS v1.1.23
- # Written by cupsd on Fri 10 Jun 2005 04:09:16 PM UTC
- <DefaultPrinter epson>
- Info Epson C61
- Location archlinux
- DeviceURI usb:/dev/usb/lp0
- State Idle
- Accepting No
- JobSheets none none
- QuotaPeriod 0
- PageLimit 0
- KLimit 0
- </Printer>
- <Printer epson-yan>
- Info Epson C61-yan
- Location
- DeviceURI smb://123:123@yan/epson
- State Idle
- Accepting Yes
- JobSheets none none
- QuotaPeriod 0
- PageLimit 0
- KLimit 0
- </Printer>
复制代码
感受:在arch下的cups的网页配置界面和gnome-cups-manager管理软件都好象不能正确地把配置信息写入配置文件,都需要手动修改配置文件!看来使用archlinux真的象他的开发者所说那样,你们还是去手动修改配置吧!不要指望那些图形配置工具!或者那些图形配置工具都能用,不过只是扶助,可不要相信它们!至少到现在暂时还是这样...... |
|