Qwentor
@Qwentor
Веб-программист

Как запустить команду на выбранном дисплее?

Делаю так:
subprocess.run(["DISPLAY=:99", "telegram-desktop", "-debug", "-tosettings", "-many", "-workdir", "/home/qwentor/share/prog/tgprofiles/"+phone])


Получаю следующее:
Traceback (most recent call last):
  File "mytg2.py", line 124, in <module>
    subprocess.run(["DISPLAY=:99", "telegram-desktop", "-debug", "-tosettings", "-many", "-workdir", "/home/qwentor/share/prog/tgprofiles/"+phone])
  File "/usr/lib/python3.6/subprocess.py", line 423, in run
    with Popen(*popenargs, **kwargs) as process:
  File "/usr/lib/python3.6/subprocess.py", line 729, in __init__
    restore_signals, start_new_session)
  File "/usr/lib/python3.6/subprocess.py", line 1364, in _execute_child
    raise child_exception_type(errno_num, err_msg, err_filename)
FileNotFoundError: [Errno 2] No such file or directory: 'DISPLAY=:99': 'DISPLAY=:99'
  • Вопрос задан
  • 53 просмотра
Решения вопроса 1
jcmvbkbc
@jcmvbkbc
"I'm here to consult you" © Dogbert
DISPLAY=:99 -- это переменная окружения, её надо впихнуть в параметр env:
env = os.environ
env["DISPLAY"] = ":99"
subprocess.run(["telegram-desktop", "-debug", "-tosettings", "-many", "-workdir", "/home/qwentor/share/prog/tgprofiles/"+phone], env=env)
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы