我正在尝试让我的佳能 LBP2900 打印机在 Ubuntu 11.10 64 位上运行。
我所做的就是尝试按照https://help.ubuntu.com/community/CanonCaptDrv190
因此我下载了 2.3 版驱动程序并尝试将 rpm 文件转换为 debian 并安装它们
sudo alien cndrvcups-capt-2.30-1.x86_64.rpm cndrvcups-common-2.30-1.x86_64.rpm
sudo dpkg -i cndrvcups-capt-2.30-1.x86_64.deb cndrvcups-common-2.30-1.x86_64.deb
重新启动 cups 并尝试使用 lpadmin 安装打印机:
sudo service cups restart
sudo /usr/sbin/lpadmin -p LBP2900 -m /usr/share/cups/model/CNCUPSLBP2900CAPTK.ppd -v ccp://localhost:59787 -E
然而我注意到在使用 lpadmin 的步骤中出现了错误:
lpadmin: Bad device-uri scheme "ccp"
在尝试追踪出了什么问题之后,我认为问题出在 dpkg 安装了一个文件/usr/lib64/cups/backend/ccp
而不是/usr/lib/cups/backend/ccp
使用存档管理器检查原始 rpm 确实显示使用了/usr/lib
和/usr/lib64
,而后端/cpp 文件仅安装在 lib64 中。据我理解,Ubuntu 11.10 使用/usr/lib32
和,/usr/lib
因此文件安装在错误的位置。
是否有一种自动化方法可以将具有错误 lib 结构的 rpm/deb 文件转换为具有适用于 ubuntu 11.10 的正确 lib 结构的 rpm/deb 文件?还是我完全走错了安装打印机的路线?
答案1
然而,我注意到在使用 lpadmin 的步骤中出现了错误:lpadmin: 错误的设备 uri 方案“ccp”
这是因为你没有生成与 rpm 文件相关的脚本......
使用
sudo alien cndrvcups-capt-2.30-1.x86_64.rpm cndrvcups-common-2.30-1.x86_64.rpm --scripts
或者
sudo alien *.rpm --scripts
代替
sudo 外星人 *.rpm
您可以解决此错误
lpadmin:错误的设备 uri 方案“ccp”
RJK 祝一切顺利
答案2
我没有佳能的这个特定型号,但在我的系统上安装新打印机时我从未遇到任何问题,佳能还声明该驱动程序可以在所有最新版本的 Ubuntu 和许多其他 GNU/linux 发行版下运行。
http://software.canon-europe.com/
在这里您可以下载适用于 32 位和 64 位操作系统的驱动程序,软件包中还包含源代码,因此您可以从头开始构建自己的驱动程序。
不要使用 rpm 作为第一资源,尤其是在基于 deb 的系统上。
要找出特定可执行文件使用的库,请运行此命令
ldd [path to exec]
有时,有可用于启动程序的脚本,但它们不是可执行文件,要找出真正的可执行文件的位置,您别无选择,只能调查脚本的来源。
例如,要知道使用了哪些库,java
您可以ldd
结合使用which
,这是一个为您提供关键字命令完整路径的命令(仅which
适用于脚本和 exec,ldd
需要 exec ):
ldd $(which java)
我建议完全删除那些已安装的软件包并从源代码进行编译,如果您不能安全地删除这些软件包,请尝试执行某些操作ldd
并验证所有必需的库是否都链接到您的可执行文件,您也可以运行此命令sudo apt-get install -f
来尝试修复一些丢失的软件包。
编辑:我几乎忘记了这一点,要更新库和您必须运行的可执行文件之间的所有链接sudo ldconfig
,这在您安装新库后很有用。
显然,此搜索有很好的链接http://www.google.com/search?q=compile+cndrvcups-common还有一些好的 ppa。