通过 libinput 检测特权容器内新连接的键盘

通过 libinput 检测特权容器内新连接的键盘

我在 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>

相关内容