私は2台のMacとDebian(そして今後他のディストリビューションも可能)を実行するPCで構成されたホームネットワークを持っています。私は現在あふれDebian PC で設定インターネットチャット、PCをiMacとして広告します。
FinderサイドバーでMac Miniをクリックすると、次のようになります。 接続は私のApple IDで認証され、AFP共有に加えて「画面共有...」というボタンがあります。
「画面共有...」をクリックすると、Mac MiniへのVNC接続がmacOS VNCクライアントで開きます。
FinderサイドバーでDebian PC(「Alpha」)をクリックすると、次のようになります。 接続はリモートローカルユーザー名で認証され、Netatalk(AFP)共有のみが表示されます。
過去には、AFP/Netatalk の代わりに CIFS/SMB 共有を使用して、同様に良い結果が得られました。
第三者アプリケーションで画面、「近くとリモートコンピュータ」には、「Kandinsky」(実際にオフラインの古いMac Mini)と現在のMac Miniが表示されます。 ScreensがBonjour(Avahi)と独自のハンドシェイクサービスScreens Connect(Linuxをサポートしていない)を使用して「近くとリモートコンピュータ」を実装しているかどうかはわかりませんが、ここでは関係があるようです。 私がスクリーンを使用する理由は、GNOMEプライマリVNCサーバーの認証プロトコルがmacOS VNCクライアントと互換性がないためです。またはそのようなもの。 (これは既知の問題です。)
それでも。
私がコマンドを実行すると
$ avahi-browse --all --ignore-local --resolve --terminate
Debian PCでは、出力には次のものが含まれます。
+ enp3s0 IPv6 Mac Mini VNC Remote Access local
+ enp3s0 IPv4 Mac Mini VNC Remote Access local
= enp3s0 IPv6 Mac Mini VNC Remote Access local
hostname = [macmini.local]
address = [192.168.4.63]
port = [5900]
txt = []
そして
= enp3s0 IPv4 Mac Mini VNC Remote Access local
hostname = [macmini.local]
address = [192.168.4.63]
port = [5900]
txt = []
(私のMacBookは画面共有が有効になっていないため表示されません。)
私は次のことができることを知っていますdns-sd
私のMacでは:
% dns-sd -B <type> <domain>
これは私に有用な情報を与えるかもしれませんが、
% dns-sd -B
Mac Miniを表示せずに「VNCリモートアクセス」を探してください。
% dns-sd -B "VNC Remote Access"
Browsing for VNC Remote Access._tcp
DNSService call failed -65540
うまくいかなかったので行き止まりのようです。
この文脈で私の質問をもう一度言うと:
VNCリモートアクセスを知らせるために、Debian PCでAvahiデーモンをどのように取得しますか?
私は私のmacOS VNCクライアントの使用について悲観的ですが、Debian PC(iMacの形を取る)がVNC Remoteを持っているようであれば、他の可能性があるかもしれないと楽観的です。
最善の解決策はAvahiサービスファイルを生成することです。ただし、Avahiのドキュメント(マニュアルページなどavahi.service(5)
)にはこれに関する情報が不足しています。現在私が設定した唯一のサービスは次のとおり/etc/avahi/services/afp.service
です。
$ cat /etc/avahi/services/afp.service
<?xml version="1.0" standalone='no'?><!--*-nxml-*-->
<!DOCTYPE service-group SYSTEM "avahi-service.dtd">
<service-group>
<name replace-wildcards="yes">%h</name>
<service>
<type>_afpovertcp._tcp</type>
<port>548</port>
</service>
<service>
<type>_device-info._tcp</type>
<port>0</port>
<txt-record>model=iMac</txt-record>
</service>
<service>
<type>_adisk._tcp</type>
<port>9</port>
<txt-record>sys=waMa=0,adVF=0x100,adVU=fbdbccf4-6b71-4995-8fa7-ad066939d808</txt-record>
<txt-record>dk0=adVN=Backups,adVF=0x81</txt-record>
</service>
</service-group>
VNCに対応するファイルを作成する方法をご存知ですか?
それともどうすればいいですか?
答え1
私はこれをDebianを実行するPiにこれを設定しました。これが他の人も同様のことをするのに役立つことを願っています。
Debian マシンではvnc.service
。/etc/avahi/services
VNCの場合、 `/usr/share/doc/avahi-daemon/examplesから例をコピーできます。
<service-group>
<name replace-wildcards="yes">%h</name>
<service>
<type>_rfb._tcp</type>
<port>5900</port>
</service>
</service-group>
保存してAvahiを再読み込みして選択します。
sudo systemctl restart avahi-daemon.service
Mac端末で検索する場合、VNCタイプは「_rfb._tcb」です(参照:よく知られたサービスタイプのリスト:
dns-sd -B _rfb._tcp
andy@XXX ~ % dns-sd -B _rfb._tcp
Browsing for _rfb._tcp
DATE: ---Thu 26 Aug 2021---
14:20:50.925 ...STARTING...
Timestamp A/R Flags if Domain Service Type Instance Name
14:20:50.926 Add 3 4 local. _rfb._tcp. rpi
14:20:50.926 Add 3 5 local. _rfb._tcp. rpi
私は一般的にGUIを使用することを好むDiscovery(以前のBonjourブラウザ)、Mac、iOS用のApp Storeでも無料です。