無法讓 Mac 對 CUPS 列印佇列執行 dns-sd

無法讓 Mac 對 CUPS 列印佇列執行 dns-sd

我正在嘗試建立 DNS 記錄,以便我們網路上的 Mac 可以透過 dns-sd 自動偵測可用的印表機(由於我們的 WAN 環境,單獨廣播不是選項)

如果我透過「IP->cups.server.name->/printers/queueName」手動「新增」CUPS IPP 佇列,則一切正常,但如果我新增適當的 PTR/SRV DNS 記錄,則不會

嗅探器顯示 Mac 正在執行 _dns-sd._udp.XXXX 查找、找到 cups 伺服器、執行 TXT 查找以獲取隊列詳細信息,一切都很好。但是當我列印到這個新佇列時,嗅探器顯示它以「POST / HTTP」而不是「POST /printers/queueName」連接到 cups IPP 伺服器 - 當然,cups 會回應「找不到印表機或類別」 。然後列印作業在 Mac 上暫停

「rp=printers/queueName」(不含前導「/」)肯定在 TXT 記錄中,但看起來 Mac 根本忽略了它?

;;答案部分:queueName._ipp._tcp.our.domain。 1800 IN TXT "\"txtvers=1\" \"qtotl=1\" \"URF=none\" \"product=(通用 PostScript 印表機)\" \"ty=通用 PostScript 印表機\" \"note=Jason測試\" \"透明=t\" \"份數=t\" \"雙工=t\" \"顏色=t\" \"pdl=application/postscript\" \"rp=printers/queueName\ ""

我錯過了什麼想法嗎?

答案1

我可以回答我自己的問題

問題是我們使用 Microsoft DNS,您在製作 dns-sd TXT 記錄時必須小心。它們通常以以下格式報告

1800 IN TXT "txtvers=1" "qtotl=1" "URF=none" "product=(Generic PostScript Printer)" "ty=Generic PostScript Printer" "note=Jason Test" "transparent=t " "copies=t " “duplex=t” “color=t” “pdl=應用程式/postscript” “rp=印表機/佇列名稱”

....但是如果你看看我上面的問題,你會發現它們充滿了“\””字元 - 這搞砸了Mac(實際上可能是任何客戶端)

訣竅是在使用 Microsoft DNS GUI 時,輸入這些不含引號的多短語 TXT 記錄,然後在各個位元之間按 Enter 鍵。 IE

    txtvers=1
    qtotl=1
    product=(Generic PostScript Printer)
    URF=none

一旦我更改了記錄,Mac 就愉快地吞噬了元數據,甚至沒有提示我輸入列印驅動程式並成功列印。 :-)

相關內容