假设,...
- 你有一台运行 OS X 的 Mac(Book),
- 这台 Mac 的主机名是
mymac
,
- 它的 IP 地址是
192.168.111.111
,
- 它安装了一个名为的共享打印机
abcd
(不需要支持 AirPrint!),并且
- 打印机共享不需要身份验证(放入
DefaultAuthType none
)/etc/cups/cupsd.conf
,
...然后您可以让您的计算机充当abcd
iOS 客户端可用队列的 AirPrint 网关。
要测试这一点,只需在 Terminal.app 窗口中执行以下命令(注意,该命令不会返回 - 如果关闭 Terminal.app 窗口,该命令的效果将消失!)
dns-sd \
-P AirPrint-abcd \
_ipp._tcp,_universal \
local. \
631 \
mymac.local. \
192.168.111.111 \
pdl="application/pdf,image/urf" \
kind="document" \
priority="1" \
product="Model Name of my Printer" \
rp="printers/abcd" \
URF="DM3" \
Duplex="T" \
Color="T" \
note="Testing AirPrint via MacBook"\
txtvers="1" \
qtotal="1" \
printer-type="0x0480FFFC" \
printer-state="3" \
air="none" \
UUID="54321abc-1234-1234-abcd-1238e4bdcbf8"
您可以想出一个脚本或 cron 作业,每次启动 Mac 时在后台执行此命令。这留给读者作为练习。
此外,如果第一台 Mac 提供共享打印队列并且上述所有详细信息都与第一台 Mac 的设置相匹配,则您可以在同一网络上从第二台完全不同的 Mac 运行相同的命令。
背景资料:
dns-sd
命令行实用程序旨在为每个研究 Bonjour、mDNS(多播 DNS)和 DNS-SD(基于 DNS 的服务发现)的人提供测试和开发工具。
-P
参数 todns-sd
将向您的本地 LAN/WLAN 发出 Bonjour“代理公告” 。该公告将告诉潜在的 AirPrint 客户以下信息:
.local.
您的域中有可用的 AirPrint 设备。
- 它的名字是
Airprint-abcd
。
- 它可以通过 IP 地址
192.168.111.111
和端口访问631
。
- 使用打印队列名称
printers/abcd
打印到它。
- 它可以使用 PDF 和 URF 光栅文档。
- 它不需要身份验证。
- 它可以输出双面和彩色文档。
有关此实用程序的详细信息,请参阅man dns-sd
。有关更多背景信息,请参阅dns-sd.org和我对类似问题的其他答案。