当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 3 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : [转帖]Linux上设置打印机
帖子发表于 : 2007-02-04 16:25 

注册: 2005-11-25 10:01
帖子: 4
送出感谢: 0 次
接收感谢: 0 次
事情的起因是这样的:最近装了Edgy 6.10,发现自己的Epson EPL-6100L在安装(在“系统-系统管理-正在打印”)完了以后没有任何反应。查看到错误日志,内容如下:

E [29/Jan/2007:02:31:44 +0800] Creating missing directory "/var/run/cups/certs"
E [29/Jan/2007:02:32:49 +0800] CUPS-Add-Modify-Printer: Unauthorized
E [29/Jan/2007:02:33:12 +0800] [Job 1] No %%BoundingBox: comment in header!
E [29/Jan/2007:02:33:13 +0800] PID 4831 (/usr/lib/cups/filter/foomatic-rip) stopped with status 3!
E [29/Jan/2007:03:14:02 +0800] CUPS-Add-Modify-Printer: Unauthorized
E [29/Jan/2007:03:14:14 +0800] CUPS-Add-Modify-Printer: Unauthorized
E [29/Jan/2007:03:14:35 +0800] PID 10358 (/usr/lib/cups/filter/foomatic-rip) stopped with status 3!
E [29/Jan/2007:04:41:02 +0800] [Job 3] No %%BoundingBox: comment in header!
E [29/Jan/2007:04:41:02 +0800] PID 13380 (/usr/lib/cups/filter/foomatic-rip) stopped with status 3!
E [29/Jan/2007:04:48:53 +0800] Creating missing directory "/var/run/cups/certs"
E [29/Jan/2007:04:56:34 +0800] [Job 4] No %%BoundingBox: comment in header!
E [29/Jan/2007:04:56:36 +0800] PID 4996 (/usr/lib/cups/filter/foomatic-rip) stopped with status 3!
E [29/Jan/2007:05:26:54 +0800] [Job 5] No %%BoundingBox: comment in header!
E [29/Jan/2007:05:26:54 +0800] PID 7070 (/usr/lib/cups/filter/foomatic-rip) stopped with status 3!
E [29/Jan/2007:05:30:12 +0800] [Job 6] No %%BoundingBox: comment in header!
E [29/Jan/2007:05:30:13 +0800] PID 7376 (/usr/lib/cups/filter/foomatic-rip) stopped with status 3!
E [29/Jan/2007:05:49:55 +0800] [Job 7] No %%BoundingBox: comment in header!
E [29/Jan/2007:05:49:55 +0800] PID 8250 (/usr/lib/cups/filter/foomatic-rip) stopped with status 3!
E [29/Jan/2007:05:51:00 +0800] [Job 8] No %%BoundingBox: comment in header!
E [29/Jan/2007:05:51:01 +0800] PID 8377 (/usr/lib/cups/filter/foomatic-rip) stopped with status 3!
E [29/Jan/2007:07:08:23 +0800] CUPS-Delete-Printer: Unauthorized
E [29/Jan/2007:07:10:55 +0800] CUPS-Add-Modify-Printer: Unauthorized
E [29/Jan/2007:07:11:29 +0800] CUPS-Add-Modify-Printer: Unauthorized
E [29/Jan/2007:07:17:03 +0800] CUPS-Add-Modify-Printer: Unauthorized
E [29/Jan/2007:07:17:53 +0800] PID 13305 (/usr/lib/cups/filter/foomatic-rip) stopped with status 3!
E [29/Jan/2007:07:18:29 +0800] CUPS-Add-Modify-Printer: Unauthorized
E [29/Jan/2007:07:18:55 +0800] PID 13368 (/usr/lib/cups/filter/foomatic-rip) stopped with status 3!
E [29/Jan/2007:07:19:37 +0800] Purge-Jobs: Unauthorized
E [29/Jan/2007:07:21:13 +0800] PID 13464 (/usr/lib/cups/filter/foomatic-rip) stopped with status 3!
E [29/Jan/2007:07:30:18 +0800] PID 13895 (/usr/lib/cups/filter/foomatic-rip) stopped with status 3!
E [29/Jan/2007:13:00:49 +0800] Creating missing directory "/var/run/cups/certs"

看之不懂,于是找篇文章学习一下,本着Ubuntu的精神share一下,请各位高手指正。文中的界面已是昨日黄花,我是按照新版写的。而且打印机我也用自己的Epson了。

《Foomatic from the User's Point of View: Installing a Printer》
《以用户的观点看foomatic: 如何安装一台打印机》

