Jak przyspieszyć X przez SSH na wolnym połączeniu sieciowym?

32

Czy są jakieś konkretne zalecenia dotyczące przyspieszenia aplikacji X przez ssh na wolnym połączeniu sieciowym? W tym konkretnym przypadku uzyskuję dostęp do serwera znajdującego się na zachodnim wybrzeżu z laptopa na wschodnim wybrzeżu i to też na niezbyt szybkim połączeniu DSL.

Jakieś ustawienia dla ssh? Jakieś ogólne wskazówki?

vivekian2
źródło

Odpowiedzi:

15

Prawdopodobnie zobaczysz największe korzyści, używając kompresji przy użyciu tej -Copcji. Możesz go również włączyć w swoim sshd_config, korzystając z następującego wiersza:

Compression yes
Chris Down
źródło
1
Jeśli czas połączenia w obie strony jest długi, to kompresja niewiele pomaga. Standardowy protokół X z mnóstwem komunikatów ping-pongowych nie nadaje się do tras z zauważalnym RTT.
Linulin
Taki jest charakter protokołu, z którym mamy do czynienia. Pytający stwierdził, że nie może zmienić uruchomionego serwera SSH, więc jest to najlepsza opcja po stronie klienta, zakładając, że nic nie można zrobić na serwerze.
Chris Down,
6
Niektóre witryny podają także, że używają prostego i szybkiego miksera, np. Blowfish: ssh -X -C -c blowfish-cbc,arcfour$ nazwa hosta
matematyka
Istnieje podobne pytanie, zalecające dodatkowe opcje: superuser.com/questions/400136/speeding-up-remote-x-sessions
matematyka
(stare pytanie, ale w innym pytaniu zostało oznaczone jako „odniesienie”, które zostało zamknięte jako duplikat tego) Powodem, dla którego uruchomione aplikacje X przez połączenie ssh (lub faktycznie w dowolnym zdalnym miejscu) jest sam protokół X . Poparłem tę odpowiedź, ponieważ dostrajanie ustawień ssh nie pomoże w praktyce. Musisz użyć narzędzia do kompresji protokołu, aby aplikacja była użyteczna, najlepsza opcja X2GO lub inne narzędzie oparte na NX. Zobacz na przykład unix.stackexchange.com/a/187420/104833 .
Ariel
15

Jeśli masz taką opcję, spróbuj przetestować NX (choć jest to trudny do uruchomienia), ponieważ będzie czuł się znacznie szybciej niż tunelowanie X przez ssh ...

Zaraz
źródło
3
NX domyślnie działa również w tunelu ssh. Więc nie musisz się martwić otwarciem innych portów.
wm_eddie,
NX jest naprawdę super szybki. Lepsze niż VNC, lepsze niż kompresja w stosunku do X. Działa słodko.
vivekian2
Właściwie oznaczę to jako właściwą odpowiedź dla kogoś, kto może uruchomić NX po stronie serwera. Nie wszystkie funkcje interfejsu użytkownika są dostępne (przynajmniej na gnome), ale prędkość jest tego warta.
vivekian2
Nigdy nie wypróbowałem NX, ale VNC jest dobrą alternatywą dla SSH-X
baptx
To powinna być zaakceptowana odpowiedź, nie ma sensu próbować przyspieszyć przez dokładne dostrojenie ustawień ssh (d). Najlepszą alternatywą dla samego NX (co jest dość bolesne w konfiguracji) jest X2GO, także oparte na bibliotekach NX, ale o wiele łatwiejsze do uruchomienia.
Ariel
8

Minęło trochę czasu, odkąd go wypróbowałem, ale DXPC (Differential X Protocol Compression) sprawił, że X11 przez PPP dial-up działa zauważalnie szybciej. Być może opcja kompresji SSH będzie dla ciebie lepsza, ale ta kompresja jest specyficzna dla X11 i może po prostu działać szybciej.

Bruce Ediger
źródło
4

Warto zbadać wysoką wydajność openssh. Ze względów bezpieczeństwa openssh używa buforów statycznych w wielu miejscach. Projekt HPH-SSH ponownie implementuje jego bity, aby używać buforów dynamicznych. Wydaje się również, że w ostatnich wersjach zaimplementowali szyny wielowątkowe.

https://www.psc.edu/hpn-ssh

jmtd
źródło
Czy wymaga to zmian na serwerze ssh działającym po stronie serwera? Możliwe, że nie mogę tego kontrolować.
vivekian2
1
Nie, nie ma. Ze strony:> Stworzyliśmy łatkę, która usunie wąskie gardła w OpenSSH i jest w pełni kompatybilna z innymi serwerami i klientami. Ponadto klienci HPN będą mogli pobierać szybciej z serwerów innych niż HPN
jmtd
1

X2Go rozwiąże twój problem. Uzyskuję dostęp do malinowego pi w Argentynie z Doliny Krzemowej. Występuje niewielkie opóźnienie, ale praca na nim jest równie wygodna jak na biurku.

VNC to twój drugi wybór.

Bogaty
źródło