目前没有很好的工具,几种方案比较:
signal:只能处理ctrl+c等少量按键。可以处理quit信号
xdotool:在ssh环境下工作不是很好,需要设置DISPLAY='0.0',但我设了不起作用。报
No protocol specified
Error: Can't open display: (null)
Failed creating new xdo instance
的错
termios:需要终端环境
pynput:无法通过SSH协议转发按键,只能走rdp、VNC(可能也是基于RDP)
keyboard:root权限
通过实测,基于OpenCV的按键检测方法是可以通过SSH协议转发的,但是需要在程序有GUI界面在运行的条件下才能生效。
import cv2
k = cv2.waitKey(1)
if k == 27 or k == ord('q'): # Esc or 'q'
global_break = True
其他待尝试:
x2x