栏目分类
网络管理 | ntp | nis技术 | 多媒体 | dhcp | 网络基础 | ldap | 美化汉化 | 网络配置 | cvs | proxy | samba | bind | iptables | 集群 | nfs | vpn | ftp服务 | 网络安全 | apache | email | ssh | 网络管理 | Linux服务器 | Linux安全 | subversion | 网络监控
其他 | 非技术类 | 业界动态 | 小说笑话 | 杂项工具 | 速度优化 | Linux认证 | 资讯动态 | 学习方法 | 办公自动化 | xml | vc | 手机技巧
编辑工具 | emacs | vi | eclipse
linux新手入门 | 指令大全 | 输入法类 | Linux安装 | 软件使用
Linux数据库 | oracle | 数据库理论 | MYSQL | PostGreSQL
系统管理 | 安装启动 | xwindow | 基础知识 | 存储备份 | 内核技术 | 设备驱动 | Linux汉化 | 系统管理 | 桌面应用 | PAM认证 | drivers | rpm | quota | 灾难恢复
发行版 | 其它Unix | bsd | Gentoo/lFS | windows | IBM | debian | solaris
Linux编程 | shell | python | kernel | 编程技术 | C/C++编程 | Python编程 | Perl编程 | PHP编程 | discuz | java/jsp | zope | html技术
排行榜
·Linux桌面主题网址收录
·强烈建议VNC远程Linux桌面控制好用
·桌面使用技巧集中(一)
·Linux应用问答——桌面
·解析Fedora最新桌面Linux系统
·在fedora3下把intel分辩率调到1280x800
·SUSELinux企业版桌面
·Linux文件系统的目录结构
·RedFlagLinux桌面版4.0下载
·浅析Linux桌面开发环境
·redhat8.0完全桌面设置
·“玩家”眼中的桌面Linux
·让Linux象Windows一样安装卸载
·感受Linux的桌面环境
·红旗Linux桌面版3.0全接触
·linux应用软件谈之远程桌面控制篇
·桌面应用技巧:Linux控制台下轻松工作
·红旗桌面4.0正式版最新使用方法和问题解答100例
·逐渐成熟的桌面Linux
·改变FedoraCore5默认启动顺序的方法

    您现在的位置: Linux宝库 >> Linux >> 系统管理 >> 桌面应用 >> 文章正文
Debian上的打印
Linux宝库 收集整理  作者:Linux宝库  时间:2008-05-18  收藏本站
来自:http://doc.linuxpk.com/81295.html
联系:linuxmine#gmail.com
分类:[桌面应用]

Linux打印介绍

打印对于Linux/Unix类系统来说,曾经没有一点问题,但那是很久以前的事情了。随着各种新型打印机的出现,特别是很多不支持Postscript功能的廉价打印机,曾一度使在Linux上的打印变得非常困难。但现在,情况已经完全不同了,在Linux上打印已经越来越方便,用Linux作为打印服务器,已经成为很多大小企业的选择。

在具体讲述如何安装打印机之前,先来看一下对于打印的一些比较关键的问题。

打印机的命令方式:从总体上来看,打印的命令方式可以分成文本、Postscript和其它种类。所谓文本,就是那些比较古老的针式打印机,我们可以直接cat text_file > /dev/lp0,这种打印机现在已经很少使用了,在Linux上使用这类打印机是一点问题都没有的。相信Postscript这个词大家都是听说过的,PS实际上是一种专门用语打印方面的脚本语言;能够直接支持Postscript的打印机,通常都是非常高级的办公用打印机;PS语言是计算机和这类打印机之间沟通的方式。再有就是现在我们经常用到的各种比较低档的打印机,喷墨的或者激光的都有;它们不支持Postscript,通常都是使用厂家自己的命令集。 
应用程序的打印支持:Linux上的各种应用程序,都是通过输出Postscript来描述需要打印的页面的,而在将来,这种趋势不会发生任何变化。 
Ghostscript:对于支持Postscript的打印机而言,要支持Linux是比较容易的,但对于那些并不支持Postscript的打印机而言,就必须要能够把Postscript格式的页面描述,转换成为这些打印机能够识别的打印命令。而Ghostscript就是用来完成这个工作的,它能够解析Postscript命令,并用相应的驱动来显示它们。譬如Ghostscript可以把一个PS文件显示在屏幕上,也可以借助打印机厂商的驱动将PS文件转换成打印命令。 
PPD:PPD是用来描述打印机功能的文件,要使用一款打印机之前,必须找到其PPD文件,并正确地安装到打印管理器程序上。 
打 印管理程序:作为一个多用户多任务的操作系统,Linux上的所有程序都是基于多任务、多用户而设计的,打印也不例外。为了让不同的用户、不同的任务在打 印的时候不会产生冲突,就需要一个打印管理程序。这类管理程序很多,从传统的LPD,到时下非常流行的CUPS。它们功能各异,但有一点不变的就是都是用 来协调打印任务的。CUPS的工作方式如下:通过命令行接收要打印的文件;通过文件的类型判断是否需要将其转换为Postscript,如果需要,则调用相应的应用程序进行转换;通过PPD文件来判断Ghostscript应使用何种驱动处理此Postscript文件;把Ghostscript处理的结果输出到打印设备上。 
把 一切整合在一起:由于打印领域长时间的混乱,诞生了各种打印管理程序,而要学会为每一个打印管理程序安装驱动,是一件痛苦的事情(仅仅学习CUPS却是非 常愉快的)。于是就出现了foomatic,它的作用是通过一种方式管理所有的打印机,把PPD和打印管理程序的配置屏蔽掉,给用户一个统一的界面。 
综上所属,要在Linux上使用一台打印机,首先必须确定它被支持,然后需要选择一个打印管理程序并配置好打印驱动。最后,能否产生正确漂亮的打印结果,则要看应用程序能否生成正确的Postscript文件。过去,有很多程序不能正确的打印中文,主要就是因为它们不能正确的处理中文的字符集或者中文字体。下面,我会介绍在Debian上安装配置CUPS并进行打印的过程,并不包括foomatic。

