适用:银河麒麟 V10 / 统信 UOS 20 / Ubuntu 22.04+ 耗时:约 40 分钟(打印机是最费时的) 前置:D4(会装软件、会看终端报错)
这一天的成功率最低。先说结论:网络打印机大概率能成,USB 老打印机看运气,扫描仪最麻烦,共享文件夹要懂一点命令行。 不成功不是你的问题,是驱动生态的历史欠账。
一、先搞清楚你的打印机是什么类型
这一步决定了后面走哪条路。
# 看系统有没有识别到 USB 打印机
lsusb | grep -iE "printer|hp|canon|epson|brother|samsung|xerox"
三种情况:
| 情况 | 特征 | 走哪节 |
|---|---|---|
| 网络打印机(有 IP) | 单位局域网里,能 ping 通 | §二 |
| USB 直连打印机 | 插在这台电脑上 | §三 |
| 共享打印机(挂在别人 Windows 电脑上) | 别人的电脑共享出来 | §四 |
二、网络打印机(成功率最高)
步骤
1. 先拿到打印机 IP
问 IT,或者在打印机面板上按"菜单 → 网络设置 → IP 地址"看。一般是 192.168.x.x。
2. 确认能通
ping 192.168.1.50
ping 不通 → 网络问题,先解决网络,别折腾打印机。
3. 图形界面添加(推荐先试这个)
设置 → 打印机 → 添加打印机 → 选"网络打印机" → 输入 IP → 系统自动搜索驱动 → 添加。
麒麟/UOS 的打印机设置界面和 Windows 很像,大部分情况这一套就完了。
4. 找不到驱动怎么办(老打印机常见)
按品牌装驱动:
# HP(覆盖面最广,强烈建议装)
sudo apt install hplip hplip-gui
# 装完运行
hp-setup
hp-setup 是图形向导,选"网络打印机",输入 IP,它会自己下驱动。
# Brother
# 官网下 .deb 驱动包,两个都要装:
sudo apt install ./brlaser_*.deb
sudo apt install ./brscan*.deb
# Canon
# 官网 Linux 驱动,注意必须下"对应你系统版本"的
# Epson
sudo apt install printer-driver-escpr
5. 通用备选:如果品牌驱动都没有
用 CUPS 通用驱动:
sudo apt install cups cups-client
# 浏览器打开 CUPS 管理界面
# http://localhost:631
在网页界面里添加打印机,驱动选 “Generic PostScript” 或 “Generic PCL”。能打印,但可能没有双面、彩色的高级选项。
国产打印机(奔图 Pantum 等)
奔图有官方 Linux 驱动,官网"服务支持 → 下载中心 → Linux",按架构下 deb/rpm。装完必须重启 CUPS:
sudo systemctl restart cups
三、USB 直连打印机
步骤
- 插上 USB,开机
- 设置 → 打印机 → 添加 → 应该能看到它
- 没看到 → 检查:
lsusb | grep -i printer
- 有输出 → 系统认到了,是驱动问题,按上面"找不到驱动"处理
- 没输出 → 换 USB 口(台式机换机箱后面),换线
常见坑
Q:认到了,但状态一直是"暂停"
# 看打印机队列
lpstat -p -d
# 取消暂停
cupsenable 打印机名
Q:打出来是乱码 / 空白页 驱动选错了。删掉重新添加,换一个驱动(同一个型号常有多个驱动选项,从"推荐"往下试)。
四、共享打印机(挂在别人 Windows 电脑上)
这个要装 Samba 客户端。
sudo apt install smbclient cifs-utils
图形界面方法
文件管理器 → Ctrl + L → 输入:
smb://192.168.1.100
(换成共享那台 Windows 的 IP)→ 回车 → 输用户名密码 → 能看到共享的打印机 → 右键"连接"。
命令行方法(更可靠)
# 1. 看对方共享了什么
smbclient -L //192.168.1.100 -U 用户名
# 2. 添加打印机(需要知道共享名,比如 HP1020)
sudo lpadmin -p HP1020 -v "smb://用户名:密码@192.168.1.100/HP1020" \
-m everywhere -E
⚠️ 密码里如果有
@:/等特殊字符,要先做 URL 编码,否则会解析错。
成功率提示:Windows 共享打印机在 Linux 上时好时坏,取决于对方 Windows 版本和 SMB 协议版本。如果单位还在用 SMBv1(Win7/XP),Linux 新版默认禁用,需要手动开:
# 编辑
sudo nano /etc/samba/smb.conf
在 [global] 下加:
client min protocol = NT1
然后 sudo systemctl restart smbd。
⚠️ SMBv1 有严重安全漏洞,只在单位内网临时用,别在公网环境开。
五、共享文件夹(Windows 共享盘)
单位通常有个"共享盘"放公共文件。
临时访问(用完就没)
文件管理器 → Ctrl + L → 输入:
smb://192.168.1.100/共享文件夹名
输账号密码即可。
永久挂载(开机自动连)
1. 建挂载点
sudo mkdir -p /mnt/share
2. 把密码存进凭据文件(避免明文写进 fstab)
sudo nano /root/.smbcred
内容:
username=你的用户名
password=你的密码
domain=WORKGROUP
sudo chmod 600 /root/.smbcred
3. 编辑 fstab
sudo nano /etc/fstab
加一行:
//192.168.1.100/共享文件夹名 /mnt/share cifs credentials=/root/.smbcred,iocharset=utf8,uid=1000,gid=1000,nofail 0 0
4. 测试
sudo mount -a
ls /mnt/share
nofail很重要:网络不通时不会导致开机卡住。
六、扫描仪
最麻烦的一环,因为扫描仪驱动生态比打印机还差。
先查支持情况
# 看系统认不认
lsusb | grep -iE "scanner|canon|epson|hp|brother"
# 装 SANE(Linux 扫描标准)
sudo apt install sane-utils simple-scan
测试:
scanimage -L
- 列出了设备 → 有戏,打开
simple-scan(开始菜单搜"扫描")直接用 - 没列出 → 驱动问题
常见品牌
# HP 多功能一体机(扫描走 hplip,装了打印机驱动就带了)
sudo apt install hplip-gui
hp-scan
# Epson
sudo apt install sane-airscan iscan
# Brother
# 官网下 brscan4 驱动
sudo apt install ./brscan4-*.deb
sudo brsaneconfig4 -a name=MyScanner model=MFC-xxxx ip=192.168.1.50
# 通用:网络扫描仪(很多现代扫描仪支持 eSCL/AirScan 协议)
sudo apt install sane-airscan
scanimage -L # 装完再试一次,能发现很多"不支持"的机器
sane-airscan值得一试 —— 它支持现代网络扫描仪的通用协议,很多"Linux 不支持"的机器装完它就认到了。
实在不行
手机拍照 + 扫描类 App,或者找一台 Windows 电脑扫完发过来。这不是认输,这是性价比。
七、验证:你过关了吗
-
lpstat -p -d能看到你的打印机,状态不是"暂停" - 成功打印一页测试页(别浪费纸,打一页就行)
- 能访问单位的共享文件夹
- 扫描仪如果搞不定,至少知道卡在哪一步
八、不行怎么办
Q1:打印任务发出去了,打印机没反应
# 看队列有没有卡住的任务
lpstat -o
# 取消所有任务
cancel -a
# 重启打印服务
sudo systemctl restart cups
Q2:报 The printer is not responding
# 确认网络
ping 打印机IP
# 确认 9100 端口通(绝大多数网络打印机用这个)
nc -zv 打印机IP 9100
Q3:装完驱动,打印机列表里还是看不到
# 重启 CUPS 并重新搜索
sudo systemctl restart cups
# 强制重新探测
sudo lpinfo -v
Q4:打印出来字体变成方块 中文字体缺失:
sudo apt install fonts-wqy-zenhei fonts-wqy-microhei
Q5:单位有专门的打印管理软件(如"XX 打印管理系统") 这种必须用单位提供的 Linux 版客户端,自己配 CUPS 是绕不过去的。找 IT 要安装包。
九、今天不用管的事
- ❌ 不用管 PostScript / PCL / UFRII 这些打印语言的原理
- ❌ 不用折腾扫描仪的 OCR(后面用到再说)
- ❌ 不用管
system-config-printer这类老工具
← 上一篇 D4|微信、钉钉、输入法 下一篇 → D6|命令行第一次:10 条最有用的话