树莓派部署 CUPS 实现局域网共享打印机
测试环境
- MacBookPro 2015 Early
- macOS HighSierra
- Sandisk 8GB
- Raspberry Pi 3B+ Plus
- Raspbian 4.19.97-v7
- NETGEAR R8000~梅林
部署
准备
- 烧录软件-balenaEtcher 下载链接:https://www.balena.io/etcher/Raspbian (opens in a new tab))
- 树莓派镜像-Raspbian 桌面版下载链接:http://downloads.raspberrypi.org/raspbian_latest (opens in a new tab) Lite 版(无桌面)下载链接:https://downloads.raspberrypi.org/raspbian_lite_latest (opens in a new tab) 默认帐号:Username: pi Password: raspberry
其实我一开始用的是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
- 开启 SSH
- 开启 VNC(非必要方便修改文件)
- 扩展文件系统
- 设置键盘布局,依次选择 「Generic 101-key PC」-「Other」-「English(US)」-「 English(US)-English(US,alternative international)」
- 设置 locale,去掉「en_GB.UTF-8」,选中「en_US.UTF-8」;
在连上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的软件。打开之后会自动搜索局域网中的打印机非常的方便。 在此放几张图大家感受一下。
参考
如果没有显示器如何愉快玩树莓派|明明白白玩 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)
Copyright © 2018 - 2023 AprilNEA's Blog