将 PPD 从 OSX 过滤器错误移植到 Linux?

将 PPD 从 OSX 过滤器错误移植到 Linux?

由于我的打印机 Canon Pixma G1000 似乎不支持 Canon 的 Linux 驱动程序,我尝试将 PPD 从 OSX 移植到 Linux。我早期的尝试是这里. 打印机不打印。

为了移植此驱动程序,我执行的步骤包括从 Mac OSX .dng 文件中提取 PPD 文件,删除 osx 特定条目,包括Attribute "APPrinterPreset"。我在从 c 编译和安装这些过滤器后,将 MacOSX 版本的过滤器更改为 rastertocanonij 和 cmdtocanonij2nijfilter2 源然后我制作了 .drv 文件并“编译”了一个新的 ppd。

不幸的是,cups 显示的错误消息是“过滤器不起作用”。在调试时设置 cups 的日志级别时,我发现了以下错误:

D [24/Apr/2017:23:22:40 +0530] [Job 38] 4 filters for job:
D [24/Apr/2017:23:22:40 +0530] [Job 38] envp[9]="PATH=/usr/lib/cups/filter:/usr/bin:/usr/sbin:/bin:/usr/bin"
I [24/Apr/2017:23:22:40 +0530] [Job 38] Started filter /usr/lib/cups/filter/bannertopdf (PID 26026)
I [24/Apr/2017:23:22:40 +0530] [Job 38] Started filter /usr/lib/cups/filter/pdftopdf (PID 26027)
I [24/Apr/2017:23:22:40 +0530] [Job 38] Started filter /usr/lib/cups/filter/gstoraster (PID 26028)
I [24/Apr/2017:23:22:40 +0530] [Job 38] Started filter /usr/lib/cups/filter/rastertocanonij (PID 26029)
D [24/Apr/2017:23:22:40 +0530] [Job 38] PID 26029 (/usr/lib/cups/filter/rastertocanonij) stopped with status 255 (Unknown error 155)
D [24/Apr/2017:23:22:40 +0530] [Job 38] PID 26026 (/usr/lib/cups/filter/bannertopdf) exited with no errors.
D [24/Apr/2017:23:22:40 +0530] [Job 38] PID 26027 (/usr/lib/cups/filter/pdftopdf) exited with no errors.
D [24/Apr/2017:23:22:40 +0530] [Job 38] envp[9]=\"PATH=/usr/lib/cups/filter:/usr/bin:/usr/sbin:/bin:/usr/bin\"
D [24/Apr/2017:23:22:40 +0530] [Job 38] PID 26028 (/usr/lib/cups/filter/gstoraster) exited with no errors.
E [24/Apr/2017:23:22:40 +0530] [Job 38] Job stopped due to filter errors; please consult the error_log file for details.
D [24/Apr/2017:23:22:42 +0530] [CGI] envp[9] = "PATH=/usr/lib/cups/filter:/usr/bin:/usr/sbin:/bin:/usr/bin"
D [24/Apr/2017:23:22:42 +0530] [CGI] cgiSetArray: job_printer_state_message[0]=\"Filter failed\"

在制作 cups 过滤器期间没有出现编译器错误。我不确定错误出在过滤器的哪个位置,或者这台打印机是否与这些过滤器不兼容,或者 ppd 文件中是否存在问题。

我该如何让我的打印机在 Ubuntu 中工作?请不要评论要求我请求佳能支持它。我已经通过支持和推特联系了他们。他们似乎不愿意。

答案1

Turboprint 于 2017 年 4 月发布了对佳能 G1000 的支持。我已更新我的问题还。

答案2

我正在回答我自己的问题,因为我最近找到了解决佳能不愿提供原生 Linux 驱动程序这一难题的方法。我问如何从 OSX 移植驱动程序,因为没有可用的原生驱动程序。

对于尝试安装佳能 G1000 和 G2000 的用户来说,选项仅限于以下几种:

  1. 编译并安装 gutenprint。Gutenprint 以前称为 Gimp-Print,是一套适用于 Linux 的打印机驱动程序。它的工作方式与本机驱动程序相同,并支持基于 cups 的打印。

  2. 购买第三方 Linux 打印驱动程序和实用程序 Turboprint。它也提供出色的支持。额外的好处是 GUI 可用于检查打印机后台处理,以及配置各种选项,如纸张类型、分辨率等。单个许可证的费用高达 34 美元。

如果您决定采用第一个解决方案,则步骤包括以下内容。我的系统是 Ubuntu Xenial 64 位。

首先,您需要一些开发标头。因此,如果您没有以下行,请将其添加到您的 sources.list 中。根据您的 Linux(Debian/Ubuntu)版本修改这些行:

deb http://jp.archive.ubuntu.com/ubuntu/ xenial-proposed main restricted universe multiverse 
deb-src http://jp.archive.ubuntu.com/ubuntu/ xenial-proposed main restricted universe multiverse 

更新您的源并安装构建依赖项:

sudo apt update
sudo apt-get build-dep cups-common gimp-gutenprint libgutenprint-dev
sudo apt-get install build-essential

现在从以下网址下载 gutenberg 的源发布包(版本 >=5.2.13)Sourceforge

wget https://sourceforge.net/projects/gimp-print/files/gutenprint-5.2/5.2.13/gutenprint-5.2.13.tar.bz2/download
tar xvf download
cd gutenprint-5.2.13

或者克隆 git repo。

git clone https://git.code.sf.net/p/gimp-print/source gimp-print-source
cd gimp-print-source

现在配置、制作和安装。

./configure
make 
sudo make install

来源:我的博客文章

相关内容