在openSUSE-Leap-15.4-DVD-x86_64中使用佳能喷墨打印机ip2780

在openSUSE-Leap-15.4-DVD-x86_64中使用佳能喷墨打印机ip2780

实际问题描述:本人在2011年购买佳能喷墨打印机ip2780,平时是在windows 7系统中使用的,佳能官网有提供linux驱动的,偶尔在fedora16系统中使用,彩色墨盒早已经堵塞不可用,没有测试彩色,只测试过黑色,如今常用opensuse15.4,就尝试安装linux驱动使用打印机,捣鼓几天终于试成功了,过程也是非常复杂,文章篇幅有些长

一、到佳能中国官网下载打印机ip2780的linux驱动
https://www.canon.com.cn/supports/download/sims/list/slist?searchTab=&channel=4&categoryId=16&categoryNameC=%E5%96%B7%E5%A2%A8%E6%89%93%E5%8D%B0%E6%9C%BA&seriesId=71&seriesNameC=iP%E7%B3%BB%E5%88%97&modelId=1040&modelName=PIXMA%2520iP2780%252FiP2788&fileTypeName=%25E9%25A9%25B1%25E5%258A%25A8%25E7%25A8%258B%25E5%25BA%258F&fileTypeId=23&subName=&OSName=Linux&pageNo=&query=

iP2700 series IJ Printer Driver Ver. 3.30 for Linux (rpm包装)
最近更新 : 26-Feb-2010
发行编号 : 0100271604
文件名: cnijfilter-ip2700series-3.30-1-i386-rpm.tar.gz
文件版本: 3.30
文件语言 : 捷克文, 德文, 丹麦文, 英文, 西班牙文, 芬兰文, 法文, 希腊文, 匈牙利文, ID, 意大利文, 日文, 韩文, 荷兰文, 挪威文, 波兰文, 葡萄牙文, 俄文, 瑞典文, 繁体中文, 泰文, 土耳其文, 简体中文
文件大小 : 1,728KB

系统要求
Fedora 12(32bit)
openSUSE 11.2(32bit)

https://gdlp01.c-wss.com/gds/6/0100002716/01/cnijfilter-ip2700series-3.30-1-i386-rpm.tar.gz

二、使用zypper安装打印机ip2780的linux驱动
[root@localhost 打印机canon-ip2780]# tar -zxvf cnijfilter-ip2700series-3.30-1-i386-rpm.tar.gz -C /root/

解压到/root目录
cnijfilter-ip2700series-3.30-1-i386-rpm/
cnijfilter-ip2700series-3.30-1-i386-rpm/packages/
cnijfilter-ip2700series-3.30-1-i386-rpm/packages/cnijfilter-common-3.30-1.i386.rpm
cnijfilter-ip2700series-3.30-1-i386-rpm/packages/cnijfilter-ip2700series-3.30-1.i386.rpm
cnijfilter-ip2700series-3.30-1-i386-rpm/resources/
cnijfilter-ip2700series-3.30-1-i386-rpm/resources/printer_zh_utf8.lc
cnijfilter-ip2700series-3.30-1-i386-rpm/resources/printer_ja_utf8.lc
cnijfilter-ip2700series-3.30-1-i386-rpm/resources/printer_fr_utf8.lc
cnijfilter-ip2700series-3.30-1-i386-rpm/install.sh

[root@localhost 打印机canon-ip2780]# cd /root/cnijfilter-ip2700series-3.30-1-i386-rpm/
[root@localhost cnijfilter-ip2700series-3.30-1-i386-rpm]# chmod a+x install.sh
为install.sh文件添加执行权限
[root@localhost cnijfilter-ip2700series-3.30-1-i386-rpm]# ./install.sh

Canon Inkjet Printer Driver Ver.3.30-1 for Linux
Copyright CANON INC. 2001-2010
All Rights Reserved.

