我有两台电脑要经常连接打印机,但因为WIndows共享会经常出一些这样那样的问题,所以大象网开始打算买个打印服务器,但看了看别人所谓的打印服务器无非是OpenWrt 和梅林固件,所以突然想到多年前我还有个Raspberry PI B,虽然也没有搞成功,不过是因为驱动的问题(我的打印机是三星SAMSUNGSCX-3401),所以这才有腾达AC9电信定制版进入CFE后反复掉线重启救砖成功(也是为了打印)。
Raspberry PI B买了很多年,忘记了怎么装系统,但记得当年是使用“Win32DiskImager”写入镜像,但搜索到官网使用Raspberry Pi Imager V1.62,不过我也没有成功,不知道是哪里操作不对,树莓派加电后只有一个红灯,最后还是在官网下载了两个镜像,然后使用Win32DiskImager写入成功(我有两个内存卡但主要使用一张闪迪Class 4倍速的4G内存卡,因为我虽然下载了两个系统但主要都是用精简版系统操作的)。
安装好系统后先要开启SSH,共有两种方法,一种是在内存卡内创建一个名为“ssh”的无后缀名的空白文件,另外一种方法如下,但好像我必须每次断电后都需要重新输入这条命令,Raspberry PI的默认用户为“pi”,默认密码为“raspberry”,终端中输入密码不显示字符。
sudo /etc/init.d/ssh start
编辑 `/etc/apt/sources.list` 文件,更换为国内的清华大学源。
pi@raspberrypi:~ $ sudo nano /etc/apt/sources.list
删除原文件所有内容,用以下内容取代:(nano 下编辑保存快捷键ctrl+x,再按键盘y,再按键盘Enter)。
deb http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ buster main non-free contrib rpi deb-src http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ buster main non-free contrib rpi
# 编辑 `/etc/apt/sources.list.d/raspi.list` 文件,更换为国内的清华大学源。
pi@raspberrypi:~ $ sudo nano /etc/apt/sources.list.d/raspi.list
删除原文件所有内容,用以下内容取代:(nano 下编辑保存快捷键ctrl+x,再按键盘y,再按键盘Enter)。
deb http://mirrors.tuna.tsinghua.edu.cn/raspberrypi/ buster main ui
#更新软件源列表
sudo apt-get update
#更新安装的包
sudo apt-get upgrade
这个过程中可能需要我们同意安装一些依赖包,按键盘“y”即可。
安装驱动和cups,我们可以看到这个驱动有hp,好像这个SCX-3401打印机就是hp代工的,因为官网有驱动可以下载,不过没什么卵用。
sudo apt-get install hplip sudo apt-get install cups
安装完cups之后,把pi用加到lpadmin。
sudo usermod -a -G lpadmin pi
安装完成后需要修改配置文件/etc/cups/cupsd.conf才能用。
sudo nano /etc/cups/cupsd.conf
将
Listen localhost:631
替换为
port 631
这样cups网页就能被其他网络访问了,接下来修改访问权限,比如大象网的局域网IP为192.168.1.*,只让cups服务器被局域网的机子访问,按照下面修改。
# Restrict access to the server... # By default only localhost connections are possible <Location /> Order allow,deny Allow From localhost Allow From 192.168.1.0/255.255.255.0 </Location> # Restrict access to the admin pages... <Location /admin> # Encryption disabled by default #Encryption Required Order allow,deny Allow From localhost Allow From 192.168.1.0/255.255.255.0 </Location> # Restrict access to configuration files... <Location /admin/conf> AuthType Basic Require user @SYSTEM Order allow,deny Allow From localhost Allow From 192.168.1.0/255.255.255.0 </Location>
nano 下编辑保存快捷键ctrl+x,再按键盘y,再按键盘Enter,然后重启cups服务。
sudo systemctl restart cups
现在我们要在CUPS打印服务器内中添加打印机,我们在浏览器中输入“https://树莓派的ip地址:631”,进入cups管理页面,点击Administration,输入账户密码,账户为pi,密码是你树莓派的密码。
点击Add Printer。
如果没有出现你的打印机一定是你没有给打印机通电,通电后刷新这个页面就可以了,一定要选择“Share This Print”。
下一步操作即可,但这个打印机驱动列表没有我的打印机,按照网上的说法随便选择一个型号类似的,我当时选择的3200,是不行的,还需要添加PPD文件,我从官网上下载的提取出来不行,国外官网下载的提取出来也不行,最后添加打印机什么都正常就是打印测试页面,能听到打印机内部会动几下,不过就是不打印。
最终我找到了这个3400的PPD文件Samsung SCX-3405W Cups PPD file · GitHub,会打印cups内部的测试页面,但比如我打印其他文件也会打印这个页面,这就尴尬了。
如果继续下一步的话,就是复制打印服务器中这个打印机的URL地址(去掉https中的s),然后在Windows中 添加打印机,不过我机器默认状态下就直接显示打印机了,就是不能打印~~~
友情提醒:主要就是Linux 的打印机驱动很……,在安装打印服务器的时候一定要先查好自己的打印机型号是否有驱动!!!