有关 UNIX 下打印问题汇总! [color=red:fc55f4f703]1、Q:在UNIX下什么样的打印机较易配置?[/color:fc55f4f703] A:对于管理员来说,打印机设置是一个必须面对的比较复杂的问题,
UNIX下打印问题汇总!Unix系统
。在UNIX下的打印包括了配置一个或多个配置文件,特别是如果需要打印比普通文件有关UNIX下打印问题汇总!
[color=red:fc55f4f703]1、Q:在UNIX下什么样的打印机较易配置?[/color:fc55f4f703]
A:对于管理员来说,打印机设置是一个必须面对的比较复杂的问题。在UNIX下的打印包括了配置一个或多个配置文件 ,特别是如果需要打印比普通文件更复杂的东东,可能需要安装多个过滤器。最好是有一台能够支持postScript的打印机!如果不支持的话也可以使用,这就需要配置了!在下面的问题中你会慢慢地发现配置这些东东实乃小菜一碟!
[color=red:fc55f4f703]2、Q:在UNIX中,打印的缓冲目录在什么地方?[/color:fc55f4f703]
A:通常UNIX下的打印缓冲目录位于/var/spool.系统中第一台打印机一般放在/var/spool/lpd 或者/var/spool/output/lpd中。
3、[color=red:fc55f4f703]Q:打印机一切正常但是无法与主机进行通信怎么办?[/color:fc55f4f703]
A:可以用这台打印机到其它的机器上试一下,如果在其它机器上能用的话这可能有两种情况出现问题:
1、系统内核对并行设备不支持,一般情况下都是支持的,可以通过如下命令进行查看内核是否支持并行设备:
dmesg |grep lpt0 {lpt1}
lpt0:
lpt0: interrupt-driven port
这说明你的并行口是没有问题的!
4、[color=red:fc55f4f703]Q:为什么我不能使用lptcontrol程序来配置并行端口?[/color:fc55f4f703]
A:1、检查是否是root身份!
2、当前打印机是否连接在并行端口上?只有连接在端口上才能正常配置。
5、[color=red:fc55f4f703]Q:如何创建后台打印目录?[/color:fc55f4f703]
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、[color=red:fc55f4f703]Q:打印时的基本命令有哪些?:[/color:fc55f4f703]
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 重新启动后台守护进程,
电脑资料
《UNIX下打印问题汇总!Unix系统》(https://www.unjs.com)。clear lp 清除打印队列目录。
topq printname jobnums 改变打印任务的优先级。
lpc> quit (or exit)即可退出程序。
7、[color=red:fc55f4f703]Q、为什么打印机不能接收数据,作业停在队列中?[/color:fc55f4f703]
A:检查lpd,看后台守护进程是否正在运行,
如果提示:waring :no daemon present,
使用lpc来重新启动后台守护进程。也可以检查lpc来确定打印机是否被禁用了!
8、[color=red:fc55f4f703]Q:打印机数据灯闪烁!但是仍不能打印!为什么?[/color:fc55f4f703]
A:发送了非postscript数据到postscript打印机上了,检查过滤器以确保过滤器能够正确过滤文本并能够把文本转换为postscript如果转换请看上面的问题!
9、[color=red:fc55f4f703]Q:打印机打的太慢了为什么?[/color:fc55f4f703] A:如果你的打印机是连在并口上,将打印机设置为选举模式!
lptcontrol -p
并把这句话加入到启动文件之中。下次就不会出现啦!
10、[color=red:fc55f4f703]Q:为什么我的打印机在WIN下打印正常,在UNIX下打印呈现阶梯形状呢?不能正常地打印![/color:fc55f4f703]
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、[color=red:fc55f4f703]Q:如何配置/etc/printcap?[/color:fc55f4f703]
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、[color=red:fc55f4f703]Q:配置完printcap文件之后,为什么还是不能实现?[/color:fc55f4f703]
A:配置完之后需要启动lpd命令!
不妨把它加入/etc/rc.conf之中。
lpd_enable="YES"
重新启动。
土豆挠子 回复于:2003-05-26 11:49:41老大辛苦了!我正在找呢!收藏了!要求加精吧!
yinxiaoning 回复于:2003-05-27 09:36:27不错,挺经典
symbian 回复于:2003-06-24 12:07:22可惜没有远程打印的问题解决。
hoge 回复于:2003-06-30 23:51:13经典
原文转自:http://www.ltesting.net