在Linux下配置打印机 李常乐 2001年 14期 时下,Linux以开放的源代码,强大而稳定的网络功能著称于世!然而,美中不足的是:虽然Linux支持的硬件非常多,支持的打印机类型不少,但Linux版本甚多,打印机的种类也不少,难免会有Linux与打印机“牛头不对马嘴”的情况。例如我的Red Hat 5.0就不支持我的HP Deskjet 950C。无奈,我在网上搜遍了Linux资源网站,终于在一家专门提供Linux下打印机驱动程序的网站:http://www.student.infomatik.thdarmstadt.de/~wosch/pub/bubbletools/announce.html找到了驱动程序,希望在Linux下使用打印机但找不到驱动的朋友可以去试试。下面我把如何在Linux下设置打印机做一般性的介绍,这也是配置其他硬件的规范步骤,对大家学习使用Linux能起到触类旁通的作用。   #1 一、确认Linux内核已加入了支持lp设备的语句    首先,用modprobe命令查看是否可以加载lp.o模块,即/sbin/modprobe lp,若显示Can't locat lp module则须重新编译内核,按下面介绍即可。若可以看到类似lpo at 0x0378(polling)的语句,说明系统已探测到并行接口,设备文件为/dev/lpo,可跳过下文。    1.打开源程序包。在/usr/src目录下键入:tar zxvf Linux-x.x.xx.tar.gz或tar xvf Linux-x.x.xx.tar(视你的内核是.tar.gz文件还是.tar文件而定。x.x.xx是你所用的Linux版本号,若不清楚可用uname -a命令查看)。    2.选定支持打印机的端口。在Linux目录下执行make menuconfig(以菜单形式配置),在展开的菜单中查找General setup,选中其中的Parallel port support和PC-style hardware选项;另外在Character devices中选中Parallel printer support(支持并行接口)和Standard/generic serial support(支持标准串行接口)。选定了上面四项,无论你的打印机是串行接口还是并行接口都可以顺利安装打印机了(注意:启动系统前应接好打印机,以便Linux内核可探测到)。   #1 二、配置打印驱动和系统打印文件    1.在安装Linux时应将Linux发行套件中包含的BSD打印系统一并装入。BSD中包含GhostScript和NenScript两个文件,其中NenScript用于将普通文件转换成应用极为广泛的PostScript文件,而GhostScript除用于打印文本文档外,还提供了一系列图形格式转换和过滤工具,是打印图像文件不可缺少的软件。Red Hat Linux中包含有NenScript,Slackware Linux不包含它,你可以到ftp://sunsite.unc.edu/pub/Linux/system/printing/下载并编译它。    2.进入GhostScript的安装目录,用gs -help命令查看系统上的GhostScript支持哪些设备,在Available device中查找是否有你的打印机型号,若找不到,只有先安装打印机驱动才能进行下面的工作,以我安装驱动为例:将下载的驱动程序HP-djet950c.tar.gz拷贝到/tmp目录下,在该目录下解压:    cp HP-djet950c.tar.gz/tmp/    cd /tmp    tar zxvf HP-djet950c.tar.gz    此时将产生HP-djet950c-install文件,以root身份运行它:    ./ HP-djet950c.tar.gz    之后一路点Accept,接受各种协议,系统让你选择存放路径时,应选择/usr/local/share/ghostscript,这样打印驱动程序就安装完毕了。若安装过程中提示你“你的系统已加载了打印驱动程序模块(原先不支持你的打印机的模块),是否删除。选择“删除”就可以了。在Linux下在安装新的硬件驱动程序时,经常会遇到这种情况。    3.此时,可向打印机发送打印命令:cat testfile >/dev/lp0,若无法打印,说明系统没有自动配置打印文件,还需我们手工操作。打印配置文件为/etc/printcap,下面简单介绍一下各命令行的含义,以便大家配置适合自己的打印机:    #Local djet950c “#”后为文本注释    lp|djet950c|PostScript:\ #在此行填入打印机名称    :lp=/dev/lp0:\ #指定本地打印机接口,在此为第一个并行接口lp0    :sd=/var/spool/lpd/djet950c:\ #制定打印机缓存目录名    :mc#0 :mx#0:\ #设置最多打印份数和最大打印尺寸;0表示不限制    :if=/var/spool/lpd/djet950c/filter #制定输入过滤器;若无表示用缺省/usr/sbin/lpf过滤器    :sh:#不打印标题    说明:对于串口打印机还要设置串口波特率,打印机的说明书会有这一参数的详细说明,设置方法:在上述文件末尾再加入一行:“:br#波特率数值:\ ”。   #1 三、配置打印过滤器    上文打印配置文件/etc/printcap中if域制定的是打印过滤器路径,所有的文件都要先经过打印过滤器在传送到打印机上。在Linux发行软件包中包含有打印过滤器文件,我们只需安装即可。除此之外,还可以到网上下载最新版本,以获得最好的打印效果。我推荐大家使用APS打印过滤器,它支持直接打印PostScript、text、gif、dvi等格式文件。下载地址:ftp://sunsite.unc.edu/pub/Linux/system/printing/aps-513.tar.gz    安装方法:下载完毕后,将它拷贝到/tmp目录,解压,将解压文件拷贝到if域制定的文件夹中,具体如下:    cp aps-513.tar.gz /tmp    cd /tmp    tar zxvf aps-513.tar.gz    cp aps-513 /var/spool/lpd/djet950c/filter    打印机过滤器就设置完成了!要使用打印机,必须先重新启动打印机守护进程(lpd):我们可用lpc命令强行阻断旧lpd进程,并实现重启:lpc restart all。OK!接下来,用lpr命令就可以打印了。怎么样?轻轻松松,一切搞定!如果大家有什么问题可以和我联系,愿与各位共勉:windowsnt@371.net。