[Share Experiences] USB打印机Canon2900+打印服务器部署_实现Andriod_Iphone无线打印
Tofloor
poster avatar
Rejey
deepin
2022-11-27 21:39
Author

Canon2900+打印服务器部署for Deepin实现Andriod_Iphone无线打印

这是一个安装部署记录,包括Deepin安装,运行环境VM workstation虚拟机

一.安装Deepin

  1. 下载镜像,Deepin-20.7.1
  2. 新建虚拟机:Linux_Debian_10.x UEFI 20GB DVD加载镜像
  3. 启动按钮旁三角启动电源进入固件(类似进入BIOS)
  4. 选择UEFI DVD启动
  5. 更改64G容量推荐,解除不能下一步,(好像手动安装就好)

进入Deepin安装界面,语言界面,

Ctrl+Alt+F2进入命令界面,

输入sudo vim /etc/deepin-installer.conf  

找到partition disk minimum  按[I]进行编辑

将64→18 按[ESC]输入[:wq] 保存编辑推出Ctrl+Alt+F1返回安装界面 

随后选择自定义安装即可(这个版本我没有保存成功,手动安装可能就OK)

这边记录一个强制保存命令:[:w !sudo tee %]

  1. 手动分区安装,2个分区:efi-300M ;根分区 / 20G 。下一步至安装完成重启。

二.安装打印机驱动

  1. 下载Canon官网linux-capt-drv-v271-uken.tar.gz
  2. 文件所在目录运行终端
  3. sudo apt-get install libglade2-0:amd64  #依赖库
    tar xvf linux-capt-drv-v271-uken.tar.gz #解压
    cd linux-capt-drv-v271-uken/64-bit_Driver/Debian
    sudo dpkg -i cndrvcups-common_3.21-1_amd64.deb #驱动安装
    sudo dpkg -i cndrvcups-capt_2.71-1_amd64.deb #驱动安装
    sudo apt-get install libpopt0:i386 #安装64位Canon CAPT打印机驱动程序包括专有的闭源32位可执行捕获筛选器所需的32位库文件
    sudo apt-get install zlib1g:i386 libxml2:i386 libstdc++6:i386 #安装其他依赖的32位库文件,也可以安装libpopt0:i386,它会自动安装前边的3个文件
    sudo apt install cndrvcups-ufr2-uk cndrvcups-ufr2lt-uk cndrvcups-capt  #以前版本的Canon驱动服务
    sudo apt-get -f install
    

以前版本的驱动安装命令还需要,(本人不懂)不做的话打印服务起不来。(关键!!!,别的帖子并没说)

三.安装打印机

  1. 终端运行:sudo /usr/sbin/lpadmin -p LBP3000 -m CNCUPSLBP3000CAPTK.ppd -v ccp://localhost:59787 -E

#会出现lpadmin驱动被弃用,不用管它(2900+用3000CAPTK,2900则用2900CAPTK)

四.启动****Canon打印守护服务(cc pd )

  1. ls /dev/usb     #如果USB连接正常,会返回lp0或lp1
  2. sudo /usr/sbin/ccpdadmin -p LBP3000 -o /dev/usb/lp0 #注册使用ccpd守护进程,对应变成lp0/lp1
  3. sudo /etc/init.d/ccpd start #启动ccpd守护进程
  4. captstatusui -P LBP2900  # 测试状态,如 “Ready to print”则OK,如果Err,需要排错,打印机插拔等。

五.设置开机启动ccpd

sudo /etc/init.d/ccpd start,将这条命令加入开机启动

方法:利用 rc.local 文件实现脚本开机自启:

  1. 打开 /etc/rc.local 文件(实际没有此文件,继续)    终端 vim /etc/rc.loca
  2. 粘贴以下模板
#!/bin/sh -e
# rc.local
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
# In order to enable or disable this script just change the execution
# bits.
# By default this script does nothing.

exit 0
  1. exit 0 上方插入 sudo /etc/init.d/ccpd start  强制保存:ESC输入[:w !sudo tee %]
  2. 给脚本加上 755 权限 sudo chmod +755 /etc/rc.local
  3. 调试 sudo /etc/rc.local # 使用 sudo 模拟 root 用户开机自启 /etc/rc.local 文件

重启 systemctl status rc-local.service 查看 rc-local的运行状态,显示active (exited)则脚本已执行,反之显示 failed ,检查脚本是否有问题。

captstatusui -P LBP2900  # 测试状态

几个可能导致脚本无法执行的原因:

  1. 执行脚本的用户不一致,rc.local 自启是以root执行的,很多情况命令必须要普通用户执行。
  2. sudo, rc.local 开机以root用户启动,命令不需要sudo(实际sudo不会产生错误)。

六.设置共享打印服务器

  1. 打印管理器-右键LBP3000共享/启用/接受任务(默认都是勾选)-设置-勾选发布连接/允许从互联网打印

00.png 01.png

至此服务器已经搭载完毕了。

七.Windows连接到打印机

图文教程参见:

https://bbs.deepin.org/post/136436?id=136436&limit=20&offset=0&postId=1374039

  1. 客户机(Windows)浏览器打开 共享服务器IP地址比如:http://192.168.1.122:631/printers
  2. 点开LBP3000打印机,地址栏复制地址:http://192.168.1.122:631/printers/LBP3000(http不是https)
  3. Windows控制面板-设备与打印机-添加打印机-未列出-按名称选择共享打印机
  4. -粘贴地址-下一步-选择win驱动(提前解压)-完成安装

八.Andriod&Iphone手机连接到打印机(WIFI在局域网内)

  1. Andriod :

安装APP   Android CUPS Print(app不用打开,它是打印服务)

系统设置-打印服务会多一项Android CUPS Print,点进去-开启使用打印服务-更多-添加-第二项填上地址和打印机名称
捕获.PNG

上面可能不用设置,安装完后,打印时打印机选LBP3000@XXX即可

  1. Iphone:

随便选择一张图片分享,有个打印选项,打印机选LBP3000@XXX即可

结语:这个共享还是利用了CUPS的打印机共享系统,使得手机打印成为了可能,我是在NAS里玩docker,接触了CUPS,我对Linux还属小白,NAS里无法安装Canon2900+的打印驱动(或者我不会搞,后期我可能会尝试)。

Reply Favorite View the author
All Replies
云的眼泪
deepin
2022-11-27 23:07
#1

like

Reply View the author
晚秋(lateautumn)
Moderator
2022-11-27 23:47
#2

学习一个like

Reply View the author
jjcui8595
Moderator
2022-11-28 00:09
#3

感谢分享

Reply View the author