Щелкните правой кнопкой мыши файл .cpp и перейдите к свойствам. На вкладке «Открыть с» выберите gedit из списка и под списком выберите «установить как значение по умолчанию».
Спасибо на этот комментарий fsmunoz, я могу воспроизводить звуки на контейнер использование pulseaudio, без изменения любых конфигурационных файлов. Баллы следующие:
набор PULSE_SERVER для того, чтобы позволить контейнера с pulseaudio знать адрес сервера. Добавить контейнер в audio группа. Печенье поделиться с pulseaudio это.и вот рабочий пример:
$ sudo docker run -it \
--device /dev/snd \
-e PULSE_SERVER=unix:${XDG_RUNTIME_DIR}/pulse/native \
-v ${XDG_RUNTIME_DIR}/pulse/native:${XDG_RUNTIME_DIR}/pulse/native \
-v ~/.config/pulse/cookie:/root/.config/pulse/cookie \
--group-add $(getent group audio | cut -d: -f3) \
ubuntu:16.04 /bin/bash
root@9c9f7e0db4e3:/# apt update
root@9c9f7e0db4e3:/# apt install alsa-base alsa-utils pulseaudio
root@eed016c1fb61:/# aplay -L | head -n9
default
Playback/recording through the PulseAudio sound server
null
Discard all samples (playback) or generate zero samples (capture)
pulse
PulseAudio Sound Server
sysdefault:CARD=PCH
HDA Intel PCH, ALC295 Analog
Default Audio Device
root@9c9f7e0db4e3:/# aplay /usr/share/sounds/alsa/Front_Center.wav
Playing WAVE '/usr/share/sounds/alsa/Front_Center.wav' : Signed 16 bit Little Endian, Rate 48000 Hz, Mono
root@9c9f7e0db4e3:/# paplay /usr/share/sounds/alsa/Front_Center.wav # Success!
Примечание: все-таки, я не знаю, зачем нужны куки. Без печенья, ошибка ALSA lib pulse.c:243:(pulse_connect) PulseAudio: Unable to connect: Access denied произошло.
Благодаря комментарию fsmunoz, я могу воспроизводить звуки в контейнере с помощью pulseaudio, не изменяя никаких файлов конфигурации. Точками являются следующие:
Установите PULSE_SERVER, чтобы позволить пульсовому аудиту контейнера знать адрес сервера. Добавьте контейнер в группу audio. Поделитесь cookie pulaudio.И вот рабочий пример:
$ sudo docker run -it \
--device /dev/snd \
-e PULSE_SERVER=unix:${XDG_RUNTIME_DIR}/pulse/native \
-v ${XDG_RUNTIME_DIR}/pulse/native:${XDG_RUNTIME_DIR}/pulse/native \
-v ~/.config/pulse/cookie:/root/.config/pulse/cookie \
--group-add $(getent group audio | cut -d: -f3) \
ubuntu:16.04 /bin/bash
root@9c9f7e0db4e3:/# apt update
root@9c9f7e0db4e3:/# apt install alsa-base alsa-utils pulseaudio
root@eed016c1fb61:/# aplay -L | head -n9
default
Playback/recording through the PulseAudio sound server
null
Discard all samples (playback) or generate zero samples (capture)
pulse
PulseAudio Sound Server
sysdefault:CARD=PCH
HDA Intel PCH, ALC295 Analog
Default Audio Device
root@9c9f7e0db4e3:/# aplay /usr/share/sounds/alsa/Front_Center.wav
Playing WAVE '/usr/share/sounds/alsa/Front_Center.wav' : Signed 16 bit Little Endian, Rate 48000 Hz, Mono
root@9c9f7e0db4e3:/# paplay /usr/share/sounds/alsa/Front_Center.wav # Success!
Примечание: Тем не менее, я не знаю, зачем нужен файл cookie. Без файла cookie произошла ошибка ALSA lib pulse.c:243:(pulse_connect) PulseAudio: Unable to connect: Access denied.