Command executed = rpm -Uvh ./packages/cnijfilter-common-3.30-1.i386.rpm
Preparing… ################################# [100%]
Updating / installing…
1:cnijfilter-common-3.30-1 ################################# [100%]
Command executed = rpm -Uvh ./packages/cnijfilter-ip2700series-3.30-1.i386.rpm
error: Failed dependencies:
libatk-1.0.so.0 is needed by cnijfilter-ip2700series-3.30-1.i386
libgdk-x11-2.0.so.0 is needed by cnijfilter-ip2700series-3.30-1.i386
libgdk_pixbuf-2.0.so.0 is needed by cnijfilter-ip2700series-3.30-1.i386
libgtk-x11-2.0.so.0 is needed by cnijfilter-ip2700series-3.30-1.i386
libpango-1.0.so.0 is needed by cnijfilter-ip2700series-3.30-1.i386
libpangox-1.0.so.0 is needed by cnijfilter-ip2700series-3.30-1.i386
libpangoxft-1.0.so.0 is needed by cnijfilter-ip2700series-3.30-1.i386
libpng is needed by cnijfilter-ip2700series-3.30-1.i386
libpng12.so.0 is needed by cnijfilter-ip2700series-3.30-1.i386
libtiff.so.3 is needed by cnijfilter-ip2700series-3.30-1.i386
Command executed = rpm -e cnijfilter-common

报错缺少多个共享库文件,进入文件夹packages安装cnijfilter-common-3.30-1.i386.rpm是没有任何依赖直接完成,使用zypper install ./cnijfilter-ip2700series-3.30-1.i386.rpm能够分析出依赖和将依赖软件包补安装上,注意在进入软件所在的文件夹而且cnijfilter前面有./符号,到这里算是已经强制性将两个驱动软件包安装上了,但是还是不能使用的,opensuse15.4是64位系统,而cnijfilter是32位的,再运行install.sh提示还缺少两个共享库文件libpangox-1.0.so.0和libtiff.so.3

localhost:/mnt/sda5/root/cnijfilter-ip2700series-3.30-1-i386-rpm/packages # ls
cnijfilter-common-3.30-1.i386.rpm cnijfilter-ip2700series-3.30-1.i386.rpm

localhost:/mnt/sda5/root/cnijfilter-ip2700series-3.30-1-i386-rpm/packages # zypper install ./cnijfilter-common-3.30-1.i386.rpm
Loading repository data…
Reading installed packages…
Resolving package dependencies…

The following NEW package is going to be installed:
cnijfilter-common

1 new package to install.
Overall download size: 96.8 KiB. Already cached: 0 B. After the operation, additional 320.8 KiB will be used.
Continue? [y/n/v/…? shows all options] (y): y 输入字母y并回车
Retrieving package cnijfilter-common-3.30-1.i386 (1/1), 96.8 KiB (320.8 KiB unpacked)
cnijfilter-common-3.30-1.i386.rpm:
Package header is not signed!

cnijfilter-common-3.30-1.i386 (Plain RPM files cache): Signature verification failed [6-File is unsigned]
Abort, retry, ignore? [a/r/i] (a): i 输入字母i并回车

Checking for file conflicts: …[done]
(1/1) Installing: cnijfilter-common-3.30-1.i386 …[done]

localhost:/mnt/sda5/root/cnijfilter-ip2700series-3.30-1-i386-rpm/packages # zypper install ./cnijfilter-ip2700series-3.30-1.i386.rpm
Loading repository data…
Reading installed packages…
Resolving package dependencies…

Problem: nothing provides ‘libpangox-1.0.so.0’ needed by the to be installed cnijfilter-ip2700series-3.30-1.i386
Solution 1: do not install cnijfilter-ip2700series-3.30-1.i386
Solution 2: break cnijfilter-ip2700series-3.30-1.i386 by ignoring some of its dependencies

