树莓派部署 CUPS 实现局域网共享打印机

Raspberry-Pi

测试环境

部署

准备

其实我一开始用的是lite版,但因为出现了wifi无法连接的问题换成了带桌面的,其实对命令行很熟悉的话lite会更好一点。

系统

打开balenaEtcher,选定镜像文件,点击Flash。 之后会有两个阶段,默默等待即可。 软件 拷贝 烧录 结束

[scode type="lblue"]烧录完成后需要重新插拔才能显示盘符[/scode]

树莓派的基本设置

通过SSH连接树莓派

目前树莓派官方说出于安全考虑,将Raspbian的SSH设置成了默认关闭状态。

要开启Raspbian OS的SSH,其实方法简单到不能再简单了,没有显示器,我们只能放弃NOOBS转而使用烧录系统的方法,那么,在烧录完成后,在Boot的根目录新建一个名为SSH的无扩展名的空文件即可。

之后推出TF卡,放入树莓派。

用网线把树莓派和路由器连接起来,然后上电。这样做是为了先通过以太网SSH连接来完成了相关的设置比如wifi,字符集等,等到连上wifi就可以断开以太网连接。

[scode type="share"]其他方法连接SSH参见如果没有显示器如何愉快玩树莓派|明明白白玩 Pi 系列之二 (opens in a new tab)[/scode]

不知道IP地址,可以使用下面的命令连接(推荐,简单方便)

这个命令的含义是:使用SSH方式连接 用pi账户登录 设备hostname为raspberrypi 在本局域网中

也可以通过路由器查看树莓派的IP地址之后就可以用下面命令 图片已经经过隐私处理

这条命令的含义和上面一个差不多,只是略有变化:使用SSH方式连接 用pi账户登录 目标设备IP地址

第一次连接会出现验证,输入yes后按回车就好

[scode type="red"]同一ip存在记录的,需要进行清理。[/scode]

之后会提示输入密码

咱们的默认账户是:pi

pi账户的默认密码是:raspberry

之后看见绿色的命令行就成功连接树莓派了

[collapse title="以下是我记录,供参考" status="false"]

Last login: Sun May  3 15:38:35 on ttys000
shinezhang:~ Grandmasters$ ssh [email protected]
The authenticity of host '10.0.0.10 (10.0.0.10)' can't be established.
ECDSA key fingerprint is SHA256:Jyi77aaKvENf6omAJFvbSOfcb9xqQ0gMSNOTVHBAjQ4.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '10.0.0.10' (ECDSA) to the list of known hosts.
[email protected]'s password:
Linux raspberrypi 4.19.97-v7+ #1294 SMP Thu Jan 30 13:15:58 GMT 2020 armv7l

The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Thu Feb 13 16:17:03 2020

SSH is enabled and the default password for the 'pi' user has not been changed.
This is a security risk - please login as the 'pi' user and type 'passwd' to set a new password.


Wi-Fi is currently blocked by rfkill.
Use raspi-config to set the country before use.

pi@raspberrypi:~ $ sudo su
root@raspberrypi:/home/pi# raspi-config
New password:
Retype new password:
passwd: password updated successfully
OK
Created symlink /etc/systemd/system/multi-user.target.wants/vncserver-x11-serviced.service → /usr/lib/systemd/system/vncserver-x11-serviced.service.
root@raspberrypi:/home/pi#
root@raspberrypi:/home/pi# raspi-config

[/collapse]

系统设置

通过SSH连接到树莓派后,执行'sudo raspi-config'进行系统配置,主要配置以下几个方面,顺序并不重要:

在连上wifi后,我们已经能在路由器中获取树莓派无线网卡的MAC地址,接着建议做一个IP绑定这样不会因为重启路由器而改变IP地址,一般在路由器DHCP设置中去找。 这里是网件路由器刷梅林固件的手机客户端

更新软件源

分别修改 2 个软件源,这是第 1 个:

sudo nano /etc/apt/sources.list

删除或注释全部内容,添加以下内容:

deb http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ stretch main contrib non-free rpi
deb-src http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ stretch main contrib non-free rpi

