近日打算把打印机接入linux服务器上供多设备随时使用,打印机是惠普的,但是本人没有找到这款打印机的linux独立驱动,第二方案就是就是使用cups+hplip,这里记录的每一步都是重点,请勿跳过一些细节!
安装过程cups的过程比较简单,基本没什么可说的:
cups相对来说是比较方便的一款linux打印工具,做打印服务器也是首选,自身已经集成了很多品牌型号的打印驱动。安装好cups之后下一步就是添加打印机,这里我们通过网页浏览器操作,cups默认网络端口是:631,然而此时我们还无法通过浏览器打开http://ip:631/,所以这种方法我们还需要多做一些操作:
①.允许远程访问,执行
②.添加cups管理员用户,执行
username为用户名,这里可以是你系统登录的用户名。
做完这两步我们就可以通过网页打开了,我们先看一下效果
到这里表示只成功了一半,能进入管理员界面才是真正安装成功,
[box type="shadow" ]http://192.168.1.103:631/admin[/box]
这里强调一点,强调!强调!
如果想要联网打印一定要勾选这里右侧这个Allow printing from the Internet选项;
现在我们添加打印机,点击add print按钮,然后提示需要提升权限,
因为cups需要强制https访问,所以跳转到https访问,重新点击打印机添加
弹出身份验证,这里的用户名为刚才添加的cups管理员账户,部分浏览器的弹窗方式可能是在后台,注意任务栏提示。
这里选择你要接入的打印机型号即可,我这里有两个,本页单选框别看其他的,也别问我为什么会有中文,我也不知道,用的ubuntu,系统装上cups就有这不完整的翻译!
然后下一步continue;
折页只要是给打印机命名用,要设置的主要有Name和sharing选项,
注意:如果你不想联网打印的话请不要勾选Share This Printer!!!
然后continue进入下一页
这里主要是添加打印机驱动的,选择对应的打印机驱动即可这里我用的是hplip的打印驱动,找到对应打印机型号或者系列的驱动,要更换打印机品牌请点击Make项的select make按钮,然后continue下一步设置打印方案,
这里设置你的打印尺寸,打印颜色,纸张质量,打印质量等,这里我使用的默认。SetDefaultOptions完成。
到这里服务端的配置就算是完成了,现在我们设置客户端,这里我们在windows 10里做测试。现在网上相关cups共享打印的教程大部分是windows 2000以下的配置方案(如果你认为windows 10 比windows2000或者98版本更低的话,我给你一套第三方案:找到主机后面最粗的两条线然后使劲拔掉,洗洗睡吧孩子)
这里我们直接讲windows 10的方案,这里并不需要设置什么桑巴共享(samba),什么conf配置之类的,
看着重点:
打开windows 10的设置页找到设备和打印机
添加打印机和扫描仪,然后点击我要的打印机不在列表中
这一步很重要,很多人链接成功但是打印不了问题都是出现在这里,而不是所谓的驱动!下面会有说明
so!为了你不再折腾,请认真阅读这里的每一个字!
这里一定要注意使用“按名称选择共享打印机”选项,一定不要点后面的浏览选项查找打印机,即使你已经设置了桑巴共享,能在网络文件夹中找到打印机了!我告诉你,都是虚的!
这里一定要填http(s)://格式的链接,而不是\\192.168.x.xx\xxx之类的文件夹格式
然后会弹出打印机驱动选项,这里请放弃samba共享打印驱动的想法,不是没用,而是因为——完全脱裤子放屁!后面会讲述原理。这里只要记住,如果你想装驱动你就装跟你打印机一样的驱动可以,不想装驱动,我们就照下图选Generic>>MS Publisher....这两个任选其一,然后一路NEXT,打印测试页试试!
现在我们说说为什么不用设置samba共享打印,
之前我也是贪方便度娘了一大堆方案均告失败(或者说只在XP里成功过),后来看了一下XP设置成功的端口,这里用了windows7做端口演示,
最底下打勾项的http项是我们刚刚安装的成功测试的打印机,现在我们把目光放到描述栏,蓝色开始往下共四个,参考的XP端口描述为internet Port ;而网上教程大多为TCP/IP或者本地端口....地端口...端口...口... ou...
那又为什么不用像别人那样复制驱动呢?
现在来看一下我们刚刚打印出来的设置了MS开头驱动的打印机测试页,仔细看!
我们虽然没有像别人那样复制驱动,但是我们能看到,我们需要的5个PS开头的驱动文件一个不少全出现在了打印纸上。。。
cupsaddsmb uses the RPC-based printing support in SAMBA to provide printer drivers and PPD files to Windows client machines. In order to use this functionality, you must first configure the SAMBA smb.conf(5) file to support printing through CUPS and provide a printer driver download share, as follows:
[global] load printers = yes printing = cups printcap name = cups [printers] comment = All Printers path = /var/spool/samba browseable = no public = yes guest ok = yes writable = no printable = yes [print$] comment = Printer Drivers path = /etc/samba/drivers browseable = yes guest ok = no read only = yes write list = root
This configuration assumes a FHS-compliant installation of SAMBA; adjust the [printers] and [print$] share paths accordingly on your system as needed.
The base driver for Windows 2000 and higher is the Microsoft PostScript driver, which is available on any system running Windows 2000 or higher in the %WINDIR%\SYSTEM32\SPOOL\DRIVERS\W32X86\3 folder for 32-bit drivers and %WINDIR%\SYSTEM32\SPOOL\DRIVERS\X64\3 folder for 64-bit drivers.
Copy the 32-bit drivers to the /usr/share/cups/drivers directory and the 64-bit drivers to the /usr/share/cups/drivers/x64 directory exactly as named below:
ps5ui.dll pscript.hlp pscript.ntf pscript5.dll
Note: Unlike Windows, case is significant - make sure that you use the lowercase filenames shown above, otherwise cupsaddsmb will fail to export the drivers.
这段中国人看不懂的文字便是提取自cups的官方文档,特别是红字;刚开始理解的是要在windows2000以上的系统打印就要设置samba然后复制驱动文件,后来才真正悟透真正的意思:如果不用samba的话,就不用这么干。。。