从 Ubuntu 到 Mac 共享打印机,以便可以通过浏览找到它

从 Ubuntu 到 Mac 共享打印机,以便可以通过浏览找到它

server我有一台运行 Ubuntu 10.10 的台式电脑,Canon通过 USB 连接了一台佳能 MX350 打印机。我想共享这台打印机,这样我就可以从运行 OS X 10.6.6 的 MacBook Pro 笔记本电脑以及可能还有其他各种客户端打印到这台打印机上。

(虽然打印机可以在网络上提供各种打印服务,但对我来说,它的工作非常不可靠,所以我关闭了它的网络功能。)

system-config-printer 程序很容易就找到了打印机,我能够在 上本地打印文件server。我启用了共享打印机,并在 Mac 上添加了打印机。我单击了“系统偏好设置”、“打印和传真”、“+”、“IP”。我选择 IPP 作为协议和server.home.gateway地址,对话框对此做出响应“有效且完整的地址”。(我的 ADSL 路由器为 提供该 DNS 地址server。)我将其写Canon为队列名称(也尝试将该字段留空),因为它在 上显示为该名称server

当我尝试打印时,Mac 上的打印机处于“暂停”状态。我启用了调试登录cupsd.conf并注意到以下错误消息:

Get-Printer-Attributes ipp://server.home.gateway:631/Canon
Get-Printer-Attributes client-error-not-found: The printer or class was not found.
Returning IPP client-error-not-found for Get-Printer-Attributes (ipp://server.home.gateway:631/Canon) from 192.168.0.2

(如果我将队列名称留空,则未找到的打印机只是ipp://server.home.gateway:631/

经过一番猜测和浏览 CUPS 文档后,我将队列更改为printers/Canon,然后打印开始工作。我很高兴它能正常工作,但这显然不是最佳选择:Mac GUI 中没有指示服务器上有哪些打印机队列可用。有没有办法设置打印服务器,以便客户端只需从可用打印机列表中选择打印机,并自动获取正确的队列名称?

答案1

检查 Ubuntu 服务器上的文件 /etc/cups/cupsd.conf 并查找以下Browse条目:

Browsing On
BrowseOrder allow,deny
BrowseAllow all
BrowseRemoteProtocols CUPS
BrowseAddress @LOCAL
BrowseLocalProtocols CUPS dnssd

它们应该位于文件顶部附近。确保浏览功能已打开,然后重新启动 cups:

# restart cups

答案2

我曾与各种 IPP 客户端发生过几次这样的争执,他们似乎就是不选择广播队列名称。然后,正如你所说的,当你手动指定正确的名称时,一切都正常。

值得检查的一件事是 CUPS 服务器声明的队列名称:

spk@hedvig:~$ sudo tcpdump -nv -s 1500 -A -c1 端口 631
tcpdump:在 eth0 上监听,链接类型 EN10MB(以太网),捕获大小 1500 字节
14:03:58.959617 IP(tos 0x0、ttl 64、id 0、偏移量 0、标志 [DF]、proto UDP(17)、长度 217)
    192.168.0.252.631 > 192.168.0.255.631:UDP,长度 189
呃......@[电子邮件保护]3 ipp://192.168.0.252:631/printers/hp-color-LaserJet-2550-series "hedvig" "HP-Color" "HP Color LaserJet 2550 系列 Postscript(推荐)" job-sheets=none,none lease-duration=300

上面的转储声称队列名称很长,但是,中间确实有一个 /printers/。我想知道那个白痴是谁给我的打印机起了这么长的名字……显然我当前的环境不需要经常手动输入它 ;-)

相关内容