首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我如何在Avahi上为VNC服务做广告?

我如何在Avahi上为VNC服务做广告?
EN

Unix & Linux用户
提问于 2021-05-16 12:00:32
回答 1查看 930关注 0票数 2

我有一个家庭网络,有两个Mac和一个运行Debian的PC (以及将来可能的其他发行版)。目前,我已经在Debian上安装了阿瓦希Netatalk,将PC作为iMac进行广告宣传。

当我单击Finder侧边栏中的Mini时,我会看到以下内容:

连接被验证为我的Apple ID,除了AFP共享之外,还有一个标记为“共享屏幕.”的按钮。

当我单击“共享屏幕.”时,到Mac Mini的VNC连接将在第一方macOS VNC客户机中打开。

当我单击Finder侧栏中的Debian PC ("Alpha")时,我会看到以下内容:

连接被验证为远程本地用户名,我只看到Netatalk (AFP)共享。

请注意,过去我使用的是CIFS/SMB股票,而不是AFP/Netatalk,这也同样有效。

在第三方应用程序屏幕中,“附近和远程计算机”显示"Kandinsky“(实际上是离线的老Mini )以及当前的Mini。目前还不清楚屏幕是否使用Bonjour (Avahi),以及它自己的握手服务Screens (它不支持Linux),用于“附近和远程计算机”,但在这里似乎有潜在的意义。

我之所以使用屏幕,是因为GNOME的默认VNC服务器的身份验证协议与第三方macOS VNC客户端不兼容。或者类似的东西。(这是一个众所周知的问题。)

不管怎么说。

当我运行命令时

代码语言:javascript
复制
$ avahi-browse --all --ignore-local --resolve --terminate

在Debian PC上,输出包括以下内容:

代码语言:javascript
复制
+ enp3s0 IPv6 Mac Mini    VNC Remote Access    local
+ enp3s0 IPv4 Mac Mini    VNC Remote Access    local
代码语言:javascript
复制
= enp3s0 IPv6 Mac Mini    VNC Remote Access    local
   hostname = [macmini.local]
   address = [192.168.4.63]
   port = [5900]
   txt = []

代码语言:javascript
复制
= enp3s0 IPv4 Mac Mini    VNC Remote Access    local
   hostname = [macmini.local]
   address = [192.168.4.63]
   port = [5900]
   txt = []

(我的MacBook没有出现,因为它没有启用屏幕共享。)

我知道我可以在我的Mac上使用dns-sd做以下操作:

代码语言:javascript
复制
% dns-sd -B  

这可能会给我一些有用的信息,但是

代码语言:javascript
复制
% dns-sd -B

不显示Mini,并试图浏览"VNC远程访问“:

代码语言:javascript
复制
% dns-sd -B "VNC Remote Access"
Browsing for VNC Remote Access._tcp
DNSService call failed -65540

不起作用,所以这似乎是个死胡同。

在此背景下,重申我的问题:

我怎么能让Avahi守护进程在我的Debian电脑广告VNC远程访问?

虽然我对能够使用第一方macOS VNC客户端持悲观态度,但如果Debian (自称是iMac)将自己呈现为具有VNC远程访问功能,那么还会出现哪些其他可能性呢?

我对解决方案的最佳猜测是,我将创建一个Avahi服务文件,但是Avahi文档(例如,avahi.service(5)的手册页)在这方面非常少。我目前设置的唯一服务是/etc/avahi/services/afp.service,它如下所示:

代码语言:javascript
复制
$ cat /etc/avahi/services/afp.service



 %h
  
   _afpovertcp._tcp
   548
  
  
   _device-info._tcp
   0
   model=iMac
  
  
   _adisk._tcp
   9
   sys=waMa=0,adVF=0x100,adVU=fbdbccf4-6b71-4995-8fa7-ad066939d808
   dk0=adVN=Backups,adVF=0x81

知道我该如何为VNC创建一个相应的文件吗?

或者不管我需要做什么?

EN

回答 1

Unix & Linux用户

发布于 2021-08-26 13:34:12

我只是在我的Pi上设置了这个,也运行Debian &我希望这能帮助其他人做类似的事情。

在Debian框中,它可以归结为在vnc.service中创建/etc/avahi/services文件。

您可以从`/usr/share/doc/avahi/示例中复制一个示例;对于VNC,它应该如下所示:

代码语言:javascript
复制
  %h 
  
    _rfb._tcp
    5900

保存完后,重新加载Avahi以获得以下内容:

代码语言:javascript
复制
sudo systemctl restart avahi-daemon.service

关于从Mac终端进行浏览,VNC的类型是“_rfb._tcb”(参见此列表是众所周知的服务类型。

代码语言:javascript
复制
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,通常是(发现号(前为Bonjour浏览器),它在App中也是免费的,用于MAC和iOS。

票数 2
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/649927

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档