我在 Raspberry Pi 上的 Docker 中运行 GUI 应用程序。我需要在该应用程序中使用键盘。
到目前为止,我已经达到了这样的程度,即以特权身份运行容器,并将 /run/udev 安装到它,这样即使断开连接并重新连接也可以检测到键盘。
docker run -d --privileged -v /run/udev:/run/udev:ro <image>
因为它具有特权,如果我执行到容器中,我就可以看到键盘设备:
ls /dev/input
by-id by-path event0 event1 event2 event3 event4 event5 mice mouse0 mouse1
但是,如果我首先启动没有连接键盘的容器,并且然后连接键盘,这些设备不会显示在容器中,并且我无法使用键盘:
ls /dev/input
event0 mice mouse0
在这种情况下,有没有办法让它检测键盘?我不想重新启动容器,我需要它即时工作。
答案1
最后我尝试直接挂载 /dev/input,它就成功了!
docker run -d --privileged -v /dev/input:/dev/input:ro -v /run/udev:/run/udev:ro <image>