利用cups让铁威马NAS变成打印服务器

情况背景说明:

  家里有一台HP LaserJet 1010老打印机(以下简称打印机),修修弄弄,一直能正常工作。因为夫人用的多,通过USB连接在夫人的笔记本上,打印我笔记本上的文档就有点不方便,因为我用的少,也就凑合着。
  我的数据大多数放在网盘上,但经历了所用网盘关停,更换网盘导数据以及手机过户导致与手机绑定的网盘数据丢失等经历后,去年春节时咬牙给家里添置了一台铁威马的F4-221四盘位NAS服务器做为家庭存储中心。
  因为这台NAS24小时不关机,我就想着能否用这台NAS做打印服务器,以便发挥NAS的更大的作用。
  通过铁威马微信公众号向铁威马官方资询,铁威马给我推荐了应用中心里面的VirtualHere,根据官方提供的论坛贴子中的步骤安装后,感觉功能确实挺强大,但使用了一段时间后就提示购买使用许可。在论坛中咨询后得知,原来是VirtualHere是收费软件,只提供免费试用十天,而购买费用是49美元。根据汇率我算了一下大概约三百多人民币,这个价格可以在淘宝上买两个维斯易联的无线打印服务器了,实在是不划算,也不符合我将NAS作用更大化的初衷。
  实在不死心,想到这台NAS使用的是Linux的内核,于是开始上网查找Linux在打印机共享方面的方案,看到有关于cups的相关介绍。我本人对Linux一知半解,只能不断尝试着看能不能解决。以经历多次失败后找到以下解决方案。

技术背景说明:

  铁威马NAS虽然使用Linux,但一些Linux下的命令在其NAS中并不提供,对于我这样的新手很难安装第三方软件。但该NAS中提供了docker,通过镜像的方式可以运行一些软件。所以cups的安装与运行只能通过docker来实现。
  铁威马型号:F4-221
  TOS版本:4.2.08-2101111540

实施步骤:

一、开通SSH权限

  在控制面板-终端与SNMP-Telnet / SSH中启用ssh,如下图。

Snipaste_2021-01-28_10-46-22.PNG

二、在应用中心中安装docker。

  如下图。


Snipaste_2021-01-28_11-43-46.PNG

三、使用putty通过ssh登录NAS的root帐号

  密码默认与NAS的admin帐号一样。关于putty的使用不详述了。如下图。


Snipaste_2021-01-28_11-42-07.PNG

四、执行以下命令

docker run -d --name="cups-google-print" --net="host" --privileged="true" -e TZ="UTC" -e HOST_OS="unRAID" -e "CUPS_USER_ADMIN"="admin" -e "CUPS_USER_PASSWORD"="pass" -e "TCP_PORT_631"="631" -v "/mnt/user/appdata/cups-google-print":"/config":rw -v /dev:/dev -v /etc/avahi/services:/avahi -v /var/run/dbus:/var/run/dbus mnbf9rca/cups-google-print

  此命令参考:
  https://sre.ink/docker-install-cups-print-system
  https://github.com/mnbf9rca/cups-google-print
  该命令执行过程中同时包括了镜像安装与运行,所以有一个下载安装的过程,需要一点耐心,如下图。命令执行完成后即可关闭putty程序。

19.PNG

五、对镜像进行设置

  回到TOS界面,打开docker,并在窗口中找到刚安装的“cups-google-print”,该容器应该已经执行,此时需要先停止执行,如下图。

Snipaste_2021-01-28_13-24-42.PNG

  选择该容器,点击编辑,如下图。
10.PNG

  在弹出的编辑界面中选中常规设置,勾选启用自动重新启动,如下图。
11.PNG

  我对docker了解的并不多,之所以勾选该项是按我自己的理解启用该项会在容器因意外停止运行会能自动重新启动,或是重启NAS系统时,该容器能自动启动。如果这儿的理解不对,请帮我指出,谢谢。

  在编辑界面中选择,如下图。

12.PNG

  这个界面中已经挂载好了四个路径,基本不需要设置什么,只需要注意只读下面的勾不要打上即可。实际测试中,发现打开只读的勾后,后面对打印机时行配置时,会报错。
  另外,这儿解释一下为什么开始安装cups-google-print镜像之所以不在UI界面中操作,而是通过命令行的方式进行安装,就是因为在这儿手工挂载文件夹时,这四个路径在UI界面中没有办法选择到,我尝试手工输入似乎也不可以。只能在命令行中用-v参数来手工挂载。

  编辑界面中选择网络,如下图。
  在网络名称中选择host,如果已经是host了,保持就行。

