我想同时使用 Pyautogui 和键盘模块(使用 Python),但我不能这样做。我也安装了键盘模块和 Pyautogui 模块,但是当我尝试通过 root 运行 Pyautogui 时,我收到此错误(sudo python3)
raise error.DisplayConnectionError(self.display_name, r.reason)
Xlib.error.DisplayConnectionError: Can't connect to display ":1": b'Authorization required, but no authorization protocol specified\n'
无需root,即可使用。但键盘没有 root 就无法使用。
raise ImportError('You must be root to use this library on linux.')
ImportError: You must be root to use this library on linux.
我在键盘模块中使用 .is_pressed() 函数。
使用root安装
pyautogui
:
sudo pip install pyautogui
然后运行你的
main.py
:
sudo python main.py
如果上述方法不起作用,那么更好的选择是
pynput
。 pynput
不需要任何root权限。
pynput
示例:
from pynput import keyboard
def on_press(key):
if key.char == "a":
print(f"alphanumeric key {key.char} pressed")
listener = keyboard.Listener(on_press=on_press)
listener.start()
输出:
alphanumeric key a pressed
从 Wayland 切换到 Xorg。
另请参阅: