Linux与Windows9x/2000的打印机共享
作者: 佚名 来源: Linux 宝库 点击: 日期: 2006-12-05
--> Microsoft公司以其Windows9x/2000等强大的攻势占领操作系统市场,此时,大多数厂商已不能与之抗衡,而Linux作为一个全新且免费的操作系统正成为网络系统中一只重要力量。随着网络技术的发展发挥的作用也将越来越大。众所周知,“资源共享”在网络中有着重要意义。笔者在实际工作中,对Linux与Windows9x/2000的资源共享有深入了解,下面就以如何实现“打印机”共享进行说明。 一 在Linux上使用Windows9x/2000上的打印机 Server Message Buffer(SMB)协议能够实现Windows9x/2000局域网上打印机共享,Linux也能使用SMB实现与Windows9x/2000等操作系统上的打印机共享,其位于Samba软件包中(Samba软件包可以从提供免费的Linux网站上获得)。实现Linux上使用Windows9x/2000上的打印机,设置步骤如下: (1)正确安装和配置Samba服务器。 (2)将运行Windows9x/2000上的打印机设置为共享。 (3)在Linux系统的/etc/printcap中为网络打印机建立一个新的队列,如下: smb: :sd=/var/spool/lpd/smb: :mx # 0: :sh: :lp=/dev/null: :af=/var/spool/lpd/smb/acct: :if=/var/spool/lpd/smb/filter: 将Samba软件包提供的smbprint拷贝到Samba安装目录/bin子目录里并设置成可执行模式。 (4)在/var/spool/lpd/smb/目录下,创建打印过滤器文件filter。 # ! /bin/sh DEVICE=“打印机型号名称(如:LJET4)” RESOLUTION=600*600 PAPERSIZE=“打印纸型号(如:A4)” SENDEOF= nenscript -TUS -ZB -p-| if [" $ DEVICE"="PostScript"]; then cat - | /usr/local/samba/bin/smbprint ? else gs -q -s DEVICE=$DEVICE -r $RESOLUTION -s PAPERSIZE=$PAPERSIZE -d NOPAUSE -d SAFER -s Outputfile=-- | /usr/local/samba/bin/smbprint ? fi if ["$ SENDEOF"!=""]; then printf"" fi exit 0 以上smbprint运行时需要一个.config的打印信息文件,这个文件在printcap定义的/var/spool/lpd/smb目录下建立,如下: server=“打印服务器名称(如:SISKIN)” service=“打印机型号名称(如:LJET4)” password=“网络打印机共享名及口令” (5)重新启动打印管理器 # lpc restart all (6) 打印 % lpr ?P smb 文件名 需要注意的是:smbprint在第一次使用网络打印队列前,要保证/tmp下没有smb-print.log这个缺省日志文件,它在smbprint第一次运行时会自动创建。 二 在Windwos9x/2000上使用Linux上的打印机 在Windows9x/2000看来Linux上的共享打印机分为PCL和PostScript两种打印机,使用Linux中RedHat的printtool产生的打印机队列,打印过滤器会自动区分PCL文件和其它格式的文件,所以从外界看来是PCL打印机。而本例使用的简单打印过滤器产生的打印机队列,没有区分文本文件和PCL文件,必须使用PostScript打印机的驱动程序。设置步骤如下: 使用Linux上的Samba服务器将Linux上的打印机设置共享。 在Windows9x/2000中添加网络打印机,即Linux上的共享打印机。 安装相应型号打印机的PostScript网络打印机驱动程序。 至此,Windows9x/2000上的打印作业转换为PostScript文件,发送到Linux的网络打印机上输出
【文章评论 】
【收藏本文 】
【推荐好友 】
【打印本文 】
【论坛讨论 】
相关文章:
文章评论: (条)
责任编辑:一分 声明:刊登此文章是为了传递更多信息,文章内容仅供参考,转载请注明出处。