LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 2030|回复: 5

arch下安装本地打印机和windows网络打印机的一般办法?(gnome环境下)

[复制链接]
发表于 2005-5-29 22:27:54 | 显示全部楼层 |阅读模式
本机打印机和网络打印机都是usb接口的epson c61

知道必须安装的软件:
cups
samba
gnome-cups-manager
foomatic-db
foomatic-db-engine
foomatic-db-ppd
foomatic-filters
gimp-print 4.2.7-2 (打印机驱动库,安装后重启生效)

先谈本地打印机的安装:
安装后可以在rc.conf 中加入cups服务,并通过gnome-cups-manager添加打印机,并且能够正确检测和识别出打印机的类型为c61。不过再进行打印的时候就没有了发应?不知道是什么原因?是不是还需要再安装什么软件包,或者需要某些权限的设置阿?

网络打印机器的安装:
启动samba和cups服务后,通过gnome-cups-manager浏览网络的打印机,能够正确地自动检测打印机所在的windows的主机名称,共享名称。用户名字和密码我随便输或者空白都能通过!添加网络打印机后,同样进行测试打印,就没有了发应?原因也不明白,不知道与上面的是否一样?

注意:hal ,hotplug服务也是开启的,并且已加载usb hub模块,因为本地打印机是通过usb hub连接的!
发表于 2005-5-30 10:48:40 | 显示全部楼层
1 看看有没有/dev/usb/lp*设备
2 lpq 看看cups是不是识别了打印机
3 如果lpq输出是XX is ready   那么lp file后再lpq看看打印状态,如果不能打,会有错误输出的。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-5-30 13:32:19 | 显示全部楼层
相关信息:

(1)
[joe@archlinux ~]$ ls -l /dev/usb/lp0
crw-rw----  1 root root 180, 0 1970-01-01 00:00 /dev/usb/lp0

(2)
[joe@archlinux ~]$ lpq
c61 is ready
no entries

(3)输出acpi这个文本文件
[joe@archlinux ~]$ lp acpi
request id is c61-11 (1 file(s))

(4)
[joe@archlinux ~]$ lpq
c61 is ready
no entries

不知道有什么错误,对linux的硬件配置不太熟,请大家帮忙看看!
回复 支持 反对

使用道具 举报

发表于 2005-5-30 14:28:26 | 显示全部楼层
呵呵,对打印机一无所知。要是扫描仪也许我还能帮上点儿忙。

sudo lp filename呢?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-5-30 14:52:53 | 显示全部楼层
to : diony
一无所知也没所谓拉,旨在参与,一起讨论讨论就能!


附上:
----------------------------------------------------------------------------------------------------------
在root用户下运行gnome-cups进行打印的错误信息:

** (gnome-cups-manager:5052): WARNING **: failed request with status 200

** (gnome-cups-manager:5052): WARNING **: failed request with status 200
Selected ppd file = epson24.ppd
Selected ppd file = C/escp2-c61.ppd.gz

** (gnome-cups-manager:5052): WARNING **: connect = 'usb://EPSON/Stylus%20C61'
Selected ppd file = epson24.ppd
Selected ppd file = C/escp2-c61.ppd.gz
Selected ppd file = C/escp2-c61.ppd.gz

** (gnome-cups-manager:5052): WARNING **: failed request with status 200


Selected ppd file = epson24.ppd
Selected ppd file = C/escp2-c61.ppd.gz

** (gnome-cups-manager:5052): WARNING **: connect = 'usb://EPSON/Stylus%20C61'

----------------------------------------------------------------------------------------------
一般用户使用gnome-cups-manager的错误信息(应该都一样):

** (gnome-cups-manager:5538): WARNING **: failed request with status 200
------------------------------------------------------------------------------------------------------

root用户和一般用户在终端下使用lp file的信息都是和上面3楼所说的一样
回复 支持 反对

使用道具 举报

 楼主| 发表于 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的值有比较大的影响)


  1. # Printer configuration file for CUPS v1.1.23
  2. # Written by cupsd on Fri 10 Jun 2005 04:09:16 PM UTC
  3. <DefaultPrinter epson>
  4. Info Epson C61
  5. Location archlinux
  6. DeviceURI usb:/dev/usb/lp0
  7. State Idle
  8. Accepting No
  9. JobSheets none none
  10. QuotaPeriod 0
  11. PageLimit 0
  12. KLimit 0
  13. </Printer>
  14. <Printer epson-yan>
  15. Info Epson C61-yan
  16. Location
  17. DeviceURI smb://123:123@yan/epson
  18. State Idle
  19. Accepting Yes
  20. JobSheets none none
  21. QuotaPeriod 0
  22. PageLimit 0
  23. KLimit 0
  24. </Printer>

复制代码


感受:在arch下的cups的网页配置界面和gnome-cups-manager管理软件都好象不能正确地把配置信息写入配置文件,都需要手动修改配置文件!看来使用archlinux真的象他的开发者所说那样,你们还是去手动修改配置吧!不要指望那些图形配置工具!或者那些图形配置工具都能用,不过只是扶助,可不要相信它们!至少到现在暂时还是这样......
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

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