一、前置准备:安装CUPS打印服务
CUPS(Common Unix Printing System)是Debian系统下管理打印机的核心服务,需先安装并启动:
sudo apt-get update
sudo apt-get install cups cups-client cups-bsd foomatic-filters # 安装CUPS及常用组件
sudo systemctl start cups # 启动CUPS服务
sudo systemctl enable cups # 设置开机自启
若使用HP打印机,还需额外安装hplip驱动包:
sudo apt-get install hplip hplip-gui
二、解决权限问题(避免无法添加打印机)
默认情况下,仅root和lpadmin组用户可在CUPS Web界面添加打印机。若使用普通用户(如linaro、debian),需完成以下操作:
lpadmin组:sudo usermod -aG lpadmin <用户名> # 替换<用户名>为实际账户名
三、添加USB打印机(最常见场景)
lsusb # 查看USB设备列表
dmesg | grep usb # 检查内核是否识别到打印机
lpinfo -v # 列出可用打印设备(正常应出现类似/dev/usb/lp0的输出)
http://localhost:631,登录后进入“Administration”→“Add Printer”,选择USB打印机(如“HP DeskJet 2130”),按照提示完成配置。lpadmin工具快速添加,例如:sudo lpadmin -p MyUSBPrinter -E -v usb://HP/DeskJet_2130?serial=XXXX -m everywhere
其中:-p指定打印机名称(自定义),-E启用打印机,-v指定设备URI(通过lpinfo -v获取),-m everywhere使用通用驱动(适用于大多数USB打印机)。四、添加网络打印机(局域网共享)
192.168.1.100),搜索到后选择对应型号并配置。sudo lpadmin -p NetPrinter -E -v ipp://192.168.1.100/ipp/print -m everywhere
其中-v指定IPP协议的设备URI(格式为ipp://<打印机IP>/ipp/print)。五、配置共享打印机(供局域网其他设备使用)
若需让Windows、Linux等其他设备使用Debian主机的打印机,需修改CUPS配置文件:
/etc/cups/cupsd.conf:sudo nano /etc/cups/cupsd.conf
Listen 0.0.0.0:631 # 允许所有IP访问CUPS服务
<Location />
Order allow,deny
Allow all # 允许所有客户端访问
</Location>
<Location /admin>
Require user @SYSTEM linaro # 允许指定用户(如linaro)管理打印机(根据实际情况调整)
</Location>
sudo systemctl restart cups
其他设备添加打印机时,输入Debian主机的IP地址和端口(如http://192.168.1.100:631/printers/MyUSBPrinter)即可搜索到共享打印机。
六、测试打印
添加完成后,可通过以下方式验证打印机是否正常工作:
echo "Hello from Debian Printer" | lp -d MyUSBPrinter # 替换为实际打印机名称
七、常见问题排查
/etc/cups/cupsd.conf中是否启用了WebInterface Yes和Listen *:631,并确认防火墙未阻止631端口。usblp模块(运行lsmod | grep usblp,若未加载则执行sudo modprobe usblp)。lpadmin组,并重新登录系统。