Mac で CUPS 印刷キューに dns-sd を実行できない

Mac で CUPS 印刷キューに dns-sd を実行できない

ネットワーク上の Mac が dns-sd 経由で利用可能なプリンターを自動検出できるように DNS レコードを作成しようとしています (WAN 環境のため、ブロードキャストだけでは対応できません)

「IP->cups.server.name->/printers/queueName」経由でCUPS IPPキューを手動で「追加」すると、すべて正常に動作しますが、適切なPTR/SRV DNSレコードを追加すると、

スニファーは、Mac が _dns-sd._udp.XXXX 検索を実行し、cups サーバーを見つけ、TXT 検索を実行してキューの詳細をすべて取得していることを示しています。しかし、この新しいキューに印刷すると、スニファーは、cups IPP サーバーに「POST /printers/queueName」ではなく「POST / HTTP」として接続していることを示しています。もちろん、cups は「プリンターまたはクラスが見つかりませんでした」と応答します。その後、印刷ジョブは Mac で一時停止されます。

「rp=printers/queueName」(先頭の「/」なし) は確かに TXT レコードにありますが、Mac はそれを単に無視しているようです???

;; 回答セクション: queueName._ipp._tcp.our.domain. 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=application/postscript\" \"rp=printers/queueName\""

私が見逃したものについて何かアイデアはありますか?

答え1

私は自分の質問に答えることができる

問題は、Microsoft DNSを使用しているため、dns-sd TXTレコードを作成するときに注意する必要があることです。通常、次の形式で報告されます。

1800 IN TXT "txtvers=1" "qtotl=1" "URF=none" "product=(汎用 PostScript プリンター)" "ty=汎用 PostScript プリンター" "note=Jason Test" "transparent=t " "copies=t " "duplex=t " "color=t " "pdl=application/postscript " "rp=printers/queueName"

...しかし、上記の私の質問を見ると、それらは「\」文字でいっぱいだったことがわかります。これはMac(実際にはおそらくどのクライアントでも)を台無しにしました。

コツは、Microsoft DNS GUIを使用する場合、これらの複数フレーズのTXTレコードを引用符なしで入力し、ビット間でEnterキーを押すことです。つまり、

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

レコードを変更すると、Mac はメタデータを喜んで取り込み、プリンタ ドライバを要求することもなく、正常に印刷しました。 :-)

関連情報