我的同事有一台 Win XP 机器,上面有 USB 打印机,他想共享这台机器,并能从 Linux 机器上打印到这台打印机上。他已在 Win XP 机器上启用共享,并在 Linux 机器上安装了 SAMBA。但他根本没法从 Linux 机器上看到 Win XP 机器或打印机。要使用共享打印机,需要做什么?
Linux 机器是双启动,另一个操作系统是 Vista,能够打印到打印机。
答案1
您应该能够与 Windows 机器对话并使用以下命令索取共享打印机的列表:
smbclient -L rice -N
如果 Windows 命名服务不可用,您将需要使用 -I 开关指定 Windows PC 的 IP 地址,如下所示:
smbclient -I 192.168.1.25 -L rice -N
找到 Windows 打印机后,您可以配置 CUPS。首先使用以下命令验证您的 CUPS 安装是否具有 smb 后端:
ls -l /usr/lib/cups/backend/smb
如果此文件不存在,请通过以下命令创建它:
ln -s `which smbspool` /usr/lib/cups/backend/smb
以下是设置上面显示的打印机的示例:
lpadmin -p RicePrinter -v smb://rice/INKJET -P /root/inkjet.ppd
enable RicePrinter
accept RicePrinter
lpadmin -d RicePrinter
如果 Windows 命名服务不可用,请将开关 -h 后跟 Windows PC 的 IP 地址添加到第一个 lpadmin 命令,如下所示:
lpadmin -p RicePrinter -h 192.168.1.25 -i smb://rice/inkjet-P /root/inkjet.ppd
您的打印机现在可以测试了。使用 lp 命令后跟文件名将文件发送到打印机,或者从应用程序内打印文档。
- 请注意,此示例基于 Debian 系列发行版。
答案2
可能还有其他问题,因为对我来说,这一直是一个简单的菜单引导操作。他可能已经走了这条路,但这里
选择
系统 > 管理 > 打印 > 新建
此时打印机类型列表底部是“通过 SAMBA 的 Windows 打印机”
然后在打印机地址对话框中选择浏览,导航到共享打印机并选择它。
此时,它就像添加任何其他与驱动程序相关的 Linux 打印机一样(非常简单和即时,或者稍微多一点工作)。
然后打印一张测试页就可以了。
我刚刚在双启动电脑上完成了这些步骤,它和我在其他电脑上一样好用。正如我所说,可能还有其他问题,但这将是它应该如何工作的记录。