我正在尝试使用Python脚本和键盘模块来构建一个简单的信息亭,以检测键盘上的键并相应地执行命令。问题是Linux上的Python键盘模块以root身份运行,但是我的信息亭应用以非特权用户身份运行。从Python脚本启动信息亭应用程序后,焦点便以某种方式被窃取,并且Python脚本不再注册键盘事件。这是代码:
import os
import keyboard
white True:
if keyboard.is_pressed('q'):
break
elif keyboard.is_pressed('1'):
os.system('runuser tux -c \' firefox localhost\'')
else:
pass
使用此代码,firefox成功启动,并且我正在运行localhost应用程序。但是现在不再可以使用相同的Python脚本。 'q'
退出无效。
我也尝试使用subprocess.call
模块而不是os
模块,但这也不起作用。
我也尝试使用sudo
或su
来执行命令,但这也没有用。
关于如何解决此问题的任何想法?还是为我目前使用的方法提出替代方法?