• 在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

  • 相关阅读:
    Java 线程创建与常用方法
    洲际酒店及度假村焕新开拓,缔造难以忘怀的非凡时刻
    电脑重装系统右键菜单里的选项怎么删除
    文献管理软件Zotero之入门篇(1)
    【Linux网络】网络层协议:IP
    ISP代理是什么?跨境账号养号为什么要选择它?
    数据结构-难点突破(C++实现图的基本操作(邻接矩阵,邻接表,十字链表法储存代码))
    C# 中的那些锁,在内核态都是怎么保证同步的?
    服务端程序员学css记录
    深入ReentrantLock
  • 原文地址:https://blog.csdn.net/weixin_42145772/article/details/127436388