2015年8月7日 星期五

解決「因 avahi 未安裝,致 PulseAudio 不能連線」問題

最近想將工作機升級到 Fedora 22,不過暫時因為不支援 PDC 介面的 BIOS RAID 而未能順利升級。之前在這台電腦安裝 Fedora 21 時,是先安裝「GNOME 桌面」再安裝「MATE 桌面」,既然升級不成,就重新安裝一次 Fedora 21,不過這次只安裝「MATE 桌面」,安裝過程就參考〝(修訂)「安裝只有『MATE 桌面』(無 GNOME 3) 的 Fedora 21」〞的步驟。
  安裝後,照例將「遠端電腦」的音效利用 PulseAudio 送到「本地電腦」,參考之前有關 PulseAudio 安裝、設定的幾篇發文也不能成功。覺得問題可能不在 PulseAudio 本身的安裝、設定,就從使用 PulseAudio 需要開啟的幾個「通訊埠」(即:4713/TCP、16001/TCP、5353/UDP)查起,
[root@Celeron-D ~]# netstat -tulnp
Active Internet connections (only servers)
ProtoRecv-QSend-QLocal AddressForeign AddressStatePID/Program name
  . . . . .
tcp000.0.0.0:160010.0.0.0:*LISTEN2643/pulseaudio
  . . . . .
tcp000.0.0.0:47130.0.0.0:*LISTEN2643/pulseaudio
  . . . . .
上例中,只列出 IPv4 的埠號,可以發現 5353/UDP 並沒有出現。查一下另一台電腦,
[root@Core-i7 ~]# netstat -tulnp
Active Internet connections (only servers)
ProtoRecv-QSend-QLocal AddressForeign AddressStatePID/Program name
  . . . . .
tcp000.0.0.0:160010.0.0.0:*LISTEN4162/pulseaudio
  . . . . .
tcp000.0.0.0:47130.0.0.0:*LISTEN4162/pulseaudio
  . . . . .
udp000.0.0.0:53530.0.0.0:*LISTEN760/avahi-daemon
  . . . . .
這台電腦上就有 5353/UDP 這個埠號,在右邊可以找到開啟這個「通訊埠」的程式。這應該又是某個未安裝套件的『關聯套件』,也不想查那麼多就直接找出『avahi-daemon』在哪個套件中,就先安裝那個套件吧。
[root@Celeron-D ~]# yum provides avahi-daemon
Loaded plugins: langpacks
 . . . . .
avahi-0.6.31-29.fc21.x86_64 : Local network service discovery
Repo        : fedora
Matched from:
Filename    : /usr/sbin/avahi-daemon
 . . . . .
avahi-0.6.31-32.fc21.x86_64 : Local network service discovery
Repo        : updates
Matched from:
Filename    : /usr/sbin/avahi-daemon
知道是缺哪一個套件,就裝了它,
[root@Celeron-D ~]# yum install avahi
 . . . . .
[root@Celeron-D ~]# systemctl status avahi-daemon.service
avahi-daemon.service - Avahi mDNS/DNS-SD Stack
   Loaded: loaded (/usr/lib/systemd/system/avahi-daemon.service; enabled)
   Active: inactive (dead)
[root@Celeron-D ~]# systemctl enable avahi-daemon.service
[root@Celeron-D ~]# systemctl start avahi-daemon.service
再試一次,「遠端電腦」就可以順利找到「本地電腦」,並且將音效透過 PulseAudio 成功傳送到「本地電腦」的音效輸出了。

已測試版本:

  • Fedora 21 (只安裝「MATE 桌面」)

沒有留言:

張貼留言

感謝你耐心看完本文,歡迎留下任何指正、建議,筆者會儘快回應。(English is also welcome.)