我使用的是一个对接图像,它没有ALSA的snd虚拟模块可用。我需要模仿声卡。我不需要(或希望)听音频。
基于我所做的许多搜索,我相当肯定我希望使用ALSA的snd模块来模拟声卡,它本质上是/dev/null。
查看ALSA矩阵的指南:模块-虚拟,它指出,如果"modinfo声音核心“返回您有这个模块,那么您不需要重新编译您的内核。
在我的例子中,我没有“声音核心”或“声音”可用。我认为这意味着我必须重新编译内核。对我来说,重新编译码头形象的核心是一个新概念。码头对我来说是个新概念。
从某种意义上说,我需要将ALSA的snd模块安装到Linux坞映像中,该映像没有将声音核心/声音编译到内核中。
码头形象:https://github.com/fcwu/docker-ubuntu-vnc-desktop
ALSA矩阵和虚拟:https://www.alsa-project.org/main/index.php/Matrix:Module-dummy
这对我来说是一个潜在的解决方案吗?:https://github.com/torvalds/linux/blob/master/sound/drivers/dummy.c
编辑:
当将~/..asoundrc替换为以下内容并运行"alsactl还原“时,我将得到以下输出。而且,我的主机的音量也会受到影响。
# .asoundrc
pcm.dummy {
type hw
card 0
}
ctl.dummy {
type hw
card 0
}$ alsactl恢复 load_state:1683:无法打开/var/lib/alsa/asound.state :没有这样的文件或目录找到硬件:“HDA”"Realtek ALC269VB“”HDA:10ec0269 100446 00100100 HDA:808628055 80860101 00100 000“"0x1028”"0x0446“硬件是 使用找到的硬件的通用方法初始化:“虚拟”“虚拟” 混频器“硬件使用通用方法初始化。
发布于 2019-09-11 05:27:25
我认为解决方案是将声音设备安装到码头,这里的问题是您必须使用privileged。
docker run -v /dev/snd:/dev/snd --privileged myImage ...UPDATE您还可以插入内核模块snd并指定2作为主机上声音循环设备的索引:
sudo modprobe snd-aloop index=2
docker run -it --rm -p 6080:80 --device /dev/snd -e ALSADEV=hw:2,0 dorowu/ubuntu-desktop-lxde-vnchttps://stackoverflow.com/questions/57882375
复制相似问题