适用:银河麒麟 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 直连打印机

步骤

  1. 插上 USB,开机
  2. 设置 → 打印机 → 添加 → 应该能看到它
  3. 没看到 → 检查:
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 条最有用的话