Python Linux Kiosk с использованием клавиатурного модуля - PullRequest
0 голосов
/ 18 декабря 2018

Я пытаюсь построить простой киоск, используя скрипт Python с модулем клавиатуры, чтобы определять клавиши на клавиатуре и выполнять команды соответственно.Проблема в том, что модуль клавиатуры Python в Linux работает как 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 для выполнения команды, но это также не сработало.

Есть идеи, как мне это исправить?Или, может быть, предложить альтернативный подход к текущему методу, который я использую?

...