EPSON/爱普生打印机Linux打印服务器基于ARM驱动安装踩坑CUPS实现支持远程打印AirPrint
爱普生打印机型号L3109,在安装gutenprint后发现没有对应的机型使用其他老款机型(测试使用L310-gutenprint)能够打印,但是会导致纸张打印错位。在官方Linux驱动下载网站可以找到Linux对应的驱动(我这款机器安装的是通用驱动,安装完成后有比gutenprint多得多的机型选择,几乎涵盖广泛)。............
概述
购买二手较新的爱普生打印机,型号L3109,在安装gutenprint后发现没有对应的机型(gutenprint最后一次更新2019年已经很久没更新机型了),使用其他老款机型(测试使用L310-gutenprint)能够打印,但是会导致纸张打印错位。
在官方Linux驱动下载网站EPSON Download Center可以找到Linux对应的驱动(我这款机器安装的是通用驱动,安装完成后有比gutenprint多得多的机型选择,几乎涵盖广泛)。
通用驱动展示
踩坑情况
- gutenprint使用老款机型发现可以打印,非常开心,结果打印出来发现打印页面整体向上偏移,出现A4纸不支持无边距打印的情况下,做到无边界打印(win驱动都没有这个选项),且打印速度很慢。(左边
- 我使用闲鱼二手海思机顶盒,ARM芯片刷了Linux系统,充当小型服务器。在官网发现居然有ARM版本,开始欣喜若狂,结果安装后CUPS打印结果出现“Filter failed”,查看log发现部分文件确实,裂开了,偷懒走不通。
- 在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。
注:我在这之中遇到两个问题。
bootstrap
文件无法执行,因为没有授予权限,使用chmod ugo+x bootstrap
命令即可给文件提供执行权限。bootstrap
运行后出现缺失compile
等文件,此时它提示可以执行automake --add-missing
命令即可安装相应的文件。你的所在的这个目录也会多出这些对应的文件。
重点:在这之后不用再执行bootstrap
这个文件了,因为它会删除刚刚automake所安装的文件,然后继续提示你缺少这个文件(魔幻行为)。- 在安装完成后,直接执行后半部分
./configure --prefix=/usr
命令,在一通刷屏后,你就可以开始编译了。
编译
继续在这个目录下面使用make命令进行编译。
① 执行make
命令。
之后便是一顿刷屏,会出现很多Waring的提示,不用管,只要没有**Fatal Error(致命错误)**就没事。
注:此处遇坑,在编译过程中缺少cups.h头文件(啊这手册也不说)。需要安装libcups2-dev
,libcupsimage2-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设备中搜索到该打印机。
🎈提示
- 如果打印不出来测试不代表不能远程连接(多半驱动问题),如果实在找不到型号,无法打印测试页。你可以使用Windows连接打印机,在控制面板,添加打印机时,手动添加,将打印测试页所在的网址,如
https://IP:631/printers/EPSON_L3100_Series
,修改https
为http
(否则存在证书问题),在Windows手动添加中输入,如http://IP:631/printers/EPSON_L3100_Series
后,选择对应的驱动(此时使用的是Windows的驱动,而不是Linux中的)便可正常远程连接打印,只是AirPrint功能失效(因为Linux驱动无法使用)。 - 官网通用驱动存在问题:纸张类型不足,在ipad自带的打印,选择的打印尺寸只有几种常规的普通纸A4,B5等,相纸的尺寸几乎没有,随后发现爱普生L3100系列的Mac驱动,其下载并不是L3100驱动,而是ET4100,于是我在CUPS中选择使用ET4100,同样可以正常打印,功能正常,并且纸张选择类型多了许多,存在的问题就是在打印照片时,打印介质只能自动,不能选择到照片纸,否则打印错位,顶着最左边打,直接超出范围,在无边界废墨盒上留下一滩墨水(严重怀疑可能时爱普生工程师发现相纸存在BUG,直接吧L3100系列的相纸砍了)。其实更推荐在ios使用小白智慧打印或者小白作业打印APP可以无视尺寸问题,打印功能免费,可以一键排版证件照,打印照片也可以进行打印预览调整(打印结果正常),非常不错。打印照片相比直接使用ipad系统打印,精细度高不少(慢不少)。
更多推荐
所有评论(0)