韦恩自己的答案现在已经很老了。从那时起,Arch已切换为使用systemd而不是init脚本。Arch Wiki的Avahi页面已更新,其中包含有关为什么需要执行以下步骤的详细信息。简而言之:Avahi是zeroconf工具,这意味着它本身不需要任何配置即可安装在LAN的所有计算机上,但是您必须配置其余软件,以便它实际上向Avahi询问信息。
以root身份运行这些文件,或者sudo
在终端中在适当的地方添加这些文件,然后替换nano
为您选择的编辑器。
pacman -S avahi nss-mdns
安装Avahi服务守护程序和多播DNS解析器。
nano /etc/nsswitch.conf
该文件告诉C库如何获取名称服务信息。
- 将行更改
hosts: files dns myhostname
为hosts: files mdns_minimal [NOTFOUND=return] dns myhostname
,保存并退出。
systemctl start avahi-daemon
由于我们已经启动,因此手动启动Avahi服务。查找错误)
systemctl enable avahi-daemon
在启动时启用Avahi服务。
我只是在Arch笔记本电脑上执行了这些步骤,而无需重启任何其他服务或wifi接口即可让我的其他计算机在几秒钟内发现它,并让我的笔记本电脑发现他们的服务。
由于我尚无法评论ggg的答案,因此我想在这里指出,无需在启动脚本中执行此操作-这就是在systemd中启用服务的目的。只做一次,就算了吧。
avahi
以及nss-mdns
-更多细节看看在拱维基