Choose from above solutions by number or cancel [1/2/c/d/?] ©: 2 输入数字2并回车
Resolving dependencies…
Resolving package dependencies…

The following 23 NEW packages are going to be installed:
cnijfilter-ip2700series gdk-pixbuf-query-loaders-32bit gtk2-theming-engine-adwaita-32bit gtk2-tools-32bit
ibus-gtk-32bit libXdamage1-32bit libXft2-32bit libatk-1_0-0-32bit libcanberra-gtk0-32bit
libcanberra-gtk2-module-32bit libcanberra0-32bit libdatrie1-32bit libfribidi0-32bit libgdk_pixbuf-2_0-0-32bit
libgraphite2-3-32bit libgtk-2_0-0-32bit libharfbuzz0-32bit libibus-1_0-5-32bit libpango-1_0-0-32bit libpng12-0
libpng12-0-32bit libthai0-32bit libvorbisfile3-32bit

23 new packages to install.
Overall download size: 5.2 MiB. Already cached: 0 B. After the operation, additional 16.8 MiB will be used.
Continue? [y/n/v/…? shows all options] (y): y 输入字母y并回车
Retrieving package gdk-pixbuf-query-loaders-32bit-2.42.6-150400.3.8.x86_64 (1/23), 31.6 KiB ( 9.6 KiB unpacked)
Retrieving: gdk-pixbuf-query-loaders-32bit-2.42.6-150400.3.8.x86_64.rpm …[done (15.8 KiB/s)]
Retrieving package libXdamage1-32bit-1.1.4-1.23.x86_64 (2/23), 11.5 KiB ( 9.4 KiB unpacked)

…………

localhost:/mnt/sda5/root/cnijfilter-ip2700series-3.30-1-i386-rpm # ./install.sh

Canon Inkjet Printer Driver Ver.3.30-1 for Linux
Copyright CANON INC. 2001-2010
All Rights Reserved.

Command executed = rpm --test -U ./packages/cnijfilter-common-3.30-1.i386.rpm
package cnijfilter-common-3.30-1.i386 is already installed
Command executed = rpm --test -U ./packages/cnijfilter-ip2700series-3.30-1.i386.rpm
error: Failed dependencies:
libpangox-1.0.so.0 is needed by cnijfilter-ip2700series-3.30-1.i386
libtiff.so.3 is needed by cnijfilter-ip2700series-3.30-1.i386
The printer registration has not been completed.
Register the printer manually by using the lpadmin command.

三、补安装libpangox-1.0.so.0和libtiff.so.3
使用zypper search libpangox libtiff查到并安装libpangox-1_0-0-0.0.2-bp154.2.25.x86_64和libtiff-devel-32bit-4.0.9-45.5.1.x86_64.rpm,仍然会报错,因为libpangox-1.0.so.0.0.0是64位,而libtiff.so是软连接指向libtiff.so.5.3.0版本不是3.x版本,要到http://rpm.pbone.net/index.php3寻找当时32位的旧版本才行,先勾选SuSE栏中的所有选项,再输入关键字libpangox和单击搜索
在这里插入图片描述

localhost:~ # zypper search --provides libpangox libtiff
Loading repository data…
Reading installed packages…

