一键安装Pulseaudio在远程Linux桌面服务器上模拟声卡

大家好!去年,我发布了OneClickDesktop脚本。使用这个脚本,您可以在Linux服务器上一键安装一个能够使用浏览器直接访问的远程桌面服务器。

脚本源码:https://github.com/Har-Kuun/OneClickDesktop/ 欢迎大家的星星叉叉

但是,由于大家通常使用的VPS上没有声卡,没有办法听到声音;因此,虽然有了这台远程Linux桌面服务器,但是看视频和听音乐的时候也没有声音,限制了这台服务器的应用场景。

今天,我来介绍一下OneClickDesktop的声卡模拟插件脚本。使用这个插件脚本之后,可以在原来安装有OneClickDesktop的Linux服务器上模拟出声卡,从而在远程桌面上实现音乐和视频播放。

本文链接为https://qing.su/article/pulseaudio-audio-redirection-oneclickdesktop.html,本文作者为香菇肥牛,转发需注明原文链接。谢谢!

1, 实现原理

使用PulseAudio与PulseAudio-xrdp, 可以在Linux远程桌面服务器上对音频信号进行重定向。配置完毕后,Pulseaudio可以绕过远程服务器的声卡,直接将声信号转发到访问者的浏览器上。

Pulseaudio的官方网站在这里:https://www.freedesktop.org/wiki/Software/PulseAudio/

因此,首先编译安装Pulseaudio,然后编译安装Pulseaudio-xrdp组件,使得Pulseaudio能够识别出访问者的浏览器并作出相应的声信号转发。这样,我们就变相实现了在远程Linux桌面服务器上模拟声卡。

2, 一键搭建

为了简化操作,我写了一个插件脚本,可以直接在OneClickDesktop服务器上配置好Pulseaudio.

这个脚本需要您已经安装好OneClickDesktop远程桌面服务器程序。由于CentOS系统即将停止官方支持,因此声卡模拟脚本也将不再对CentOS系统提供支持,仅支持Ubuntu 18/20与Debian 10系统。后续等OneClickDesktop支持Debian 11与Ubuntu 22后,此声卡模拟脚本也会相应地添加支持。

请在SSH中执行下面的指令:

wget https://raw.githubusercontent.com/Har-Kuun/OneClickDesktop/master/plugins/Audio/AudioRedirectionSetup.sh && sudo bash AudioRedirectionSetup.sh

 

执行完毕后,请重启服务器。

3, 设置Pulseaudio转发通道

安装完毕后,我们还需要进入远程桌面,设置Pulseaudio使其能正确转发声信号。

3.1 Ubuntu 18.04 LTS

如果你使用的是Ubuntu 18.04 LTS,那么无需任何设置,使用非root用户登录远程桌面即可享受音频了。

3.2 Ubuntu 20.04 LTS

如果你使用的是Ubuntu 20.04 LTS,那么第一次用非root账户登录远程桌面后,需要先登出一次,然后重新登录:

登录之后,在音量控制中看到”xrdp sink”,说明声卡启用成功。

3.3 Debian 10

如果你使用的是Debian 10,那么第一次用非root账户登录远程桌面后,需要打开一个终端,执行下面的命令:

pulseaudio -k && pulseaudio

 

命令会产生如下图的报错,是正常现象,使用CTRL+C终止。

此时,再次执行命令:

pulseaudio &

 

可以看到,音量控制中出现了”xrdp sink”的显示,声卡启用成功。

这样,我们就完全设置好了模拟声卡,可以在远程Linux桌面服务器上看视频啦!当然,如果网不好,那么看视频可能是会很卡的……

如果您有任何问题,欢迎在这里留言,我将尽力解答。写脚本不易,希望大家能多多帮忙在Github上面给点小星星小叉叉 https://github.com/Har-Kuun/OneClickDesktop/ 谢谢大家的支持!

本文链接为https://qing.su/article/pulseaudio-audio-redirection-oneclickdesktop.html,本文作者为香菇肥牛,转发需注明原文链接。谢谢!