用CUPS打印

Common Unix Printing System(CUPS)是一个出现的比较晚的打印管理程序,也正是如此,它的功能很现代,界面也非常友好。出现的晚,并不代表功能少和支持不广泛,CUPS拥有丰富的功能,支持各种各样的打印机,且被各种应用程序广泛地支持。

安装打印管理器
Debian 上的CUPS被分散在几个软件包中,包括库、服务器、客户端等等。连接了打印机的机器需要安装服务器,而要提交打印任务的机器,则必须安装客户端。服务器 的包是cupsys,客户端的包是cupsys-client和cupsys-bsd,前者是CUPS自己的客户端,后者是用来替换BSD的lp命令的, 这样可以让一些比较古老的应用程序继续通过lp命令进行打印。

通过apt-get命令分别安装打印机和服务器:

# apt-get install cupsys foomatic-filters
# apt-get install cupsys-client cupsys-bsdfoomatic-filters这个软件包对于CUPS系统来说是非常必要的,千万别忘了。

安装打印机驱动程序
这里我们所说的驱动程序,包含以下三个方面:

PPD文件:要获得这个文件有很多的方法,但最简单的就是到http://www.linuxprinting.org去下载。同一台型号的打印机有时会有不同的PPD文件,譬如HP LaserJet 5000就有四个,要根据硬件的情况来选择,譬如其中的Postscript类型就不能用于HP LaserJet 5000LE款的打印机上,因为这一款打印机去掉了Postscript模块。下载PPD文件后,要将其复制到安装了CUPS服务器的计算机的/usr/share/cups/model目录中,然后重新启动CUPS的服务器。 
Ghostscript驱动:Ghostscript有几个版本,其中Debian缺省使用的是gs-esp。这个版本的Ghostscript已经将各种Free的驱动编译到其中。 
其它程序:如果是用HP系列的打印机,通常会需要hpijs。不同的厂商还会提供一些用于管理其打印机的程序,譬如检查墨盒容量等等,可根据自己的需要安装。 
添加打印设备
安装好打印驱动之后,下一步的工作就是把已经完成的设备添加到CUPS的打印设备列表里面。这一步可以有很多种方式,但最简单的,就是用CUPS自己的Web管理界面。在安装了CUPS服务器的计算机上,访问http://localhost:631/就可以了。当添加打印机时,用户需要输入账号密码,此时可以用root账号,但只要用户在lpadmin这个组中,就可以管理打印机了。

添加的第一步是选择打印机的名称、位置、描述等,名称是比较重要的,以后都会用到。在选择完制造商后,就可以看到上述PPD文件所描述的打印机信息了,如果你找不到,可能是忘了重新启动cupsys服务。

使用
通过Web界面,可以完成全部管理打印机的操作,包括开启、关闭打印机,取消打印作业等等。如果要打印一个文件,就需要借助应用程序或者是CUPS的客户端了。

OpenOffice
OpenOffice有自己的打印配置程序,但如果你使用了CUPS,完全没有必要再去配置什么,OpenOffice可以自动识别到CUPS系统中添加的打印机。

Mozilla Firefox
Mozilla Firefox在使用打印机前,需要进行简单的设置。编辑文件/usr/lib/mozilla-firefox/defaults/pref/unix.js,并加入如下两行:

