• 印度Zensar科技公司卓越实验室正式落户盐城师范学院
  • Linux与Win9x/2000打印共享

    [ 来源:中国站长学院,eNet学院 | 作者:佚名 | 时间:2007-11-8 12:35:17 | 浏览: 人次 ]

        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的网络打印机上输出。

    共有 0 位网友发表了评论 ... 查看完整内容