13 installation printing canon drivers
最初这个问题仅限于 11.10。现在我在(Lubuntu)12.10。(有关问题的变化,请参阅此元问题)。
我尝试了不同(或不那么不同)的方法 - 其他用户也在这里发表了评论。我的主要参考是:
没有一个对我有用。
小智 11
随着时间的推移,就 Ubuntu 12.04 - 13.10 而言,这个答案变得非常冗长和混乱。以下是提供相同解决方案但更清晰的答案。
它应该以与下面 12.10 相同的方式工作。
但是在基于 12.04 Ubuntu 的 eOS Luna 中进行尝试时,我无法使其正常工作。事实上,我在 12.04 和 12.10 的回答在 Xubuntu 和 Lubuntu 一段时间后也停止工作,但我让这些回答在这里,因为它们似乎对其他投票赞成的人有用。
我有一个新的解决方案(在 eOS 中测试并使用 2.6 驱动程序) - 在此处提供。
我已按照Ubuntu 文档页面和驱动程序随附的驱动程序手册中的步骤操作:
(2.4版已不存在在该链接。我已经上传就在这里。2.5版本在这里。)
第四步:【“重启CUPS。对于rpm包:输入以下命令:
/etc/init.d/cups 重启
对于 deb 包:输入以下命令:
/etc/init.d/cupsys restart
Run Code Online (Sandbox Code Playgroud)
注意 在重新启动 CUPS 之前,不要使用“lpadmin”命令注册打印机。根据您使用的发行版,可能不会输入“对于 deb 包”命令。在这种情况下,请输入“对于 rpm 包”命令。”]
这是我的情况:所以,我必须运行:
/etc/init.d/cups restart
Run Code Online (Sandbox Code Playgroud)
(我收到一条终端消息,说我也可以使用
service cups restart)
得到这个结果:
cups stop/waiting
cups start/running, process 2758
Run Code Online (Sandbox Code Playgroud)
[“确保您相应地更改此行: sudo /usr/sbin/lpadmin -p LBP5000 -m CNCUPSLBP5000CAPTK.ppd -v ccp://localhost:59787 -E 手册说 ccp://localhost:59687 但 Ubuntu by默认使用 59787。如果你不改变它,这会让你头疼。(文件 /etc/ccpd.conf 定义了 UI_Port 59787 和 PDATA_Port 59687。因此,这两个端口都需要在防火墙设置中打开。)” ]
因此,我必须输入
sudo /usr/sbin/lpadmin -p LBP1120 -m CNCUPSLBP1120CAPTK.ppd -v ccp://localhost:59787 -E
Run Code Online (Sandbox Code Playgroud)
Ubuntu 文档说:“* 注意:Ubuntu 12.04 再次将创建 /dev/usb/lp0 设备链接的 usblp 模块列入黑名单。要解决此问题,请执行以下操作 sudo nano /etc/modprobe.d/blacklist-cups-usblp.conf
然后将文件注释为如下所示,canons 驱动程序不会通过cups 与打印机对话:
# cups talks to the raw USB devices, so we need to blacklist usblp to avoid
# grabbing them
# blacklist usblp
Run Code Online (Sandbox Code Playgroud)
所以,当我使用 nano 迷路时,我试过
sudo gedit /etc/modprobe.d/blacklist-cups-usblp.conf
Run Code Online (Sandbox Code Playgroud)
并添加了上述内容(blacklist-cups-usblp.conf 是一个空文件,我只是粘贴了这些行)
(此时,请在主菜单中的 System/Printers 下验证那里记录的打印机名称是否正确 LBP1120)。
Run Code Online (Sandbox Code Playgroud)sudo /usr/sbin/ccpdadmin -p LBP1120 -o /dev/usb/lp0
你应该得到类似的东西:
CUPS_ConfigPath = /etc/cups/
LOG Path = None
UI Port = 59787
Entry Num : Spooler : Backend : FIFO path : Device Path : Status
----------------------------------------------------------------------------
[0] : LBP1120 : ccp : //localhost:59787 : /dev/usb/lp0 : Modified
Run Code Online (Sandbox Code Playgroud)
“启动ccpd守护进程。输入以下命令。
sudo /etc/init.d/ccpd start
Run Code Online (Sandbox Code Playgroud)
注意 设置 ccpd 守护进程在 Linux 启动时自动启动会很方便。”
之后,进入sudo /etc/init.d/ccpd status看看能不能看到2个数字(以前版本安装比较熟悉):是的,有2个数字。但是要在登录后注销并连接打印机才能打印。
如果打印不起作用,我想必须考虑这些规则:
登录后连接/启动打印机
/etc/init.d/ccpd status 查看2个数字
sudo /etc/init.d/ccpd start 启动 ccpd 守护进程
最有可能发生的情况是每次重新启动后您都需要重新启动 ccpd 守护程序以进行打印:除非您将 ccpd 守护程序设置为在 Linux 启动时自动启动- 正如手册所建议的那样。要做到这一点添加下面的命令来启动应用程序(如下面的答案在这里):
sudo update-rc.d ccpd defaults
Run Code Online (Sandbox Code Playgroud)
注意:在 12.10 上,此方法在一台计算机上对我有用,但在另一台计算机上失败了。在 13.04 它根本不起作用。通过添加sudo /etc/init.d/ccpd start到启动应用程序,我成功地在 13.04 上自动启动了 ccpd deamon 。
要通过双击可执行脚本文件查看状态,请执行以下操作:
#!/bin/bash
gnome-terminal -e "/etc/init.d/ccpd status"
Run Code Online (Sandbox Code Playgroud)
同上,但我必须安装portreserve软件包才能使用此方法。
这真的有效!
在Ubuntu文档网站提到,这台打印机是与Ubuntu 10.10测试。虽然我目前使用 12.10,但我想尝试一下。因此,我已将 10.10 安装为永久实时 USB 并按照“ Package Repository(11.10 之前) ”下的步骤进行操作。
最后我成功了- 按照以下步骤操作:
将 PPA 添加到您的系统并安装软件包:
sudo add-apt-repository ppa:michael-gruz/canon
sudo apt-get update
sudo apt-get install cndrvcups-capt cndrvcups-common
Run Code Online (Sandbox Code Playgroud)
系统->管理->打印添加打印机。选择“添加打印机”。不要在这里选择 Ubuntu 找到的 USB 打印机。选择“CAPT 打印机”。您应该在 URI 中看到“ccp”。更改它,使 URI 应变为“ccp:/var/ccpd/fifo0”。单击“下一步”,找到您的型号并添加您的打印机。如果您看到日语和英语变体,请选择英语变体。
你可以试试这个,而不是 GUI 动作:
sudo /usr/sbin/lpadmin -p LBP1120 -m CNCUPSLBP1120CAPTK.ppd -v ccp://localhost:59787 -E
Run Code Online (Sandbox Code Playgroud)
然后:
sudo /etc/init.d/ccpd restart
sudo /etc/init.d/ccpd status
Run Code Online (Sandbox Code Playgroud)
你应该在那里得到 2 个数字,但我只有一个。
所以,在这种情况下:
检查 /etc/ccpd.conf (gksudo gedit /etc/ccpd.conf) 你有这个:
<Printer LBP1120>
DevicePath /dev/usb/lp0
</Printer>
Run Code Online (Sandbox Code Playgroud)
为拿到它,为实现它:
sudo /usr/sbin/ccpdadmin -p LBP1120 -o /dev/usb/lp0
Run Code Online (Sandbox Code Playgroud)
另外,在 /etc/udev/rules.d/85-canon-capt.rules 中,你应该有这个:
KERNEL=="lp*", SUBSYSTEMS=="usb", ACTION=="add", SYSFS{idVendor}=="04a9", RUN+="/bin/bash /etc/init.d/ccpd start"
KERNEL=="lp*", SUBSYSTEMS=="usb", ACTION=="remove", RUN+="/bin/bash /etc/init.d/ccpd stop"
Run Code Online (Sandbox Code Playgroud)
(添加它
gksudo gedit /etc/udev/rules.d/85-canon-capt.rules)
然后启用规则:
sudo udevadm control --reload-rules
Run Code Online (Sandbox Code Playgroud)
然后再试一次:
sudo /etc/init.d/ccpd restart
sudo /etc/init.d/ccpd status
Run Code Online (Sandbox Code Playgroud)
如果您得到这两个数字,请尝试打印。然后重启电脑。
测试 2 个数字的东西
sudo /etc/init.d/ccpd status
Run Code Online (Sandbox Code Playgroud)
如果遇到问题,请尝试关闭打印机,重新启动计算机,并在登录后才打开打印机。
我回到了 LBP Canon 驱动程序包上的Ubuntu 官方文档网站,在从 debian 包(使用 Gdebi)重新安装了 2.3 版驱动程序后,我按照“添加打印机”部分中的说明进行了操作 - 没有成功。尽管事实上我得到了那里提到的“两个数字”(我引用:“你应该在最后看到两个数字。如果你这样做,你很幸运:) 等”)。
然后我继续使用“启动/停止 USB 添加/删除”下的命令,但无法获得那里引用的诊断信息,也无法打印该阶段指定的测试页。当我按照“重新启动和验证”下的命令进行操作时,我没有得到“两个数字”,而只有一个。
我从“疑难解答”部分添加了命令(实际上我在这里偶然发现了这些命令)-尽管我没有注意到状态监视器报告错误:我只是不知道该做什么了。那是:
lsmod | grep usblp
sudo modprobe usblp
ls -l /dev/usb/lp0
sudo /etc/init.d/ccpd restart
Run Code Online (Sandbox Code Playgroud)
嗯,这就是诀窍!
插入我的 USB 打印机后,我收到系统看到打印机的消息,然后我就可以完美打印了。
但是,根据以下说明(“注意:从 Ubuntu 11.10 (Oneiric Ocelot) 开始,usblp 已被弃用,连接 USB 打印机时不会自动加载”)重新启动计算机后无法打印。这似乎与错误 #842823 有关。在 Till Kamppeter 讨论该错误的地址中,我找到并遵循了这些说明,并且能够打印测试页 - 但没有其他内容。冒险还在继续:当我再次遵循官方 Ubuntu 文档页面中的“启动/停止 USB 添加/删除”、“重新启动和验证”和“状态监视器”阶段后,这些说明有效。
但我担心这仍然是一个临时解决方案。
编辑:对我来说,这是我能做到的最好的解决方案,但在重新启动后无法工作,而且使用起来很麻烦。我保留它仅供参考。如果其他人觉得它有用或可以修改,请编辑它以使其工作。
| 归档时间: |
|
| 查看次数: |
20355 次 |
| 最近记录: |