pref("font.FreeType2.enable", true);
pref("font.directory.truetype.1","/var/lib/defoma/x-ttcidfont-conf.d/dirs/TrueType/");在Firefox的软件包中,上述文件并不存在,不用担心,加上就可以了。

Acrobat Reader
用Acrobat Reader使用打印机时,在其打印对话框中有Command选项,其缺省值为/usr/bin/lpr,因此用户必须安装cupsys-bsd软件包才行。如果打印时并非使用缺省的打印机和选项,则需要在这里进行自己设置。

gedit
在GNOME 2.8中,其打印组建gnomeprint已经比较成熟了。如果你现在仍然使用GNOME 2.8以前的版本,我建议你更新一下,这样gedit就可以正常地打印了。

命令行
CUPS的命令行程序有lp、lpstat和cancel,对应的BSD打印命令行工具是lpr、lpq和lprm。这些命令行程序都有很多参数,在CUPS的用户手册中有详细的描述,在此就不赘述了。需要说明的是,当传递给lp的文件不是Postscript或者PDF格式时,CUPS都要选择一个程序来将其转换为这个格式,其打印效果也就不得而知了。因此,建议用户首先想办法生成一个PS/PDF文件,然后再打印。

gtklp
要 记住lp的每一个选项还是一件挺麻烦的事情,gtklp是一个允许用户在图形界面下选择打印选项的工具。它支持所有的CUPS选项,只要点点鼠标就可以打 印啦。用户选择完毕后,它会自动调用lp命令的。gtklp软件包中还有一个gtklpq程序,通过它,可以查看和修改打印队列。

共享
共享打印机给Linux用户对于CUPS来说非常简单,只需要修改/etc/cups/cupsd.conf文件,允许其它用户访问/printer资源就可以了。我不知道Windows是否支持ipp协议,如果支持,也可以用这种方式打印。

常见的问题

为何XX程序不能打印中文?

如上所属,能不能打印中文,关键在于负责生成Postscript的程序是否能够支持中文,很多老的命令行工具都是无法支持中文的,即便是新的软件,也不见得能够支持地很好。

显示时的中文粗体为何打印的时候没有?

现在很多用xft/fontconfig的朋友都打了firefly的粗体补丁,但这个补丁仅仅是用在显示上的。当打印时,往往是直接从字库中提取字形信息,并嵌入到Postscript文件中的,字库里面是什么样子,打印出来就是什么样子。

我的打印机,Linux支持的不是很好,怎么办?

我 有一台Mac,还有一套正版的Windows,我打电话给微软客服,但它们却告诉我如果你要使用Windows,就一定要选择跟Windows兼容的计算 机。如果你要用Linux,买硬件之前就一定要做一些简单的调查研究,对于那些技术很差根本不懂得如何支持Linux的硬件厂商的产品,就千万不要买。http://www.linuxprinting.org上可以查到各种打印机和Linux的兼容情况,查一下,除了兼容性之外,还能知道有些打印机为什么会便易,而另一些为什么贵。

本文来自:http://doc.linuxpk.com/81295.html

 
     最新更新
·竖文转换器
·linux 下阅读pdg格式的ebook
·Linux桌面搜索引擎Beagle
·Ubuntu8.04开启3D桌面特效与设置方法
·我的ubuntu 下的xorg.conf配置
·linux访问ntfs分区
·Ubuntu下允许Root用户直接登录图形界面
·axel 下载工具
·Ubuntu应用程序菜单无法打开的解决办法
·Linux系统下Gnome桌面快捷键配置
·Gnome的“注册表”:Gconf-editor的技巧
·在CentOS上安装Sensors主机温度监控程序
·停止打印服务 与 停止ipv6
·Ubuntu 8.04系统下Opera浏览器安装配置
·Ubuntu 8.04 安装设置笔记
·轻松将Ubuntu 8.04自带的Firefox繁体中文变成简体中文
·Ubuntu 8.04 快速安装与配置
·关于ATI 7500显卡在Ubuntu 8.04下开启特效和3D桌面的方法
·升级到Firefox 3.0后解决扩展版本不兼容的方法
·debian下使用mplayer
·SUSE10.3亚像素微调
·thinkpad t61 上的Ubuntu 8.04启用指纹识别
·Linux下搭建QT深刻体会
·Ubuntu分辨率不正常的一种简单解决办法
·Debian下彻底删除Gnome和KDE的方法
·玩转 MPlayer
·915Resolution解决宽屏显示问题
·解决 Fontconfig warning 问题
·Pidgin 连接 Google Talk 的配置
·使 OpenOffice.org 运行更快的技巧