Как открыть приложение с графическим интерфейсом на сервере (Raspi) через SSH, используя python/paramiko?Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Как открыть приложение с графическим интерфейсом на сервере (Raspi) через SSH, используя python/paramiko?

Сообщение Anonymous »

В качестве сервера у меня Raspberry Pi с дисплеем, подключенным по HDMI. На моем компьютере с Windows 10 я хочу запустить графическое приложение на моем Pi по ssh, чтобы приложение отображалось на дисплее Pi. Выполнение должно быть запущено программой Python с использованием paramiko.
Если я попробую выполнить следующее в консоли Windows, все будет работать отлично:
  • ssh -X user@raspberrypi
  • export DISPLAY=:0
  • python3 my_gui_app.py
Но если я попробую выполнить следующее в скрипте Python, он запустится без ошибок, но ни одно окно не появится на экране Pi:

Код: Выделить всё

import paramiko

hostname = "raspberrypi"
username = "user"
password = "1234"
command = "python3 my_gui_app.py"

client = paramiko.SSHClient()
client.set_missing_host_key_policy(paramiko.AutoAddPolicy())

try:
client.connect(hostname=hostname, username=username, password=password)

with client.get_transport().open_session() as session:
session.get_pty()
session.request_x11(single_connection=True)
session.set_environment_variable("DISPLAY", ":0")
session.exec_command(command)

# Continuously read the stdout and stderr streams
while True:
if session.recv_ready():
stdout = str(session.recv(4096).decode("utf-8"))
print(stdout, end="")
if session.recv_stderr_ready():
stderr = str(session.recv_stderr(4096).decode("utf-8"))
print(stderr, end="")

# Check if the command has finished executing
if session.exit_status_ready():
break

finally:
client.close()

Что я делаю не так?

Подробнее здесь: https://stackoverflow.com/questions/779 ... n-paramiko
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»