(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 文件名
从Linux访问 Windows 打印机:1. Windows 机上的设定。
Windows 机上通过tcp/ip 端口安装了一台网络打印机(网络打印机IP: 192.168.101.200 端口:9100)。
此Windows 机的 IP 地址:192.168.101.20, 此打印机开共享,共享打印机名为 HPLaserJet。
此共享打印机开权限给 Windows 的 domain 用户 gao。
换句话说,你如果在其他的Windows机上输入 \\192.168.10.20,可以看到名为 HPLaserJet 的打印机图标。
2. Linux (CentOS为例) 上的设定。
通过 System->Administration->Printing,进入打印机配置画面。
点New Printer 图标,给定Printer名为 gaoPrinter,按【forward】。
在接下来的画面里,[Select Connection]类型里,选择【Windows Printer via SAMBA】。
smb://框里,填写 Windows 打印机的地址: /192.168.10.20/HPLaserJet
实际上最后就是(smb:///192.168.10.20/HPLaserJet)。
接下来的动作很重要!
继续停留在此画面中,填写[Authentication]的 username 和 password。
还记得在Windows机下的用户 gao么? 此处输入 Windows Domain用户 gao 和它的口令 gao
然后按旁边的 【verify】按钮,如果成功验证,则显示【This print share is accessible】。
到这里,点下面的【Apply】按钮。
然后,还不算完,因为还需要把此打印机设为我们在linux 下的 default 打印机,并且打印测试页:
访问 http://localhost:631:
点到 [printers] tab页,然后 [set as default]。
如果打印机尚未激活,则点 [start printer] 和 [accept jobs],再点 [print test page]。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)