2012-07-13 11 views
5

Chciałbym podłączyć się do notebooka IPython na komputerze zdalnym (za pośrednictwem tunelu SSS lub przez HTTPS), a notatnik iPython powinien otworzyć wykres matplotlib w nowym oknie (w przeciwieństwie do "inline").Czy można zdalnie uzyskać dostęp do notatnika programu IPython bez korzystania z wbudowanego drukowania?

Czy to możliwe?

Kiedy próbuję drukować bez backendu "inline", notatnik kernal zgłasza: "nie można połączyć się z serwerem X" i ulega awarii.

Serwer X11 działa na komputerze klienckim, a ja włączam przekazywanie X11 przy użyciu opcji -Y podczas tworzenia tunelu SSH.

Dzięki za radę.

+1

Musisz również włączyć przekazywanie X11 na komputerze zdalnym (z opcjami sshd). –

+0

Dzięki, ale wierzę, że ta opcja jest włączona, tzn. Mogę użyć X11 do otwierania okien dla emacsa, gimpa, itp ... ale jakoś nie działa dysk z uruchomionym jądrem ipython. – user1522298

+0

Po pierwsze, powiedziałeś "używając opcji -Y": powinno to być '-X'. Teraz mogłem to zrobić z jednego z moich komputerów Ubuntu (chociaż było trochę niestabilne .. skłoniło się do zatrzaśnięcia mojego połączenia adsl). Z mojego innego pudełka (z bezpośrednim Internetem) jądra ipython ulegają awarii z "nie można połączyć się z serwerem X", jeśli spróbuję "pokazać()" wykres. Jak dotąd nie wiem, dlaczego ... – drevicko

Odpowiedz

4

Tak, przynajmniej przez tunelowanie portu SSH.

(UWAGA: przykłady blow przeprowadzono na Ubuntu 12.04, ale ta sama zasada powinna działać na innych platformach)

miałem podobne problemy i stwierdził, że jeśli uruchomię komputer ipython od wewnątrz Port-a X-forwardująca sesja ssh (tj. Ta, która konfiguruje port i X forwarding), działa. Clunky i denerwujące, ale działa. Na przykład:

at-home:~$ ssh -X -L 8889:localhost:8888 my.server 
... login message from my.server 
my.server:$ cd /folder/containing/my/notebooks 
my.server:$ ipython notebook 
[NotebookApp] .... lots of info about the IPython notebook server including 
[NotebookApp] The IPython notebook is running at 'http://127.0.0.1:8888/' 

pamiętać, że już przekazane portu 8889 - oznacza to używam http://localhost:8889/ w przeglądarce na moim at-home maszyny. Dla mnie działa to dobrze z backendem Qt4Agg.

Podejrzewam, że będzie także działał na potrzeby uzyskiwania dostępu do komputerów przenośnych przez protokół HTTPS, jeśli w ten sposób uruchomisz serwer notebooków IPython (np. Z poziomu sesji ssh -X). Zauważ, że wykresy pojawią się na komputerze, z którego została przekazana sesja X. Jeśli ktoś uruchamia notatnik w przeglądarce na innym komputerze, może to być nieco dziwne!

Możliwe, że można powiedzieć serwerowi uruchomieniowemu IPython, jak znaleźć serwer X przekazany przez jakąś nową sesję ssh, ale nie jestem pewien jak (mile widziane edycje mile widziane!).

+0

+1! dzięki, to rozwiązało mój problem "przekierowania portów" od razu do zdalnego notatnika do ipythona – Acorbe

Powiązane problemy