Przekazywanie x11 z paramiko

Próbuję uruchomić polecenie za pomocąparamiko powinien być w stanie otworzyć okno X. Skrypt, którego używam, wyglądałby następująco:

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()

Niestety, po uruchomieniu powyższego skryptu otrzymuję to wyjście:

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

Jeśli uruchomię następujące polecenie w terminalu:

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

wtedy dostaję te same zmienne środowiskowe (niektóre porty się zmieniły), więc powiedziałbym, że moje środowisko jest poprawne. Wciąż jednak brakuje mi czegoś do zrobieniaparamiko pracować z przekazywaniem x11.

Kilka rzeczy, które próbowałem to:

Użyjhandler parametr wrequest_x11: poza drukowaniem wartości, nie dostałem się dalej niż z domyślnym programem obsługi.Użyjauth_cookie parametr wrequest_x11: próbowałem zakodować wartość cookie, która była używana zgodnie zxauth list wydajność. Pomysł polegał na uniknięciu problemów, które mogą się zdarzyć zgodnie z ciągiem dokumentacji wparamiko samo:

Jeśli pominiesz auth_cookie, zostanie wygenerowana, użyta i zwrócona nowa bezpieczna losowa wartość 128-bitowa. Będziesz musiał użyć tej wartości, aby zweryfikować przychodzące żądania x11 i zastąpić je rzeczywistym lokalnym plikiem cookie x11 (który wymaga znajomości protokołu x11).

Czy jest jeszcze coś, co mogę zrobić, aby to działało lub rozwiązywało problem?

Uwaga: zostało to wcześniej zadane w:

superużytkownik: jedyna odpowiedź wskazuje narequest_x11 dokumentacja, której próbowałem użyć bezskutecznie.przepełnienie stosu: zaakceptowana odpowiedź sugeruje użyciehandler parametr, ale jest źle.github: brak odpowiedzi przez ponad rok.

questionAnswers(5)

yourAnswerToTheQuestion