修改第 2 个软件源:

sudo nano /etc/apt/sources.list.d/raspi.list

删除或注释全部内容,添加以下内容:

deb http://mirror.tuna.tsinghua.edu.cn/raspberrypi/ stretch main ui
deb-src http://mirror.tuna.tsinghua.edu.cn/raspberrypi/ stretch main ui

最后,更新一下软件源:

sudo apt-get update

[scode type="red"]网址末尾的raspbian重复两次是必须的。因为Raspbian的仓库中除了APT软件源还包含其他代码。[/scode] [scode type="yellow"]使用HTTPS可以有效避免国内运营商的缓存劫持,但需要事先安装'apt-transport-https'[/scode]

共享打印机

其实,这一步的工作量非常少,因为软件包 CUPS 就是为共享打印机而生。我们要做的只是将打印机用 USB 线缆连接树莓派,然后安装并配置 CUPS。

sudo apt-get install cups

Raspbian 系统会自动安装相关依赖,包括打印机驱动。安装完成后,需要将用户加入到 lpadmin 用户组,然后开启 CUPS 的远程访问权限。

sudo usermod -a -G lpadmin pi
sudo cupsctl --remote-any

这时候,在局域网内任何一台电脑或手机的浏览器中,访问树莓派的 631 端口,如:http://192.168.1.XX:631,就可以进入基于网页的 CUPS 配置界面。

依次点击「Administration」-「Add Printer」按照提示配置即可。需要注意的是,打印机的 Description 尽量写的短小精悍一点,比如就叫 printer1 ,后面会用到。配置完成后,可以点击「Print Test Page」来打印测试页,如果一切正常,就意味着可以在其他设备上使用这台打印机了。

使用

macOS 以及 iOS 设备使用打印机

CUPS 是由苹果公司开发并开源的,这意味着使用苹果系设备远程打印,几乎可以不用对自己的设备进行配置。对于 macOS ,依次点击「设置」-「打印机与扫描仪」-「+」,添加列出的共享打印机即可。对于 iOS,在需要打印时,依次点击「分享」-「打印」,就能选择打印机并直接打印。

但是,苹果系设备可能会碰到一些问题,比如一段时间后打印机就消失了,导致无法使用。本问题可能由 Bonjour 协议所导致,如果碰到了,请在树莓派上再次执行如下命令,可以在短时间内解决问题,但无法根治:

sudo cupsctl --remote-any

Windows 设备使用打印机

相对于苹果系设备,Windows 使用共享打印机前的配置就稍微麻烦了一点。依次进入「控制面板」-「硬件和声音」-「设备和打印机」-「添加打印机」,然后直接点击 「我所需的打印机未列出」,选择「按名称选择共享打印机」,输入打印机IP:端口/printers/Description,如http://192.168.1.XX:631/printers/printer1,然后在弹出的窗口选择打印机品牌和打印机型号,即可成功配置。如果找不到品牌和型号,请先去打印机官网下载安装驱动程序。现在,当你需要打印时,就可以选择这台远程打印机了。

非常幸运的是,Windows 环境下的远程打印机非常稳定,不会碰到打印机消失之类的问题。

Android 设备使用打印机

安卓请安装一款叫mopria的软件。打开之后会自动搜索局域网中的打印机非常的方便。 在此放几张图大家感受一下。 Img_2020-05-03-06-02-27.png Img_2020-05-03-06-03-36.png

参考

如果没有显示器如何愉快玩树莓派|明明白白玩 Pi 系列之二 (opens in a new tab)

如何正确地用树莓派共享打印机 (opens in a new tab)

Linux赋权chmod (opens in a new tab)

树莓派(raspberrypi)常用系统镜像高速下载 (opens in a new tab)

关于树莓派各大资源下载 (opens in a new tab)

[折腾向]树莓派3B+安装系统(Raspbian)以及配置环境 (opens in a new tab)

(八)树莓派3B+ Mac安装树莓派系统 原创 (opens in a new tab)

树莓派更新清华源 (opens in a new tab)

Copyright © 2018 - 2023 AprilNEA's Blog