使用键盘模块的Python Linux信息亭

时间:2018-12-18 13:53:51

标签: python linux exec keyboard-events kiosk

我正在尝试使用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模块,但这也不起作用。 我也尝试使用sudosu来执行命令,但这也没有用。

关于如何解决此问题的任何想法?还是为我目前使用的方法提出替代方法?

0 个答案:

没有答案