打印机共享linux
A. linux怎么和window共享打印机
在访问Windows共享资料之前,请确保Windows共享是可用的,这里就不再赘述该怎样设置Windows共享了,那可是另外一个课题。
Linux访问Windows共享或者Linux共享资料给Windows时,其实都是在使用一个叫做Samba的软件,这个软件已经使用多年,稳定性和可靠性得到了很好的验证,也是很多网络NAS常用的软件。
我们这里要讲的Linux需要用到的工具就是Samba软件中的一种,samba-client。
在尝试访问Windows共享之前,需要首先确认samba-client已经安装了。最简单的方式是命令行查询“rpm -qa | grep samba-client”,当然也可以使用“yum”工具查询, 如“yum info samba-client”或“yum list samba-client”之类的命令。
B. 如何在linux中安装WINDOWS共享打印机
点击屏幕左下角的“开始”按钮,从弹出的菜单列表中选择“打印机和传真”:
在打开的“打印机和传真”窗口中单击左侧的“添加打印机”命令:
接着会弹出“添加打印机向导”对话框,单击“下一步”按钮继续:
一般我们是选择第一项,使用网络打印机也更多的选择第一项,再单击“下一步”按钮继续:
在接下来的步骤中,我们选择“创建新端口”,再选择“standard
tcp/ip
port”项即可,一般情况下可以这样选择:
单击“下一步”按钮后弹出新的对话框,直接单击“下一步”按钮继续:
接下来就是关键的一步了,填入正确的网络打印机的ip地址,单击“下一步”按钮:
最后一步确认对话框中单击“完成”按钮:
稍等一会切换到新的对话框,我们单击“从磁盘安装”,在弹出的对话框中单击“浏览”按钮找到安装程序:
点击“确定”按钮后“添加打印机向导”对话框中会自动列表当前打印机的驱动,单击“下一步”按钮继续:
后面一路单击“下一步”按钮即可,直到最后的“完成”对话框:
单击“完成”按钮后开始安装驱动程序了:
稍等一会对话框自动消失,可以看到“打印机和传真”窗口中有了刚才添加的打印机了:
C. 如何在linux中安装WINDOWS共享打印机
方法:
(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 文件名
D. 红旗linux如何共享打印机给win98使用
你可以反过来想,我给你找了篇文章,你看看。
一 在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=
-r
-s 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的网络打印机上输出。
E. linux系统怎么共享win7的打印机
1、安装SAMBA服务器版
2、设置,将打印机共享出来
3、用windows来找SAMBA服务器运行的主机,找到后点击它共享出来的打印机
F. linux如何连接windows上的打印机
从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]。
G. 新手求助linux打印机共享问题
首先,要启动CUPS打印服务,用下面这个命令:
/etc/init.d/cups start
然后在CUPS服务器主机server中,我们要做好2个文件的设置,这两个文件分别是:
/etc/cups/cupsd.conf
/etc/cups/printers.conf
其中,cupsd.conf是控制cups服务的设置,而printers.conf则是对打印机进行设置的。
设置这两个文件并不复杂,这里不建议手工修改,因为可以用web方式来设置,然后自动生成。
只要在本机的网页浏览器输入这个网址,就可以进入CUPS的web设置界面:
http://服务器主机名:631 例如: http://server:631
不过在这里,觉得需要介绍一下这两个文件里面的内容,这样对大家的理解会有好处。
而且,我发现如果要限制用户的话,好像还是需要手动修改printers.conf文件的。
cupsd.conf文件中的内容:
#================================
AuthType Basic
AuthClass System
Order Deny,Allow
Deny From All
Allow From 127.0.0.1
#上面这个部分是设定对CUPS服务管理的权限,一般只准许从本机进行对CUPS服务的修改控制。
#所以可以看到 allow地址是 127.0.0.1
Order Deny,Allow
Deny From All
Allow From All
#上面这个部分是对CUPS服务的功能权限默认设置,一般如此,没有什么特别的。
#
# End of "$Id: cupsd.conf.in,v 1.16 2004/08/18 17:53:47 mike Exp $".
#
# Lines below are automatically generated - DO NOT EDIT
#下面这部分是设置打印机在CUPS中的使用。因为服务器毕竟只是电脑,真正要打印还是通过打印机
#从设置看基本上也是全部使用权限开放,如果要限制IP地址区域的话,需要在Allow 后面进行设置。
#注意上面这一行,其中HP是打印机的名字,要和printers.cups中设置的一样才可以其作用。
Order Deny,Allow
Deny From All
AuthType None
Allow from All
#================================
printers.conf文件中的内容:
#================================
#下面这一行中的HP是打印机的名字,为方便设置,建议和打印机的网络主机名一致
Info Created by redhat-config-printer 0.6.x
DeviceURI lpd://HP/PORT1
State Idle
Accepting Yes
JobSheets none none
QuotaPeriod 0
PageLimit 0
KLimit 0
AllowUser root
AllowUser PETER
AllowUser SUSAN
#================================
这里,要重点说一下上面这部分中的黑体字那一行
DeviceURI lpd://HP/PORT1
这一行是定义打印机与CUPS服务器之间通过什么协议来连接,还有一些其它的候选协议如下:
file:/path/to/filename.prn
http://hostname:631/ipp/
http://hostname:631/ipp/port1
ipp://hostname/ipp/
ipp://hostname/ipp/port1
lpd://hostname/queue
socket://hostname
socket://hostname:9100
以上这些打印协议中,hostname指的是打印机的网络主机名,也可以用打印机的IP地址代替,631则是CUPS服务的端口号
这其中,port1一般是惠普打印机的默认queue,如果是多queue打印机,你可以通过ftp协议登陆到打印机上,然后看看打印机系统上根目录下有哪些目录,从中可以判断出queue的名字
这里要注意一个问题,因为我在实际操作中,发现 redhat-config-printer-gui 图形界面的打印机设置只支持 LPD 协议的打印机设置。也就是说,如果你采用 IPP, HTTP, 或者 socket,即使配置成功,测试页也可以打印,但是就是不可以使用 redhat-config-printer-gui 图形界面来对打印机进行进异步设置。为了方便起见,我建议大家还是选用 LPD 来设置CUPS服务器和打印机之间的连接。
还有 AllowUser 语句,通过这条语句,可以允许或限制特定用户的打印权限,假如没有这条语句,就是所有用户可以打印。
这条语句是需要手动添加的。
*注意每次通过redhat-config-printer-gui 图形界面进行设置后,AllowUser 语句都会被自动删掉,需要重新添加
另外有关于 cupsd.conf 文件的补充内容:
在做好上面的设置后,发现如果要限制IP网段的话,手工配置很麻烦,于是通过redhat-config-printer-gui图形界面来配置。
下面这一部分是采用redhat-config-printer-gui图形界面设置后自动在cupsd.conf文件产生的,不建议手动添加。
不过要注意的是,如果想要采用redhat-printer-config-gui图形界面来修改设置,在printers.conf文件中,网络打印协议要采用LPD协议:
#============================
Browsing On
BrowseProtocols cups
BrowseOrder Deny,Allow
BrowseAllow from @LOCAL
BrowseAddress 255.255.255.255
Listen *:631
#============================
这其中 Listen 语句是设定允许使用CUPS服务的网络限制的。"*"代表所有的网络
我在一些资料中看到,说是如果要设置网络区域,是要写成如下格式:
Listen 0.0.0.0:631
但实际上是错误的,如果写成象上面那样,会导致CUPS服务启动出错。
会给出如下的出错信息:Child exited with status: 98!
所以,正确方法还是用 *号代替所有网络。
至于其它区域段IP网络设置,大家可以通过 redhat-printer-config-gui图形界面中的 share 选项进行控制,非常方便,在此就不一一列举。
做完以上这些,重新启动一下CUPS服务就可以.
用 lpq.cups 命令看一下打印机的状态, 如果有 "HP is ready" 字样,就说明CUPS服务器设置成功了。
客户端设置:
前提是CUPS服务器的防火墙要打开,至少631端口号不能屏蔽。
客户端的设置非常简单,只需要配置一个文件:
/etc/cups/client.conf
client.conf文件内容:
#======================
#ServerName CUPS服务器地址或服务器名,例如:
ServerName server
#======================
的确是很简单吧,设置好后重启一下CUPS服务就可以了。 ”
我是通过上面的那篇文章设置的,前面的服务器设置都正常,问题可能处在客户端的设置,上面的帖子说要把客户端里面的/etc/cups/client.conf修改下,但是问题是现在所有的F5系统主机名字都是一样的 而其我是该了好几次的主机名都没办法改。用HOSTNAME命令和在HOTS下都没办法。
H. 如何在windows连接在linux系统共享的打印机
方法:
(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 文件名
I. linux打印机共享
新建打印机的时候需要设置可共享打印,设置好打印机地址和端口号,再选好打印机类型并安装驱动(默认集成了一部分驱动),客户端就可以通过打印机管理来使用打印机了.
不知道你是使用的图形化还是文本化.
RHEL5下是使用system-config-printer来配置打印机的.其他的版本也有其他的配置命令.