debian下x11和pipewire网络播放声音的方法

场景

远程机器(可以是 docker lxc) ,没有装图形桌面,但是装了edge浏览器。 本地使用x11 转发打开edge后 播放视频没声音。 远程机器 是 lxc debian12 本地是 pve 装了桌面

简明

1
2
apt install pipwaire pulseaudio-module-zeroconf # 两边都装
apt install avahi-daemon # 本地安装

本地

1
2
3
sudo systemctl status avahi-daemon.service # 确定一下状态 默认安装后会自动启动,如果没有手动启动一下这个服务
pactl load-module module-native-protocol-tcp listen=10.1.1.6 # listen=10.1.1.6  可以不输入,但是不能有错误
pactl load-module module-zeroconf-publish

avahi-daemon 需要使用5353 端口,注意防火墙

远程

1
pactl load-module module-zeroconf-discover

然后远程打开一个有声音输入的软件 就可以了 例如远程机器上 cat ~/start.sh

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
export XMODIFIERS=@im=fcitx
export SDL_IM_MODULE=fcitx
export GLFW_IM_MODULE=ibus

killall fcitx5 -9
fcitx5 &

pactl load-module module-zeroconf-discover
#firefox &
microsoft-edge-stable &

本地

1
2
3
4
5
pactl load-module module-native-protocol-tcp
pactl load-module module-zeroconf-publish
ssh -X yanhui@10.1.1.231
#-----
sh  ~/start.sh

走的的坑

pactl load-module module-native-protocol-tcp 这个命令在第二次运行的时候 会提示 未知错误,实际上有效的。

其他一些工具

paprefs 貌似不适合 pipewire qpwgraph 可用,可以用两边检查连接状态 ,或者局域网内有多个avahi的情况下手动调整。正常运行的时候 远程段的qpwgraph 是可以看到本地的音频设备。 正常是播放声音的app 连接到 目标机器的 内置数字立体声的play_back 就好了。

Licensed under CC BY-NC-SA 4.0
comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计