Ubuntu 16.04无法连接Windows共享打印机问题求助
我来帮你排查这个Ubuntu连接Windows共享打印机的问题,这类情况大多和SMB协议兼容性或者权限配置有关,给你几个针对性的解决步骤:
先检查SMB协议版本兼容性
Ubuntu 16.04默认的SMB客户端可能倾向于使用SMBv1,但现在多数Windows系统出于安全考虑已经禁用了SMBv1。你可以先确认共享打印机的Windows电脑启用了SMBv2或更高版本,然后在Ubuntu里配置强制使用高版本SMB:
编辑SMB配置文件:sudo nano /etc/samba/smb.conf
在文件末尾添加以下内容:client min protocol = SMB2 client max protocol = SMB3保存退出后重启SMB服务:
sudo service smbd restart验证Windows端的共享权限
确保共享打印机的Windows电脑给访问账户开放了足够权限:- 右键共享的打印机 → 打印机属性 → 共享选项卡,确认“共享这台打印机”已勾选,共享名尽量用英文(避免编码兼容问题)
- 切换到“安全”选项卡,添加Authenticated Users或者Guest账户,赋予“打印”和“管理文档”的权限
- 检查Windows本地安全策略:确保“拒绝从网络访问这台计算机”列表里没有Guest或你的Ubuntu登录账户
手动添加打印机(跳过自动发现的坑)
自动发现偶尔会出现协议适配问题,试试手动指定路径添加:- 打开Ubuntu系统设置 → 打印机 → 点击「添加」按钮
- 选择「Windows打印机 via SAMBA」选项
- 手动输入打印机的SMB路径,格式为:
smb://[Windows电脑IP]/[打印机共享名](比如smb://192.168.1.100/HP_M203dw) - 选择合适的驱动:如果系统自带驱动无效,可从打印机官网下载对应Linux版本的PPD文件,手动指定该文件作为驱动
- 完成添加后,打印测试页验证
用命令行调试连接问题
如果还是无法连接,用smbclient命令测试Ubuntu与Windows共享的连通性:
运行命令:smbclient //[Windows电脑IP]/[打印机共享名] -U [Windows用户名]
输入Windows用户密码后,若能进入交互界面,说明SMB连接正常,问题大概率出在打印机驱动或CUPS服务;若连接失败,命令会给出具体错误提示(比如权限不足、协议不支持),可根据提示进一步排查检查Ubuntu的打印服务状态
确保CUPS打印服务正常运行:sudo service cups status
如果服务未启动,执行启动命令:sudo service cups start
也可以尝试重启CUPS服务:sudo service cups restart
内容的提问来源于stack exchange,提问作者Atomskcs

