UNIX下打印问题汇总
作者 佚名技术
来源 操作系统
浏览
发布时间 2012-06-28
1、Q:在UNIX下什么样的打印机较易配置? A:对于管理员来说,打印机设置是一个必须面对的比较复杂的问题。在UNIX下的打印包括了配置一个或多个配置文件 ,特别是如果需要打印比普通文件更复杂的东东,可能需要安装多个过滤器。最好是有一台能够支持postscript的打印机!如果不支持的话也可以使用,这就需要配置了!在下面的问题中你会慢慢地发现配置这些东东实乃小菜一碟! 2、Q:在UNIX中,打印的缓冲目录在什么地方? A:通常UNIX下的打印缓冲目录位于/var/spool.系统中第一台打印机一般放在/var/spool/lpd 或者/var/spool/output/lpd中。 3、Q:打印机一切正常但是无法与主机进行通信怎么办? A:可以用这台打印机到其它的机器上试一下,如果在其它机器上能用的话这可能有两种情况出现问题: 1、系统内核对并行设备不支持,一般情况下都是支持的,可以通过如下命令进行查看内核是否支持并行设备: dmesg |grep lpt0 {lpt1} lpt0: lpt0: interrupt-driven port 这说明你的并行口是没有问题的! 4、Q:为什么我不能使用lptcontrol程序来配置并行端口? A:1、检查是否是root身份! 2、当前打印机是否连接在并行端口上?只有连接在端口上才能正常配置。 5、Q:如何创建后台打印目录? A:1、先给打印机创建一个后台目录 mkdir /var/spool/lpd/hp1000(自己随便起) 2、更改权限。 chown daemon:daemon /var/spool/lpd/hp1000 (所有后台打印的所有者都是daemon 切记!) chmod 770 /var/spool/lpd/hp1000 B:添加过滤器 手工编一个最简单的lpd文本过滤器: #!/bin/sh /bin/cat && exit 0 exit 2 把它存在/usr/local/libexec/下,起个名就叫text吧! chmod 755 /usr/local/libexec/text 执行text即可实现! 6、Q:打印时的基本命令有哪些?: A:打印一个文件: lpr filename (这是用lpr命令向后台打印发送一个文件进行打印。还有很多的参数,请用帮助查看。 显示打印机任务状态。 lpq -p hp1000 lpq -l 列表显示队列中的每个文件的相关信息。 lpq -a 显示所有打印机的所有本地队列的状态。 从队列中删除作业 lprm 删除队列中当前的打印任务,亦可以删除当前正在打印的任务。 查看队列状态 status lp 禁止打印和停止守护进程 abort lp 禁止打印 stop lp 停止打印 disable lp 禁止打印 status all 查看所有 enable lp 重新启用一个被禁止的打印队列 restart lp 重新启动后台守护进程。 clear lp 清除打印队列目录。 topq printname jobnums 改变打印任务的优先级。 lpc> quit (or exit)即可退出程序。 7、Q、为什么打印机不能接收数据,作业停在队列中? A:检查lpd,看后台守护进程是否正在运行, 如果提示:waring :no daemon present, 使用lpc来重新启动后台守护进程。也可以检查lpc来确定打印机是否被禁用了! 8、Q:打印机数据灯闪烁!但是仍不能打印!为什么? A:发送了非postscript数据到postscript打印机上了,检查过滤器以确保过滤器能够正确过滤文本并能够把文本转换为postscript如果转换请看上面的问题! 9、Q:打印机打的太慢了为什么? A:如果你的打印机是连在并口上,将打印机设置为选举模式! lptcontrol -p 并把这句话加入到启动文件之中。下次就不会出现啦! 10、Q:为什么我的打印机在WIN下打印正常,在UNIX下打印呈现阶梯形状呢?不能正常地打印! A:这是因为WIN/UNIX对换行符号(LF)的解释不同造成的!解决方法是首先看打印机是否有可以改变解释换行符方法的 选项?如果有按照说明书进行操作解决,如果不能创建一个过滤器将LF 转换为CR和LF的组合, 如果你的机器能够识别HP-PCL的话进行如下操作 vi lf printf "\033&k2G" && cat && printf "033&10H" && exit 0 exit 2 保存在/usr/local/libexec/下, chmod 755 /usr/local/libexec/lf 执行lf即可。 如果不能则用tr命令进行操作 /bin/cat |tr ''\13'' ''\13\10'' && exit 0 exit 2 执行即可。如果还不能解决,请在CHINAUNIX.NET 上面发贴让高手共同来解决! 11、Q:如何配置/etc/printcap? A:printcap是一个类似批处理的一个文件,有四行。 这是一个例子: hp1000|lp|local printer:\ #:sh:\ :lp=/dev/lpt0:sd=/var/spool/lpd/hp1000:lf=/var/log/lpd-errs: :if=/usr/libexec/lf-ps 第一行:是指定的打印机名字hp1000,同时还有一个别名lp再后面是描述语名,意为本地打印机。 第二行:现已被注释掉,可以去掉注释,将打印包括的用户姓名、文件名称等内容的页头等。 第三行:是与打印机存放位置的相关一些信息。第一段:lp表示“本地打印机”(是local printer的意思)第二段表示打印机连接在第一个并行口lpt0,:sd表示打印机使用的后台目录,:lf表示“日志文件” 也就是存放错误记录 的地方。 第四行:是指打印机使用的输入过滤器或文件过滤器,例中就是lf-ps。 12、Q:配置完printcap文件之后,为什么还是不能实现? A:配置完之后需要启动lpd命令! 不妨把它加入/etc/rc.conf之中。 lpd_enable="YES" 重新启动。 |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |
你可能对下面的文章感兴趣
上一篇: 向FreeBSD进军下一篇: 升级到FreeBSD7.0release的方法
关于UNIX下打印问题汇总的所有评论