samba共享打印机给xp

Web、Mail、Ftp、DNS、Proxy、VPN、Samba、LDAP 等基础网络服务
回复
zrqlx126
帖子: 401
注册时间: 2007-06-22 18:52

samba共享打印机给xp

#1

帖子 zrqlx126 » 2016-06-02 10:20

前言:单位购入一台hp color laserjet pro mfp m177fw一体机,本来需要直接插入网线共享给整个局域网的,但是十分可惜局域网进行了mac地址绑定,申请控制权也不没得到批准,十分郁闷。局域网正好有一台安装了ubuntu16.04机器可用。思来想去,还是将一体机使用usb链接到该机器中实现局域网共享打印,于是就有了以下的操作。
要求:在ubuntu中完整安装samba共享和cups打印服务,使用usb将一体机链接。
开始配置:
由于ubuntu16.04自带了hplip 3.16.3,而且刚好可以识别该一体机。由于hplip驱动的原因,该一体机必须安装插件才能打印和传真(吐槽该插件还不开源)。所以接下来下载hplip plugins给一体机安装插件。

代码: 全选

wget http://www.openprinting.org/download/printdriver/auxfiles/HP/plugins/hplip-3.16.3-plugin.run
wget http://www.openprinting.org/download/printdriver/auxfiles/HP/plugins/hplip-3.16.3-plugin.run.asc
sudo hp-plugin -i -p .
需要注意的是,安装hplip plugins过程中需要对下载的插件进行校验,而该服务器国内被墙,需要翻墙。当然如果确定文件无误,不翻墙也可继续安装。
插件安装后,默认的打印和传真都是共享的(如不是需要共享)。接下来,我们配置samba,自动给xp提供驱动,免得其他客户端去找驱动。

代码: 全选

wget http://download.adobe.com/pub/adobe/printerdrivers/win/1.x/Winstchs.exe
wget http://ponce.cc/slackware/sources/repo/cups-windows-6.0-source.tar.bz2
tar jxvf cups-windows-6.0-source.tar.bz2
mkdir Winstchs
7z x Winstchs.exe -oWinstchs
这两个文件第一个是adobe的ps驱动,直接下载自官网。第二个本来是cups提供的windows驱动,但是可惜的是cups官网由于一些原因不能提供(万恶的版权),所以找了好久,找到一个下载地址,凑合用吧。
将上述驱动解压,提取文件并复制到cups中

代码: 全选

sudo mkdir -p /usr/share/cups/drivers
sudo cp cups-windows-6.0/i386/cups6.inf /usr/share/cups/drivers
sudo cp cups-windows-6.0/i386/cups6.ini /usr/share/cups/drivers
sudo cp cups-windows-6.0/i386/cupsps6.dll /usr/share/cups/drivers
sudo cp cups-windows-6.0/i386/cupsui6.dll /usr/share/cups/drivers
sudo cp Winstchs/WinXP/PS5UI.DLL /usr/share/cups/drivers/ps5ui.dll
sudo cp Winstchs/WinXP/PSCRIPT.HLP /usr/share/cups/drivers/pscript.hlp
sudo cp Winstchs/WinXP/PSCRIPT.NTF /usr/share/cups/drivers/pscript.ntf
sudo cp Winstchs/WinXP/PSCRIPT5.DLL /usr/share/cups/drivers/pscript5.dll
需要注意的是,复制的时候文件名必须为小写,否则无法被cups识别。接下来添加root用户,进行权限设置

代码: 全选

sudo passwd root
sudo pdbedit -a -u root
第一个命令给本地root用户设置密码,root用户已经加入到cups管理组,可以登陆http://localhost:631进行管理。第二个命令用来修正root用户,添加到samba管理组,以便管理samba驱动。然后编辑samba配置文件,添加权限,设置共享。

代码: 全选

sudo gedit /etc/samba/smb.conf
在[global]段添加

代码: 全选

unix charset = utf8
dos charset = cp936
该设置避免windows共享出现乱码。在[print$]段修改或者添加

代码: 全选

guest ok = yes
write list = root, @lpadmin
第一个指令,让匿名用户可访问,第二个指令设置用户组写入权限。
然后,重启以下服务

代码: 全选

sudo service cups restart
sudo service cups-browsed restart 
sudo service smbd restart
sudo service nmbd restart
最后,使用cupsaddsmb命令,注册并写入驱动。

代码: 全选

sudo cupsaddsmb -H localhost -U root -a -v
完成后,在局域网其他xp计算机上,正确打开有关服务,设置好访问权限,就可以在工作组中发现该一体机,直接双击图标自动完成驱动安装并添加。然后工作组的小伙伴就可以快乐的打印了。

上传一个包给大家用用:
cups-windows_6.0.1-myubuntu_all.deb
(834.41 KiB) 已下载 116 次
头像
sunfish
帖子: 989
注册时间: 2008-05-03 1:53

Re: samba共享打印机给xp

#2

帖子 sunfish » 2016-07-02 11:18

mark
docker && kubernetes
回复