Ubuntu配置和使用cups打印服务器

一个办公室内只有一台打印机,但是没有网络打印功能,每次大家都得搬着自己的笔记本电脑去插上USB打印,很麻烦,想着将这台打印机连接的主机配置为一台网络打印机,大家就可以共享打印了。当然,前提是办公室内有局域网,大家只有连上局域网才能打印。

为了实现这样的目的,就不得不提到Cups,即Common UNIX Printing System,这是Apple公司开发的。其官网地址为https://www.cups.org/。

这里采用Ubuntu18.04LTS系统,HP-LaserJet-P1007打印机为例,简述配置流程。
本文可以参考这篇博客。

下载安装cups

cups sudo apt-get install cups

如果不行,或许还有其他的操作,参看这篇博客。

配置cups

连接打印机和服务器主机,在浏览器中输入http://localhost:631,进入管理界面,如图。

Ubuntu配置和使用cups打印服务器-编程知识网

点击Printers,可以看到目前加入的打印机,在Administration下可以增加打印机,以及管理打印机的选项。注意下当前页面的网址就是打印机的地址,如我的就是http://localhost:631/printers/HP-LaserJet-P1007,这里localhost是本机的ip地址,这需要使用ip查找命令获取或者直接去网络连接那看。这个地址之后会给其他人进行配置,因此最好是不要变动,即最好是有个固定ip。至于怎么设置固定ip,可以自己探索。

Ubuntu配置和使用cups打印服务器-编程知识网

在系统的-打印机设置-额外打印机设置中,勾选允许从互联网打印,这才能显示为"Shared"。

Ubuntu配置和使用cups打印服务器-编程知识网
若还需进行其他修改,可以编辑/etc/cups/cupsd.conf,然后service cups restart重启服务。

用户连接

首先确保和服务器电脑连接到同一个局域网。

  • windows系统

    • 安装对应型号的驱动,这时可能需要让你的电脑连接一下打印机才能安装驱动
    • 在系统的打印机设置中,添加打印机,网络打印机,输入地址http://192.168.9.133:631/printers/HP-LaserJet-P1007,注意这里的192.168.9.133是我服务器的ip,需要根据你的情况修改。
      然后会弹出选择驱动,勾选好后确定
    • 这时你应该可以打印了,打印时注意勾选刚刚配置好的这个打印机
  • linux系统
    打印设置里,添加打印机,选择互联网打印协议ipp,输入ipp://192.168.9.133:631/printers/HP-LaserJet-P1007即可,其余的差不多。

  • android手机
    在设置中,找到打印设置,添加打印服务,通过ip添加,同样输入ipp://192.168.9.133:631/printers/HP-LaserJet-P1007,即可添加。

  • mac
    Mac系统也是在打印设置里面,注意添加高级选项,然后输入ipp://192.168.9.133:631/printers/HP-LaserJet-P1007,选择互联网打印协议,打印驱动选择Generic PostScript Printer就行。至于为啥不安装HP官方的驱动,貌似是有bug,可以参见http://arthur.vip/?p=43。

  • ipone和ipad等就自己探索吧,差别不大

TODO:

  1. 重启电脑后打印机又恢复unshared状态了,需要重新开启才能使用,该如何办
  2. 手机打印还有问题,会打印出空白或者是花的,可能驱动有问题?
  3. cups的网页管理界面提示要输入用户名和密码才能进行设置修改,但是并没有输入用户名和密码的途径,很奇怪。
  4. 对于cupsd.conf文件内容还不是很理解,里面的设置还可以探索探索,
  5. 电脑待机或者休眠的时候是否可以使用打印。
  6. linux的ipconfig不能用了??下载了net-tools仍然不能用。
  7. 可以用树莓派安个Linux系统连接打印机作为cups服务器,解放一台电脑,爽翻。