Собственный ответ Уэйна к настоящему времени уже устарел. С тех пор Arch переключился на использование systemd вместо сценариев инициализации. Страница Avahi Arch wiki обновлена и содержит подробную информацию о том, почему необходимы следующие шаги. Вкратце: Avahi - это инструмент zeroconf, то есть сам по себе не требует настройки для работы после установки на всех компьютерах вашей локальной сети, но вы должны сконфигурировать оставшуюся часть программного обеспечения, чтобы он действительно запрашивал информацию у 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, и не было необходимости перезапускать какие-либо другие службы или интерфейс Wi-Fi, чтобы мои другие машины обнаружили его в течение нескольких секунд, и чтобы мой ноутбук обнаружил их службы.
Поскольку я пока не могу комментировать ответ ggg, я просто хотел бы указать здесь, что нет необходимости делать это в скрипте запуска - для этого и нужна поддержка сервиса в systemd. Сделай это один раз и забудь об этом.
avahi
а такжеnss-mdns
- для более подробной информации взгляните на Arch Wiki