原文地址如下:
http://www.linuxprinting.org/kpfeifle/LinuxKongress2002/Tutorial/II.Foomatic-User/II.tutorial-handout-foomatic-user.html

作者: Till Kamppeter,linuxprinting.org的维护者,Foomatic项目的领导人,XPP的作者,Mandrake Linux打印部分的负责人。
翻译: Jerry Liu,中国平民。

我们所要演示的是: 在文章中,我们将要安装一台打印机到我们的CUPS服务之上。我们将引导读者到Linuxprinting.org上查找选定的打印机,下载它的PPD文件,"cupsomatic"等等。同时,我们也将展示如何安装一台HP OfficeJet打印机使之工作,扫描仪和照片卡的读卡器。在文章的末尾部分,我们将演示如何将照片从数码相机中读出并打印。

在Foomatic帮助下安装一台打印机

安装一台打印机的最大问题就在于设置spooler(后面解释)去调用正确的filter(后面解释)和使用户能够控制打印机的配置。大多数的GNU/Linux产品使用它们自己的工具(通常这些工具都不支持最新的打印机型号)并提供一些基本的驱动程序配置。

为了改变这种状况,Grant Taylor, Printing-HOWTO的作者,创建了一个数据库用于存储free software版打印机驱动程序的相关信息,也就是说有哪些打印机以及它们如何为free software所支持。这个数据库被称为Foomatic,位于linuxpring.org,原作者目前正在维护它。目前,该数据库可列出所有free software版的打印机驱动程序及其命令行、所有可用的配置和哪些我们可以得出它们被支持到什么程度的所有的打印机。该数据库有XML和Perl脚本所实现,这个Perl脚本程序可自动地创建配置文件甚至是知名的哪些free spooler(LPD, LPRng, GNUlpr, CUPS, PPR, PDQ, 和spooler-less打印)的完整的打印队列(printer queue)。 借助于这些队列,用户可使用这些打印机驱动的所有功能,而且只通过一个spooler独立的用户界面就可以以同一方式操作所有的spooler。

你有两种可能去使用Foomatic:

从linuxprinting.org取得必需的文件并手工地把它们放到某处。
下载Foomatic包并只用它们的命令行工具。

1 使用linuxprinting.org配置一台打印机

1.1 在linuxprinting.org上查找你的打印机