S | Name | Summary | Type
—±----------------------------±----------------------------------------±-------
| atril-backends | Atril shared libraries (View and Docu-> | package
| darktable | A virtual Lighttable and Darkroom | package
| evince-plugin-tiffdocument | TIFF document support for Evince | package
i | libpango-1_0-0 | Library for Layout and Rendering of T-> | package
i | libpango-1_0-0-32bit | Library for Layout and Rendering of T-> | package
i+ | libpangox-1_0-0 | PangoX compatibility library - deprec-> | package
i+ | libpangox-1_0-0-32bit | PangoX compatibility library - deprec-> | package
i+ | libtiff-devel | Development Tools for Programs which -> | package
i+ | libtiff-devel-32bit | Development Tools for Programs which -> | package
i+ | libtiff3 | The Tiff Library (with JPEG and compr-> | package
i | libtiff5 | The Tiff Library (with JPEG and compr-> | package
i | libtiff5-32bit | The Tiff Library (with JPEG and compr-> | package
i+ | openSUSE-release | openSUSE Leap 15.4 | package
| tkimg | More Image Formats for Tk | package
| xreader-plugin-tiffdocument | TIFF document support for Xreader | package

http://rpm.pbone.net/resultsb_dist_46_size_48984_name_libpangox-1_0-0-32bit-0.0.2-lp152.4.2.x86_64.rpm.html
ruhong@localhost:~/download> rpm -pql libpangox-1_0-0-32bit-0.0.2-lp152.4.2.x86_64.rpm
/usr/lib/libpangox-1.0.so.0
/usr/lib/libpangox-1.0.so.0.0.0

https://rpm.pbone.net/info_idpl_23922619_distro_opensuse_com_libtiff3-3.9.5-8.17.1.i586.rpm.html
ruhong@localhost:~/download> rpm -pql libtiff3-3.9.5-8.17.1.i586.rpm
警告:libtiff3-3.9.5-8.17.1.i586.rpm: 头V3 RSA/SHA1 Signature, 密钥 ID b3fd7e48: NOKEY
/usr/lib/libtiff.so.3
/usr/lib/libtiff.so.3.9.5
/usr/lib/libtiffxx.so.3
/usr/lib/libtiffxx.so.3.9.5
/usr/share/doc/packages/libtiff3
/usr/share/doc/packages/libtiff3/COPYRIGHT
/usr/share/doc/packages/libtiff3/README
/usr/share/doc/packages/libtiff3/README.SUSE

localhost:/home/ruhong # zypper install ./libtiff3-3.9.5-8.17.1.i586.rpm
Loading repository data…
Reading installed packages…
Resolving package dependencies…

The following 2 NEW packages are going to be installed:
libjpeg62-32bit libtiff3

2 new packages to install.
Overall download size: 320.3 KiB. Already cached: 0 B. After the operation,
additional 1.1 MiB will be used.
Continue? [y/n/v/…? shows all options] (y): y 输入字母y并回车
Retrieving package libjpeg62-32bit-62.3.0-150400.15.7.x86_64
(1/2), 197.1 KiB (705.4 KiB unpacked)
Retrieving: libjpeg62-32bit-62.3.0-150400.15.7.x86_64.rpm …[done (32.0 KiB/s)]
Retrieving package libtiff3-3.9.5-8.17.1.i586 (2/2), 123.2 KiB (411.5 KiB unpacked)
libtiff3-3.9.5-8.17.1.i586.rpm:
Header V3 RSA/SHA1 Signature, key ID 598d0e63b3fd7e48: NOKEY
V3 RSA/SHA1 Signature, key ID 598d0e63b3fd7e48: NOKEY

warning: /var/tmp/zypp.yjTKaQ/zypper/tmpRPMcache/%CLI%/libtiff3-3.9.5-8.17.1.i586.rpm: Header V3 RSA/SHA1 Signature, key ID b3fd7e48: NOKEY
Looking for gpg key ID B3FD7E48 in cache /var/cache/zypp/pubkeys.
Repository Plain RPM files cache does not define additional ‘gpgkey=’ URLs.
libtiff3-3.9.5-8.17.1.i586 (Plain RPM files cache): Signature verification failed [4-Signatures public key is not available]
Abort, retry, ignore? [a/r/i] (a): i 输入字母i并回车

Checking for file conflicts: …[done]
(1/2) Installing: libjpeg62-32bit-62.3.0-150400.15.7.x86_64 …[done]
warning: /var/cache/zypper/RPMS/libtiff3-3.9.5-8.17.1.i586.rpm: Header V3 RSA/SHA1 Signature, key ID b3fd7e48: NOKEY
(2/2) Installing: libtiff3-3.9.5-8.17.1.i586 …[done]

安装完成libpangox-1_0-0-32bit-0.0.2-lp152.4.2.x86_64.rpm和libtiff3-3.9.5-8.17.1.i586.rpm再运行install.sh就不会报错缺少共享库文件,算是迈过最大的坎了

localhost:/home/ruhong # cd /mnt/sda5/root/cnijfilter-ip2700series-3.30-1-i386-rpm/
localhost:/mnt/sda5/root/cnijfilter-ip2700series-3.30-1-i386-rpm # ls
install.sh packages resources
localhost:/mnt/sda5/root/cnijfilter-ip2700series-3.30-1-i386-rpm # ./install.sh

Canon Inkjet Printer Driver Ver.3.30-1 for Linux
Copyright CANON INC. 2001-2010
All Rights Reserved.

Command executed = rpm --test -U ./packages/cnijfilter-common-3.30-1.i386.rpm
package cnijfilter-common-3.30-1.i386 is already installed
Command executed = rpm --test -U ./packages/cnijfilter-ip2700series-3.30-1.i386.rpm
package cnijfilter-ip2700series-3.30-1.i386 is already installed
The printer registration has not been completed.
Register the printer manually by using the lpadmin command.

四、设置和注册打印机
localhost:~ # lpinfo -v
serial serial:/dev/ttyS0?baud=115200
network https
network socket
network ipps
network beh
network lpd
network http
network ipp
network smb
通电打印机前先运行一下lpinfo -v命令
localhost:~ # vim /etc/cups/cupsd.conf
用编辑器打开/etc/cups/cupsd.conf,并在末尾添加以下行:
DefaultLanguage zh_CN

localhost:~ # systemctl stop cups.service
localhost:~ # systemctl start cups.service
localhost:~ # systemctl status cups.service
● cups.service - CUPS Scheduler
Loaded: loaded (/usr/lib/systemd/system/cups.service; enabled; vendor pres>
Active: active (running) since Tue 2022-10-17 21:03:24 CST; 10min ago
TriggeredBy: ● cups.socket
● cups.path
Docs: man:cupsd(8)
Main PID: 589 (cupsd)
Tasks: 1 (limit: 4661)
CGroup: /system.slice/cups.service
└─589 /usr/sbin/cupsd -l
因为修改过cups的配置文件所以要重启cups服务,连接打印机USB接口到台式机并按一下打印机的电源按钮,opensuse15.4自动识别并注册打印机名称为iP2700-series

localhost:~ # lsusb
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 007 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 002 Device 002: ID 04a9:10d3 Canon, Inc. iP2700 series
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
显示usb接口和识别打印机iP2700 series且设备为lp0

localhost:~ # ls /dev/usb
lp0

localhost:~ # ls /etc/cups/ppd/
iP2700-series.ppd
因为系统自动识别打印机且注册名称为iP2700-series就会在/etc/cups/ppd/有iP2700-series.ppd文件

localhost:~ # ls /usr/share/cups/model/
Postscript-level1.ppd.gz Postscript-level2.ppd.gz Postscript.ppd.gz canonip2700.ppd
打印机的ppd文件canonip2700.ppd是在/usr/share/cups/model/
localhost:~ # lpinfo -v
serial serial:/dev/ttyS0?baud=115200
network ipps
network https
direct usb://Canon/iP2700%20series?serial=1143A8
network lpd
network beh
network ipp
network http
network socket
direct cnijusb:/dev/usb/lp0
network smb
再运行一下lpinfo -v命令会发现多出以下两行内容
direct usb://Canon/iP2700%20series?serial=1143A8
direct cnijusb:/dev/usb/lp0

localhost:~ # lpinfo -lv
Device: uri = usb://Canon/iP2700%20series?serial=1143A8
class = direct
info = Canon iP2700 series
make-and-model = Canon iP2700 series
device-id = MFG:Canon;CMD:BJL,BJRaster3,BSCCe,IVEC,IVECPLI;SOJ:TXT01;MDL:iP2700 series;CLS:PRINTER;DES:Canon iP2700 series;VER:1.030;STA:30;FSI:00;HRI:CHN;MSI:AOFF,BOFF,DAT,E3;PDR:7;
location =
Device: uri = cnijusb:/dev/usb/lp0
class = direct
info = USB Printer #1 with status readback for Canon IJ
make-and-model = Canon iP2700 series
device-id =
location =

注册打印机并指定ip2780作为打印机名称
[root@localhost ~]# lpadmin -p ip2780 -m canonip2700.ppd -v cnijusb:/dev/usb/lp0 -E

将打印机ip2780设置为默认打印机
[root@localhost ~]# lpadmin -d ip2780

localhost:~ # ls /etc/cups/ppd
iP2700-series.ppd ip2780.ppd

localhost:~ # lpstat -t
显示打印机的状态,有两个注册名称
scheduler is running
system default destination: ip2780
device for iP2700-series: usb://Canon/iP2700%20series?serial=1143A8
device for ip2780: cnijusb:/dev/usb/lp0
iP2700-series accepting requests since Mon Oct 17 21:31:20 2022
ip2780 accepting requests since Mon Oct 17 21:38:57 2022
printer iP2700-series is idle. enabled since Mon Oct 17 21:31:20 2022
printer ip2780 is idle. enabled since Mon Oct 17 21:38:57 2022

localhost:~ # lpadmin -x iP2700-series
删除注册名称iP2700-series

localhost:~ # lpstat -t
scheduler is running
system default destination: ip2780
device for ip2780: cnijusb:/dev/usb/lp0
ip2780 accepting requests since Mon Oct 17 21:38:57 2022
printer ip2780 is idle. enabled since Mon Oct 17 21:38:57 2022

五、试用打印机和日常使用方法
在国产金山办公软件wps中用A4纸尝试打印文件,打印机有动作打印作业
在这里插入图片描述

localhost:~ # ps aux|grep cups
root 593 0.3 0.3 111736 12060 ? Ss 21:24 0:03 /usr/sbin/cupsd -l
lp 4831 0.0 0.2 95028 8408 ? S 21:30 0:00 /usr/lib/cups/notifier/dbus dbus://
lp 5623 0.0 0.0 3264 872 ? S 21:41 0:00 /usr/local/bin/lgmonip2700 --gui --cups
lp 5625 0.0 0.0 3264 124 ? S 21:41 0:00 /usr/local/bin/lgmonip2700 --gui --cups
lp 5626 0.0 0.0 3264 124 ? S 21:41 0:00 /usr/local/bin/lgmonip2700 --gui --cups
root 5636 0.0 0.0 7688 860 pts/0 S+ 21:42 0:00 grep --color=auto cups
正在打印时查看后台进程,真正打印作业的是lgmonip2700而不是lpr

localhost:~ # system-config-printer
跳出打印机对话框——单击ip2780——单击上方的打印机——查看打印机队列——可以取消不能成功打印的任务
在这里插入图片描述

操作打印机有三种模式:
一、命令行模式
lpr、lpq、lprm、lpstat、lpadmin、lpoptions
systemctl status cups.service

lpstat -t
lpoptions -l
可以在日志文件/var/log/cups/error_log查看错误信息

二、图形模式
system-config-printer
应用程序——系统工具——打印设置——解锁——输入root密码——单击ip2780——顶部打印机——勾选启用和勾选共享,才能让普通用户使用打印机

三、网页模式
在浏览器地址栏输入以下网址
https://localhost:631/
在这里插入图片描述

主要参考网络文章《SUSE 11.4 & Canon PIXMA ip2700 - won’t print [Archive]》
https://forums.opensuse.org/archive/index.php/t-456971.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值