x11 переадресация с paramiko

я пытаюсь запустить команду сparamiko это должно быть в состоянии открыть окно X. Сценарий яЯ использовал бы что-то следующее:

import paramiko                                    

ssh_client = paramiko.SSHClient()
ssh_client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh_client.connect('192.168.122.55', username='user', password='password')
transport = ssh_client.get_transport()
session = transport.open_session()

session.request_x11()
stdin = session.makefile('wb')
stdout = session.makefile('rb')
stderr = session.makefile_stderr('rb')
session.exec_command('env; xterm')
transport.accept()

print 'Exit status:', session.recv_exit_status()
print 'stdout:\n{}'.format(stdout.read())
print 'stderr:\n{}'.format(stderr.read())
session.close()

К сожалению, когда я запускаю скрипт выше, я получаю такой вывод:

Exit status: 1
stdout:
SHELL=/bin/bash
XDG_SESSION_COOKIE=8025e1ba5e6c47be0d2f3ad6504a25ee-1347286654.617967-1932974971
SSH_CLIENT=192.168.122.1 58654 22
USER=user
MAIL=/var/mail/user
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
PWD=/home/user
LANG=en_US.UTF-8
SHLVL=1
HOME=/home/user
LOGNAME=user
SSH_CONNECTION=192.168.122.1 58654 192.168.122.55 22
DISPLAY=localhost:10.0
_=/usr/bin/env

stderr:  
xterm: Xt error: Can't open display: localhost:10.0

Если я запускаю следующую команду в терминале:

ssh -X [email protected] 'env; xterm'

затем я получаю те же переменные среды (хотя некоторые порты изменились), поэтому яЯ бы сказал, что мое окружение правильное. Однако я'мне все еще не хватает чего-то сделатьparamiko работа с пересылкой x11.

Я попробовал пару вещей:

Использоватьhandler параметр вrequest_x11: кроме печатных значений, я неполучить дальше, чем с обработчиком по умолчанию.Использоватьauth_cookie параметр вrequest_x11: попытался жестко закодировать значение cookie, которое использовалось в соответствии сxauth list выход. Идея сделать это состояла в том, чтобы избежать проблем, которые могут произойти в соответствии со строкой документации вparamiko сам:

Если вы опустите auth_cookie, будет сгенерировано, использовано и возвращено новое безопасное случайное 128-битное значение. Вам нужно будет использовать это значение для проверки входящих запросов x11 и замены их фактическим локальным файлом cookie x11 (который требует некоторого знания протокола x11).

Есть ли что-то еще, что я мог бы сделать, чтобы это работало или решало проблему?

Примечание: это было ранее задано в:

суперпользователя: единственный ответ указывает наrequest_x11 документация яЯ уже пытался использовать безрезультатно.переполнение стека: принятый ответ предлагает использоватьhandler параметр, но этоS не так.GitHub: ответа не было более года.

Ответы на вопрос(5)

Ваш ответ на вопрос