当前位置:操作系统 > Unix/Linux >>

Gentoo打印指南

原文更新:2004年5月8日

  内容简介: Gentoo Linux的一份详细的打印指南,覆盖了本地打印和网络打印。

  1. 安装CUPS和foomatic

  


  由于一些了不起的程序,如CUPS(通用UNIX打印系统)和foomatic,在Gentoo Linux中设置打印是一件相对轻松的工作。这两个程序目前都在portage树中,并且对于最终用户来说,配置很容易。

  请注意,CUPS是跨桌面的,也就是说你可以在GNOME或者KDE下安装这些指导来使得你的打印机工作。也有其他的一些选择,如KDE的打印设置,但是我相信CUPS是最好设置,也是最好使用的。

  在安装CUPS之前,往/etc/make.conf添加一些必要的USE标签更好。

  代码 1.1: 编辑/etc/make.conf在你已有的USE标签列表中添加cups,foomaticdb,ppds和usb(如果你使用一个USB打印机连接)USE="cups foomaticdb ppds usb other_var1 other_var2"

  有关USE标签更多的信息,请参见Gentoo手册中的USE标签章节。

  代码 1.2: 安装必须的软件包# emerge cups# emerge foomatic

  2. 设置内核模块

  


  概述

  既然必须的软件都已安装,我们该来安装打印机了。

  根据你的打印机的连接方式,有必要在内核中启用并行端口或者USB端口打印机连接。

  注释: 这只在本地打印中需要,如果你是通过samba服务器来打印,跳过这一节。

  注释: 如果你不确定怎样编译内核,可以在内核指南(目前已过时,用作回顾了)找到特定的说明。确保你已经知道怎样在不重新编译和重新启动电脑下编译和安装新模块。这确实很节省时间。

  USB模块

  为启用USB打印机支持,到USB support中启用Support for USB和USB Printer support。这两个都以模块启用,将会在你的模块的文件夹中装上usbcore.o和printer.o。我建议使用模块,是这样就不必重启你的电脑。2.6内核的用户会在Device Drivers里找到这些选项。

  内核编译好和重新启动你的电脑后,我们该加载这些必须的模块:

  代码 2.1: 加载USB模块# modprobe usbcore(适合2.4内核的用户:)# modprobe printer(适合2.6内核的用户:)# modprobe usblp

  模块都成功的加载后,插上打印机,检查/var/log/messages看是否它已被检测到。

  

  注释: 如果你使用了别的而不是sysklogd,你的内核日志文件将会不一样。

  代码 2.2: 检查内核信息# tail /var/log/messages

  你应该看到类似以下的东西:

  代码 2.3: /var/log/messages输出hub.c: USB new device connect on bus2/2, assigned device number 2printer.c: usblp0: USB bidirectional printer dev 2 if 0 alt 1 proto 2 vid 0x03F0 pid 0x1104

  并行端口模块

  为启动并行端口支持,到Parallel port support中启用Parallel port support和PC-style hardware。根据你的打印机,你也需要激活Multi-IO cards (parallel and serial),Support for foreign hardware和IEEE 1284 transfer mode。然后到Character devices启用Parallel Printer Support。2.6内核的用户将会在Device Drivers找到这些选项。

  内核编译好后,确认打印机已经插上,然后重启你的电脑。现在我们该加载必须的模块了:

  代码 2.4: 加载并行端口模块# modprobe lp(仅对2.6内核的用户)# modprobe parport# modprobe parport_pc

  内核都成功的加载后,检查/var/log/messages看是否他已被检测到。

  注释: 如果你使用了别的而不是sysklogd,你的内核日志文件将会不一样。

  代码 2.5: 检查内核信息# tail /var/log/messages

  你应该看到类似以下的东西:

  代码 2.6: /var/log/messages输出lp0: using parport0 (polling).

  低级测试

  在用CUPS配置打印机之前,我们可以用一些低级命令来测试一下。

  代码 2.7: 用cat测试打印机# touch test.txt# echo "Hello World" > test.txt# cat test.txt > /dev/usb/lp0 或者,对于并行端口打印机:# cat test.txt > /dev/lp0

  注释: 一些打印机(如HP激光打印机)需要在文件的最后有一个^L(Control-L)来触发打印。虽然没有^L用cat可以成功,但是打印机会吸收掉数据,坐在那什么都不干。

  3. 特殊的打印机驱动

  


  在用foomatic生成PPD文件之前,可能有必要去找到适合你打印机的第三方驱动。如,Epson提供了几款打印机驱动drivers用于开源操作系统。但是,包括Epson的,大部分这些驱动都不是开源的。

  

  在Portage中有下面一些打印机驱动以ebuild形式存在:gimp-print,omni,hpijs,pnm2ppa。.

  除开惠普的喷墨打印机,对于大部分打印机来说,你可以使用标准的Linux打印机驱动。访问linuxprinting.org 打印机支持数据库可以找到你的的打印机的信息,并一定要阅读你下载下来的驱动的文档信息和版权信息。

  重要: 如果你使用惠普喷墨打印机,必须安装hpijs打印机驱动。这个驱动可以处理所有的postscript解释使得惠普打印机正常工作。hpijs驱动是仅用于惠普喷墨打印机,但是在portage中存在,方便了不少。惠普的hpijs驱动的文档信息将会放在/usr/share/doc/hpijs-<version>里,作者强烈建议大家读读这个文档。

  代码 3.1: 安装hpijs# emerge hpijs

  注释: 如果你使用惠普的激光打印机,在GNOME打印系统有所支持。如果你使用一个非惠普喷墨打印机,你没有必要安装这个指定的打印机驱动。

  4. PPD文件的配置

  


  现在我们该来配置打印机和CUPS了。为了让你的打印机正确的解释Postscript,CUPS需要一个PPD(打印机Postscript定义)文件。生成一个PPD的最简单办法就是使用foomatic。

  注释: 另外一种方法是从LinuxPrinting.org下载一个PPD文件。并将它放在/usr/share/cups/model里。如果你使用这种方法,你可以跳过这节的余下部分,从CUPS的配置继续。

  为让下面的命令有效,我们需要三点信息:你的打印机ID,打印机设备和打印机驱动(如果你需要安装如上的指定驱动,这里就指hpijs)。打印机的ID和驱动可以从foomatic的数据库中查找到,而打印设备文件是指你打印机所连接的设备块(如file:/dev/lp0,file:/dev/usb/lp0或者Samba打印机smb://user:password@server/share)。

  在使用foomatic-configure之前,请记住要启动cupsd。

  代码 4.1: 启动cupsd# /etc/init.d/cupsd start

  代码 4.2: foomatic的一般用法(在$printer_model填上你的打印机型号和在$printer_ID填上打印机ID)(用前面两个grep语句的输出填到最后的foomatic配置命令中)# grep $printer_model /usr/share/foomatic/db/source/printer/*# grep $printer_ID /usr/share/foomatic/db/source/driver/*# foomatic-configure -s cups -p $printer_model_number -c file:$print_device_path -n queue name -d driver

  如果查找驱动失败,你可以在LinuxPrinting.org搜索你的打印机,并检查什么驱动是已知可以成功的,然后选择其中一个驱动安装:

  

  代码 4.3: 安装PPD驱动(如果你有多个打印机,使用分开的队列名。否则用一个易于记忆的队列名,如“default”就够了)# foomatic-configure -s cups -p <printer model> -c file:<printer device> -n <queue name> -d <driver>

  现在,这里有一个更具体的例子。下面这些代码是假设你有一个Epson Stylus Color 980打印机。当然,你应该用你实际的打印机型号代替它。 printer model.

  代码 4.4: Stylus Color 980打印机中foomatic的具体用法# grep "Stylus Color 980" /usr/share/foomatic/db/source/printer/*

  现在看看下面一行:/usr/share/foomatic/db/source/printer/Epson-Stylus_Color_980.xml:

  <model>Stylus Color 980</model>Epson-Stylus_Color_980是你打印机的ID。# grep Epson-Stylus_Color_980 /usr/share/foomatic/db/source/driver/*/usr/share/foomatic/db/source/driver/gimp-print-ijs.xml:

  <printer><id>printer/Epson-Stylus_Color_980</id></printer>这里你的打印机的驱动是gimp-print-ijs。# foomatic-configure -s cups -p Epson-Stylus_Color_980 -c file:/dev/lp0 -n Epson -d gimp-print-ijs


  重要: 如果你有问题,请
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,