Я пытаюсь запустить pygame в док-контейнере, но у меня проблемы со звуком.
Это мой Dockerfile:
# This explains how to enable the video: https://skandhurkat.com/post/x-forwarding-on-docker/
FROM ubuntu:latest
MAINTAINER fnndsc "dev@babymri.org"
RUN apt-get update \
&& apt-get install -y python3-pip python3-dev \
&& cd /usr/local/bin \
&& ln -s /usr/bin/python3 python \
&& pip3 install --upgrade pip
RUN apt-get update
RUN apt-get install -qqy x11-apps
RUN pip3 install pygame
WORKDIR /app
ADD paper_rock_scissor_game /app
RUN python3 setup.py install
ENV NAME World
CMD ["python3", "rock_paper_scissor/run_game.py", "-w", "-d"]
и я запускаю его как:
lpuggini@lpuggini-T3420:~/temporary/pygame_docker$ docker run -it -v /tmp/.X11-unix:/tmp/.X11-unix -e DISPLAY=unix$DISPLAY --device /dev/snd --name dsgame rockpaperscissor
к сожалению игра вылетает из-за проблем со звуком:
lpuggini@lpuggini-T3420:~/temporary/pygame_docker$ docker run -it -v /tmp/.X11-unix:/tmp/.X11-unix -e DISPLAY=unix$DISPLAY --device /dev/snd rockpaperscissor
pygame 1.9.6
Hello from the pygame community. https://www.pygame.org/contribute.html
Traceback (most recent call last):
File "rock_paper_scissor/run_game.py", line 61, in <module>
pygame.mixer.init()
pygame.error: No available audio device
lpuggini@lpuggini-T3420:~/temporary/pygame_docker$
Вы знаете, как я могу это исправить? Хост-машина - это Ubuntu.
Пара ссылок:
Как воспроизводить звук в док-контейнере
https://skandhurkat.com/post/x-forwarding-on-docker/
UPDATE:
добавление RUN apt-get install -y libsdl1.2-dev libsdl-image1.2-dev libsdl-mixer1.2-dev libsdl-ttf2.0-dev
в Dockerfile, кажется, частично решает проблему.
Теперь ноутбук выводит звук правильно. До сих пор не могу найти способ использовать наушники в качестве устройства вывода.