คำตอบของ Wayne เองค่อนข้างเก่าในตอนนี้ Arch ได้เปลี่ยนเป็นใช้ systemd แทนสคริปต์ init หน้าAvahiของ Arch wiki ได้รับการอัปเดตและมีรายละเอียดเกี่ยวกับสาเหตุที่จำเป็นต้องใช้ขั้นตอนด้านล่าง กล่าวโดยย่อ: Avahi เป็นเครื่องมือ zeroconf ซึ่งหมายความว่าตัวเองไม่จำเป็นต้องมีการกำหนดค่าให้ทำงานเมื่อติดตั้งบนเครื่องทุกเครื่องใน LAN ของคุณ แต่คุณต้องกำหนดค่าซอฟต์แวร์ส่วนที่เหลือของคุณเพื่อที่จะให้ข้อมูล Avahi ถาม
รันสิ่งเหล่านี้ในฐานะรูทหรือต่อท้ายด้วยความsudo
เหมาะสมในเทอร์มินัลและแทนที่nano
ด้วยเครื่องมือแก้ไขที่คุณเลือก
pacman -S avahi nss-mdns
ติดตั้ง Avahi services daemon และตัวแก้ไขมัลติคาสต์ DNS
nano /etc/nsswitch.conf
ไฟล์นี้บอกไลบรารี C วิธีรับข้อมูลชื่อบริการ
- เปลี่ยนบรรทัด
hosts: files dns myhostname
เป็นhosts: files mdns_minimal [NOTFOUND=return] dns myhostname
บันทึกและออก
systemctl start avahi-daemon
เริ่มบริการ Avahi ด้วยตนเองเนื่องจากเราถูก booted แล้วมองหาข้อผิดพลาด)
systemctl enable avahi-daemon
เปิดใช้งานบริการ Avahi ขณะบู๊ต
ฉันเพิ่งทำตามขั้นตอนเหล่านี้บนแล็ปท็อป Arch และไม่จำเป็นต้องรีสตาร์ทบริการอื่น ๆ หรืออินเทอร์เฟซ wifi เพื่อให้เครื่องอื่นของฉันค้นพบภายในไม่กี่วินาทีและให้แล็ปท็อปค้นพบบริการของพวกเขา
เนื่องจากฉันยังไม่สามารถแสดงความคิดเห็นเกี่ยวกับคำตอบของ ggg ได้ฉันเพียงต้องการชี้ให้เห็นว่าไม่จำเป็นต้องทำสิ่งนี้ในสคริปต์เริ่มต้น - นั่นคือสิ่งที่เปิดใช้งานบริการใน systemd ทำครั้งเดียวแล้วลืมมันไปซะ
avahi
เช่นเดียวกับnss-mdns
- สำหรับรายละเอียดเพิ่มเติมดูที่วิกิซุ้มประตู