在SLES 12 SP3上用evdev配置Xephyr双屏独立触摸功能异常求助
解决SLES 12 SP3上Xephyr绑定触摸屏的问题
我来帮你搞定这个Xephyr独立会话绑定触摸屏的难题——在SLES 12 SP3环境下我处理过类似的多席位配置,咱们一步步排查和解决:
1. 先确认你的触摸屏设备类型
你当前指定的是/dev/input/by-id/usb-ILITEK_ILITEK-TP_V06.00.00.02-if01-event-mouse,但很多触摸屏会同时生成鼠标模拟事件和原生触摸事件,你需要先确认这个设备是不是真正的触摸节点:
- 运行命令测试设备事件:
如果输出里包含evtest /dev/input/by-id/usb-ILITEK_ILITEK-TP_V06.00.00.02-if01-event-mouseABS_MT_*类的事件(比如ABS_MT_POSITION_X),说明这确实是触摸设备,但系统把它识别成了鼠标;如果没有,你需要在/dev/input/by-id/目录里找带-event-touch后缀的设备。
2. 修改Xephyr启动命令,正确绑定触摸设备
你之前用的-mouse参数是针对鼠标设备的,触摸屏需要明确指定输入类型为触摸。试试这个调整后的命令:
Xephyr -ac -br -noreset -screen 1280x800 :1 \ -input evdev,,device=/dev/input/by-id/usb-ILITEK_ILITEK-TP_V06.00.00.02-if01-event-mouse,type=touch
关键参数说明:
-input evdev:告诉Xephyr使用evdev输入驱动type=touch:明确指定这是触摸设备,而不是普通鼠标- 如果你的设备确实有单独的
-event-touch节点,替换掉上面的路径即可
3. 禁用主屏对该触摸设备的捕获
如果主屏还在占用这个触摸设备,Xephyr就无法独占它。在主屏的终端里执行:
- 先找到设备的ID:
xinput list | grep ILITEK - 把设备从主屏的输入系统中解绑:
这样主屏就不会处理这个触摸屏的事件,全部留给Xephyr会话。xinput float <设备ID>
4. 启动独立桌面会话并验证
在新的终端里设置DISPLAY环境变量,启动你常用的桌面(比如GNOME或KDE):
export DISPLAY=:1 gnome-session # 如果你用KDE,换成startkde
然后在Xephyr窗口里验证触摸功能:
- 运行
xinput list,确认能看到你的ILITEK触摸屏设备 - 运行
xinput test <设备ID>,触摸屏幕时应该能看到对应的事件输出
5. 权限问题排查
如果还是无法捕获触摸,检查当前用户是否有权限访问输入设备:
- 把用户加入
input组:sudo usermod -aG input $USER - 注销后重新登录,让权限生效
内容的提问来源于stack exchange,提问作者dlawler
相关产品推荐
相关产品推荐