选择位于主页上侧的菜单Printers[http://www.linuxprinting.org/printer_list.cgi],然后你将得以选择你的打印机型号,或直接选择型号,或选择打印机制造商,界面如图1。

忠告:当你并未找到你的打印机型号的确切名称时,有可能仅仅是名称的后缀不同(比如打印机HP DeskJet 990Cxi可能就是HP DeskJet 990C),因此问题不大,选它就是。在大多情况下,硬件其实是一样的,而仅仅是名字不同,只是为了销售的需要。当购买一台有“L”字样的打印机时要小心,这通常意味着“Light”,意思就是该款打印机被缩简了性能,通常特指the PCL emulation is left out,则它将不能与free software配合工作。

Fig.1: 选择打印机的页面,可以按型号和制造商进行查找

当你得到你的打印机的数据库查询结果以后(Fig.2),请阅读并检查你的打印机为free software所支持的程度。支持的质量分成从“Perfectly”(该款打印机完全被支持)到“Pageweight”(该款打印机完全不被支持)。如果你的打印机是“Pageweight”的话,你就不需要继续下面的步骤了(另买其它型号的打印机好了)。

Fig.2: 打印机Epson EPL-6100L的数据库查询结果为“Mostly”

1.2 为你的打印机选一个驱动

每款非“Pageweight”打印机的查询结果都会给出一堆支持该打印机的驱动。这里有且只有一款是推荐的,因为那个是我们认为能给出最好的输出质量的驱动。因此它通常是最好的选择。阅读该驱动的评价并点击进入驱动的信息页面(Fig.3)。

Fig.3: 一个驱动名字为“epsonepl”。

这款打印机为Epson的EPL的“L”系列,不支持PCL 5e, PCL 6e,或者PostScript,因此它非标准的驱动;它们只能用过专利语言才能被驱动:-(

一个独立的驱动被epsonepl[http://sourceforge.net/projects/epsonepl/]项目所开发。

该驱动基于IJS, 要求GNU Ghostscript >=6.53 , AFPL Ghostscript >=7.04, or ESP GhostScript >=7.x。

该项目并未被Epson所支持。(真小心眼)

这个驱动可以用并口和USB接口。

用于创建PPD文件的Foomatic数据被包含在该驱动内部,因此就不在OpnePrinting网站提供这些数据和PPD了。

Execution style: Filter(这个在另一篇文章中有解释)

1.3 确定你需要的驱动是否安装在系统之中

在选择一个驱动之前,你必须确定它是否已被安装到你的系统之中。如果驱动的“Tyep”是“GhostScript”,则该驱动必须被创建成GhostScript。确认你的GhostScript里是否有它,敲入命令行命令

gs -h

结果为:

ESP Ghostscript 8.15.2 (2006-04-19)
Copyright (C) 2004 artofcode LLC, Benicia, CA. All rights reserved.
Usage: gs [switches] [file1.ps file2.ps ...]
Most frequently used switches: (you can use # in place of =)
-dNOPAUSE no pause after page | -q `quiet', fewer messages
-g<width>x<height> page size in pixels | -r<res> pixels/inch resolution
-sDEVICE=<devname> select device | -dBATCH exit after last file
-sOutputFile=<file> select output file: - for stdout, |command for pipe,
embed %d or %ld for page #
Input formats: PostScript PostScriptLevel1 PostScriptLevel2 PostScriptLevel3 PDF
Default output device: bbox
Available devices:
alc1900 alc2000 alc4000 alc4100 alc8500 alc8600 alc9100 ap3250 appledmp
atx23 atx24 atx38 bbox bit bitcmyk bitrgb bj10e bj10v bj10vh bj200 bjc600
bjc800 bjc880j bjccmyk bjccolor bjcgray bjcmono bmp16 bmp16m bmp256
bmp32b bmpa16 bmpa16m bmpa256 bmpa32b bmpamono bmpasep1 bmpasep8 bmpgray
bmpmono bmpsep1 bmpsep8 ccr cdeskjet cdj1600 cdj500 cdj550 cdj670 cdj850
cdj880 cdj890 cdj970 cdjcolor cdjmono cfax cgm24 cgm8 cgmmono chp2200 cif
cljet5 cljet5c cljet5pr coslw2p coslwxl cp50 cups declj250 deskjet
devicen dfaxhigh dfaxlow dj505j djet500 djet500c dl2100 dnj650c epl2050
epl2050p epl2120 epl2500 epl2750 epl5800 epl5900 epl6100 epl6200 eps9high
eps9mid epson epsonc epswrite escp escpage faxg3 faxg32d faxg4 fmlbp fmpr
fs600 gdi hl1240 hl1250 hl7x0 hpdj1120c hpdj310 hpdj320 hpdj340 hpdj400
hpdj500 hpdj500c hpdj510 hpdj520 hpdj540 hpdj550c hpdj560c hpdj600
hpdj660c hpdj670c hpdj680c hpdj690c hpdj850c hpdj855c hpdj870c hpdj890c
hpdjplus hpdjportable ibmpro ijs imagen inferno iwhi iwlo iwlq jetp3852
jj100 jpeg jpeggray la50 la70 la75 la75plus laserjet lbp310 lbp320 lbp8
lex2050 lex3200 lex5700 lex7000 lips2p lips3 lips4 lips4v lj250 lj3100sw
lj4dith lj4dithp lj5gray lj5mono ljet2p ljet3 ljet3d ljet4 ljet4d
ljet4pjl ljetplus ln03 lp1800 lp1900 lp2000 lp2200 lp2400 lp2500 lp2563
lp3000c lp7500 lp7700 lp7900 lp8000 lp8000c lp8100 lp8200c lp8300c
lp8300f lp8400f lp8500c lp8600 lp8600f lp8700 lp8800c lp8900 lp9000b
lp9000c lp9100 lp9200b lp9200c lp9300 lp9400 lp9500c lp9600 lp9600s
lp9800c lps4500 lps6500 lq850 lx5000 lxm3200 lxm5700m m8510 mag16 mag256
md1xMono md2k md50Eco md50Mono md5k mgr4 mgr8 mgrgray2 mgrgray4 mgrgray8
mgrmono miff24 mj500c mj6000c mj700v2c mj8000c ml600 necp6 npdl nullpage
oce9050 oki182 oki4w okiibm omni oprp opvp paintjet pam pbm pbmraw pcl3
pcx16 pcx24b pcx256 pcx2up pcxcmyk pcxgray pcxmono pdfwrite pgm pgmraw
pgnm pgnmraw photoex picty180 pj pjetxl pjxl pjxl300 pkm pkmraw pksm
pksmraw plan9bm png16 png16 png16m png16m png256 png256 pngalpha pngalpha
pnggray pnggray pngmono pngmono pnm pnmraw ppm ppmraw pr1000 pr1000_4
pr150 pr201 psdcmyk psdrgb psgray psmono psrgb pswrite pxlcolor pxlmono
r4081 rpdl samsunggdi sgirgb sj48 spotcmyk st800 stcolor sunhmono t4693d2
t4693d4 t4693d8 tek4696 tiff12nc tiff24nc tiffcrle tiffg3 tiffg32d tiffg4
tifflzw tiffpack uniprint x11 x11alpha x11cmyk x11cmyk2 x11cmyk4 x11cmyk8
x11gray2 x11gray4 x11mono xcf xes
Search path:
. : /usr/share/gs-esp/8.15/lib : /usr/share/gs-esp/8.15/Resource :
/usr/share/gs-esp/fonts : /var/lib/defoma/gs.d/dirs/fonts :
/usr/share/cups/fonts : /usr/share/ghostscript/fonts :
/usr/local/lib/ghostscript/fonts
For more information, see /usr/share/doc/gs-esp/Use.htm.
Report bugs to bug-gs@ghostscript.com, using the form in Bug-form.htm.

检查下看你的驱动是否在“Available devices”列表中。如果是,则你的驱动已经在系统中了。如果不是
则说明你既要下载驱动,又要编译它与GhostScript。再或者,有一个更简单的方法,你下载并安装ESP GhostScript 7.05.4或更新版,它包含了linuxprinting.org所列出的所有的GhostScript驱动。要确定的是它可访问GhostScript字体,这需安装相应的ghostscript-fonts包或者使用相同的font路径作为你发行的GhostScript来制作它。要那样,你可使用“with-fontpath”选项,在运行“./configure”命令的时候。你当前的font path位于上述“gs -h”结果的“Search path”部分。本例中,将不得不编译ESP GhostCript(请把fontpath放在‘configure’的一行之中并以“:”分隔不同的项):

./configure --with-fontpath= /usr/share/gs-esp/fonts : /var/lib/defoma/gs.d/dirs/fonts : /usr/share/cups/fonts : /usr/share/ghostscript/fonts : /usr/local/lib/ghostscript/fonts
make
make install

如果你的驱动是“Filter”类型,则该驱动是分开运行的,它既要向打印机输出转换自GhostScript的位图(打印机的输入格式,比如针对HP PPA DeskJet的‘pnm2ppa’驱动),又要被GhostScript作为plug-in而调用(比如针对PCL inkjet和激光打印机的HP的“hpijs”驱动)。欲确定你的驱动是否被安装,可用“”命令查找可执行的文件:

$ which ijs_server_epsonepl
/usr/local/bin/ijs_server_epsonepl
$

如果该驱动缺失,从驱动主页下载并安装它。类似的filter通常都比较容易编译和安装。

配置CUPS的Web地址[http://localhost:631/admin],到此我的问题已经基本解决。

[后续的文章不再翻译,仅给出标题,如有需要请回帖,我将努力翻译余下的文章。]

1.4 取得针对于你的spooler的配置文件

现在,你要决定使用哪个驱动,你需要为你的打印机下载配置文件。一般会在图2的推荐驱动后面有(Home page, view PPD, download PPD)的链接。但是本例没有,说是在驱动包里面。

1.5 创建一个打印队列

1.6 配置

2 使用Foomatic包配置打印机

2.1 安装Foomatic

2.2 确定打印机数据ID

3 安装HP的多功能设备


附件:
fig3.png
fig3.png [ 94.84 KiB | 被浏览 1975 次 ]

fig2.png
fig2.png [ 101.34 KiB | 被浏览 1934 次 ]

文件注释: fig1
fig1.png
fig1.png [ 102.82 KiB | 被浏览 1903 次 ]

页首
 用户资料  
 
2 楼 
 文章标题 :
帖子发表于 : 2007-02-05 10:12 
头像

注册: 2005-06-01 21:32
帖子: 191
送出感谢: 0 次
接收感谢: 0 次
我也遇到了你的问题,不过没搞清你是怎么解决的。我以前按照标准的apt-get方法安装完驱动后是可以正常工作的。
后来我把系统转移到另一个硬盘后,打印就出现如楼主一样的错误。郁闷。偶的是hp desklet 3538.


页首
 用户资料  
 
3 楼 
 文章标题 :
帖子发表于 : 2007-02-05 12:49 

注册: 2005-11-25 10:01
帖子: 4
送出感谢: 0 次
接收感谢: 0 次
是嘛,看来我绕远了。
ijs_server_epsonepl 这个就是打印所需要的程序,生成它就好用了。

2楼,是不是路径变了,系统找不到这个程序了。


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 3 篇帖子 ] 

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:xuyy 和 5 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译