13.PNG

  编辑界面中选择端口设置,如下图。
  查看此处是否已经有相应端口了,如果没有则点击新增,然后按图中设置将网络端口改为631,其他不需要改变。
14.PNG

  编辑界面中选择环境,如下图。
  基本上这个界面中不需要改动什么,但画圈的地方要注意,这个是后期登录cups所需要的帐号密码。后期如果需要更改密码,可以到这儿来修改。
16.PNG

  所有设置完成后,点击下面的应用,启动窗口。如下图。
17.PNG

六、安装或设置打印机

  登录cups管理界面。
  在浏览器输入https://"nas ip":631(将引号中的内容替换成你NAS的真实IP地址)。注意,前面使用的是https而不是http,当然如果错输成http也没有关系,会自动给出一个提示界面和正确的链接,点击正确的链接也可以登录。如下图。

18.PNG

  如果直接输入https地址的话,会要求输入帐号密码,此帐号密码即为编辑界面中环境中所显示的帐号密码,如果上面ssh中的安装指令安装的cups,则已经设置用户名和密码为admin/cups。如下图。
20.PNG

   登录后显示界面如下图。

21.PNG

   点击红圈处的Adding Printers and Classes,出现下图界面。
22.PNG

   点击红圈处的Add Printer,出现新的界面如下图。
23.PNG

   在这个界面中,如果你的打印机已经连接到NAS上且已经打开电源,此处会自动检测到打印机,强调一下,我使用的是HP LaserJet 1010打印机,未对其他品牌打印机进行测试。
   根据我的打印机型号,我在此处选择HP LaserJet 1010 USB 00CNFG838407 HPLIP(HP LaserJet1010),然后点击下方的Continue,出现新的界面,如下图。
24.PNG

   在这个界面中,Location处随便输入一串字符,我习惯输入TNAS01
   Sharing处要将Share This Printer打勾,这样后面其他电脑才能通过网络使用该打印机。
   最后点击Continue按钮,出现新的界面,如下图。
25.PNG

   在此界面中,根据打印机的型号在Make处选择打印机的型号,我的型号是HP,默认已经是了。不知道是自动检测出来的,还是默认就是HP。然后在下方的Model界面中选择相应的打印机型号。如果列表中没有对应的打印机型号,也可以通过选择文件来手工安装ppd格式的打印机驱动。列表中已经包含我的打印机,所以我直接选择第一个,然后点击下方的 Add Printer按钮,出现打印机设置界面,如下图。
26.PNG

   这个界面中如果没有特别需求,直接保持默认即可,直接点击下方Set Default Options将设置保存为默认值。
最后当出现如下图的界面时,打印机即安装并共享成功。
27.PNG

七、在Windows中安装共享打印机

   在Windows中安装网络打印机的过程不再仔细描述,只提一个注意点。
   Windows7和Windows10(XP没有测试)在安装网络共享打印机时,有可能自已扫描到该打印机,如下图。

1.png

  或下图。
2.png

  如果直接安装上面两张图片中自动扫描到的打印机,会出现在Windows上打印空白没有文字的情况,但是图形好像是可以打印的,如下图。
f6ed73d318fafc5237a5031d4d2b620.jpg

  我猜测是自动扫描安装的打印机驱动并不适合该打印机,没有条件做更多的测试,所以不知道其他型号的打印机是否有这样的问题出现。
   正确的方法是在添加网络打印机的界面选择我所需的打印机未列出,如下图。
28.PNG

  在弹出的对话框中手工输入打印机的路径。此处的路径应为:
  http://“NAS IP”:631/printers/“打印机名称”
  说明:将引号中的内容换成自己NAS的IP地址,并将引号去掉。
如下图。
3.png

  最后根据提示选择适合的Windows版本驱动进行安装,如下图。
4.png

  如果Windows没有自带打印机的驱动,可以至打印机厂商的官方主页下载对应的打印机的相应Windows版本驱动。

  其他品牌型号打印机可以参照此方法尝试安装。

  以上是一次技术尝试,特记录以备忘并供其他技术人员参考。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
禁止转载,如需转载请通过简信或评论联系作者。
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 206,378评论 6 481
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 88,356评论 2 382
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 152,702评论 0 342
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 55,259评论 1 279
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 64,263评论 5 371
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,036评论 1 285
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,349评论 3 400
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,979评论 0 259
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,469评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,938评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,059评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,703评论 4 323
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,257评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,262评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,485评论 1 262
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,501评论 2 354
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,792评论 2 345

推荐阅读更多精彩内容