概述

购买二手较新的爱普生打印机,型号L3109,在安装gutenprint后发现没有对应的机型(gutenprint最后一次更新2019年已经很久没更新机型了),使用其他老款机型(测试使用L310-gutenprint)能够打印,但是会导致纸张打印错位。
在官方Linux驱动下载网站EPSON Download Center可以找到Linux对应的驱动(我这款机器安装的是通用驱动,安装完成后有比gutenprint多得多的机型选择,几乎涵盖广泛)。

通用驱动展示

机型展示

踩坑情况

  1. gutenprint使用老款机型发现可以打印,非常开心,结果打印出来发现打印页面整体向上偏移,出现A4纸不支持无边距打印的情况下,做到无边界打印(win驱动都没有这个选项),且打印速度很慢。(左边

请添加图片描述

  1. 我使用闲鱼二手海思机顶盒,ARM芯片刷了Linux系统,充当小型服务器。在官网发现居然有ARM版本,开始欣喜若狂,结果安装后CUPS打印结果出现“Filter failed”,查看log发现部分文件确实,裂开了,偷懒走不通。
  2. 在ARM版本下载有两个文件,第一个是已经编译好的deb,第二个是压缩包,需要自己编译,里面有一个README,但是README的操作没告诉坑点(需要安装部分依赖包)。

过程记录

安装CUPS

apt install cups

这一步没啥好说的,Linux的打印机服务基本靠这个。(默认端口631)

注:你可以使用apt install printer-driver-gutenprintapt来安装gutenprint,它包含众多厂商老机型(既然看了这个帖子,想必这个gutenprint里面没有你想要的机型)。

⚠️注意点

默认cups只能在本机使用网页端,如果需要使用其他设备访问,需要修改配置文件。

使用vim /etc/cups/cupsd.conf修改CUPS配置文件。
在这里插入图片描述
注:Allow 192.168.0.0/16中的192.168.0.0/16表示本地网段下面皆可,如果不希望限制本地网段,可以直接填all

之后重启CUPS服务systemctl restart cups确保使用更新后的配置。

寻找驱动

使用APT在线安装(优先)

apt install printer-driver-escpr

注:安装成功就可以在CUPS选择驱动,如果安装失败,可能需要安装lsb

apt install lsb

直接用编译好的deb安装

有两种安装方式:①安装提前编译好的deb包,②编译安装
由于第一次下载的deb包安装后无法正常使用,所以我才用第二种编译安装,你们可以先使用第一种安装deb包,不行再使用第二种。第一种直接使用apt安装或dpkg安装(官方安装手册Epson Inkjet Printer Driver 2 (ESC/P-R) for Linux Manual
)这个安装手册就是README。

编译安装

下载

在之前提供的网站EPSON Download Center搜索自己的机型,找到对应的驱动压缩包(tar.gz)。

上传

使用scp命令上传(需要在自己电脑上操作),你也可以使用各种神奇上传工具进行上传。
scp <本地文件路径> <用户名>@<地址>:<服务器目录>
样例:
scp "E:\Download\epson-inkjet-printer-escpr-1.7.21.tar.gz" root@192.168.1.100:/root

解压

使用tar命令解压。
tar -zxvf <文件名称或路径>
样例:
tar -zxvf epson-inkjet-printer-escpr-1.7.21.tar.gz
执行完毕后有有一个解压后的文件夹,进入文件夹后即可以开始进行编译。

准备

我在编译阶段安装过的包(并不能够确定哪些包是一定需要的,因为排错试了太多了doge):

apt install make
apt install autoconf
apt install libtool
apt install libcups2-dev
apt install libcupsimage2-dev
# foomatic不一定需要
apt install foomatic

首先在进入解压后的文件夹后,大致样子如此:
在这里插入图片描述
之后执行官方命令./bootstrap && ./configure --prefix=/usr来执行两个bash。

注:我在这之中遇到两个问题。

  1. bootstrap文件无法执行,因为没有授予权限,使用chmod ugo+x bootstrap命令即可给文件提供执行权限。
  2. bootstrap运行后出现缺失compile等文件,此时它提示可以执行automake --add-missing命令即可安装相应的文件。你的所在的这个目录也会多出这些对应的文件。
    重点:在这之后不用再执行bootstrap这个文件了,因为它会删除刚刚automake所安装的文件,然后继续提示你缺少这个文件(魔幻行为)。
  3. 在安装完成后,直接执行后半部分./configure --prefix=/usr命令,在一通刷屏后,你就可以开始编译了。
编译

继续在这个目录下面使用make命令进行编译。

① 执行make命令。

之后便是一顿刷屏,会出现很多Waring的提示,不用管,只要没有**Fatal Error(致命错误)**就没事。

注:此处遇坑,在编译过程中缺少cups.h头文件(啊这手册也不说)。需要安装libcups2-devlibcupsimage2-dev这两个包。

# 这两个命令在准备阶段也出现过,安装了用不用在执行了
apt install libcups2-dev
apt install libcupsimage2-dev

出现Waring没事
在这里插入图片描述

最后的结尾部分
在这里插入图片描述

② 执行make install命令

如果之前执行正确。在一顿刷屏之后,应该是没有报错的。

至此,编译安装完成。

添加打印机

如果使用命令行,请自行参考官方手册(可能看不懂)

使用网页端进行添加

① 登录网页端(IP:631)

在这里插入图片描述
这里我选择Add Printer,你选择Find New Printers也可以,需要等待一段时间进行扫描。
在这里插入图片描述
之后勾选你连接的打印机,点击Continue继续。

② 接下来你可以输入打印机的名字与注释,Location可以不用填写,如果用于远程打印,务必勾选Share This Printer
在这里插入图片描述
在完成后点击Continue。

③ 之后重要环节就是选择打印机型号,在下方的Model中找到自己的机型(如果你之前使用自动发现创建打印机,可能需要选择Make制造商)。
在这里插入图片描述
选好Model后便可以点击Add Printer,添加打印机。

④ 之后便可以选择自己的默认设置,完成后你就可以在Linux上使用打印机了(远程访问,AirPrint也可以,前提勾选Share This Printer)。

打印测试页

在网页端的顶部Printers,选择打印机进入后,你可以选择打印测试页测试功能是否正常。
在这里插入图片描述
接下来便会打印一张测试页,如果在下方Jobs中提示进度,表示可以正常发送,当打印机打印正确的测试页后,至此,CUPS已经设置完成。你可以在windows中添加设备或者在ios,android设备中搜索到该打印机。

🎈提示

  1. 如果打印不出来测试不代表不能远程连接(多半驱动问题),如果实在找不到型号,无法打印测试页。你可以使用Windows连接打印机,在控制面板,添加打印机时,手动添加,将打印测试页所在的网址,如https://IP:631/printers/EPSON_L3100_Series,修改httpshttp(否则存在证书问题),在Windows手动添加中输入,如http://IP:631/printers/EPSON_L3100_Series后,选择对应的驱动(此时使用的是Windows的驱动,而不是Linux中的)便可正常远程连接打印,只是AirPrint功能失效(因为Linux驱动无法使用)。
  2. 官网通用驱动存在问题:纸张类型不足,在ipad自带的打印,选择的打印尺寸只有几种常规的普通纸A4,B5等,相纸的尺寸几乎没有,随后发现爱普生L3100系列的Mac驱动,其下载并不是L3100驱动,而是ET4100,于是我在CUPS中选择使用ET4100,同样可以正常打印,功能正常,并且纸张选择类型多了许多,存在的问题就是在打印照片时,打印介质只能自动,不能选择到照片纸,否则打印错位,顶着最左边打,直接超出范围,在无边界废墨盒上留下一滩墨水(严重怀疑可能时爱普生工程师发现相纸存在BUG,直接吧L3100系列的相纸砍了)。其实更推荐在ios使用小白智慧打印或者小白作业打印APP可以无视尺寸问题,打印功能免费,可以一键排版证件照,打印照片也可以进行打印预览调整(打印结果正常),非常不错。打印照片相比直接使用ipad系统打印,精细度高不少(慢不少)。
Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