Xvfb-运行键盘检测

问题描述 投票:0回答:1

我正在测试 xvfb-run 的可能性,并使用此命令行在特定显示器上的 chromium 选项卡中显示著名的 Trex 游戏:$

xvfb-run -n 1 -f ~/.Xauthority --server-args='-screen 0 1600x1200x24 -shmem -listen tcp' chromium-browser --no-sandbox --disable-gpu --window-size=1600,1200 --window-position=0,0 --kiosk http://www.trex-game.skipser.com

事实是,当我按“空格”键时,Trex 应该开始行走和跳跃。但这一切都没有发生。

所以我运行了以下命令:

DISPLAY=:1 xinput

我很惊讶地发现没有真正的键盘。

⎡ Virtual core pointer                      id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
⎜   ↳ Xvfb mouse                                id=6    [slave  pointer  (2)]
⎣ Virtual core keyboard                     id=3    [master keyboard (2)]
    ↳ Virtual core XTEST keyboard               id=5    [slave  keyboard (3)]
    ↳ Xvfb keyboard                             id=7    [slave  keyboard (3)]

如果我使用:

DISPLAY=:1 xdotool key space

我能够用 Trex 跳跃,这是正常的,因为如果我是对的,xdotool 会直接与 XTEST 键盘交互。

我以为我的 X 服务器正在侦听 /dev/input 文件夹,但我开始想知道是否应该以某种方式将键盘连接到 X 服务器上。

有谁知道怎么做吗?

keyboard keyboard-events xvfb xserver
1个回答
0
投票

尽管问题已经存在很久了,但希望这会有所帮助。

我没有完整的细节,但据我所知:

Xvfb
只是帧缓冲区部分,不包括人类交互设备(HID)。

我能够用 Trex 跳跃,这是正常的,因为如果我是对的,xdotool 会直接与 XTEST 键盘交互。

这似乎是正确的,我的来源是 Unix Stack 中的这个 anwser:

https://unix.stackexchange.com/a/259403

您可以尝试将 X11VNC 连接到它,因为 VNC 层 包含 HID。

查看 Medium 上有关在容器下运行 X11 应用程序的帖子:

https://sax1johno.medium.com/notes-on-running-gui-applications-in-docker-404a7241c53

© www.soinside.com 2019 - 2024. All rights reserved.