Ich besitze einen Remotecomputer mit Ubuntu 11.10 Server, mit dem ich mich über SSH von OS X 10.7.3 aus verbinde:
Host remote.example.com ForwardX11 ja ForwardX11Trusted yes
Manchmal möchte ich dort eine GUI-Anwendung starten (vor allem gitk
). Aber die Benutzeroberfläche ist ziemlich langsam. Sowohl die Remote-Maschine als auch mein eigener Mac verfügen über eine gute Internetverbindung. Ping zwischen ihnen ist ungefähr 55ms, und es gibt keinen Paketverlust. Kann ich etwas tun, um die Dinge zu beschleunigen?
Das Einrichten einer anderen Remotedesktoplösung ist eine Option, die ich jedoch vermeiden möchte, da ich diese Anwendung nicht häufig benötige.
macos
ubuntu
remote-desktop
xorg
Alexander Gladysh
quelle
quelle
.ssh/config
Zitat entnehmen können, habe ich das nicht getan. Ich habeCompression yes
undCompressionLevel 9
zur Host-Konfiguration hinzugefügt . Es scheint jetzt ein bisschen schneller zu sein, aber immer noch nicht genug für eine komfortable Nutzung. Kann ich sonst noch etwas tun?scp
sagt 1,2 MB / s beim Hochladen oder Herunterladen auf diesen Remote-Computer, was mehr oder weniger der Zahl entspricht, die mein ISP ankündigt.Antworten:
Im Artikel Beste SSH-Optionen für die X11-Weiterleitung wird empfohlen, anstelle der Standard-AES-Verschlüsselung die viel leistungsstärkeren Verschlüsselungen arcfour und blowfish zu verwenden.
Deshalb sollte man verwenden:
Sebs technische Hinweise (wenn die Site nicht erreichbar ist, gibt es eine archivierte Version ) empfehlen eher:
Dies kann dazu beitragen, die Geschwindigkeitszuwächse, die Sie bereits bei der Komprimierung beobachtet haben, noch weiter zu verbessern.
quelle
-C
Option ist hier jedoch entscheidend, da dies eine Komprimierung ist. Achten Sie beim Einstellen der Komprimierungsstufe darauf, diese zu messen, da sie einen großen Einfluss auf die CPU haben kann ...Sie haben erwähnt, dass Sie keine andere Remotedesktoplösung einrichten möchten, aber Sie legen Wert auf Leistung. X11 ist kein sehr effizientes Protokoll, daher können Sie nur geringfügige Verbesserungen erwarten, wenn Sie kein moderneres Protokoll verwenden.
NX (NoMachine) ist wahrscheinlich die beste Wahl. Es wird immer noch ssh verwendet, daher sollte es im Vergleich zu anderen Desktop-Protokollen, bei denen möglicherweise Änderungen an den Firewall-Einstellungen usw. erforderlich sind, nicht zu aufwendig sein. Es gibt NX-Pakete für Fedora. Ich gehe also davon aus, dass sie auch für Ubuntu verfügbar sind.
Wenn Ihnen die Leistung so wichtig ist, dass Sie sich die Zeit nehmen, die Frage zu stellen, können Sie hoffentlich noch ein paar Minuten damit verbringen, NX zu lernen.
BEARBEITEN: Um zu verdeutlichen, warum X11 über ssh niemals schnell sein wird: Das X-Protokoll behandelt das Zeichnen auf niedriger Ebene wie Linien und Kreise und Ereignisse auf niedriger Ebene wie "die Maus hat sich 3 Pixel nach links bewegt". Moderne GUI-Toolkits wie GTK und Qt zeichnen keine Linien, sondern Bilder. Wenn X11 über SSH geht, muss es ständig Bilddaten und Mausereignisse auf niedriger Ebene senden. Ein High-Level-Protokoll wie NX, VNC oder Remote Desktop kann die Bandbreite und die Latenz verringern, indem bekannt ist, wie Toolkits funktionieren. Beispielsweise können sie das Senden von Mausereignissen vermeiden, Tausende von Neuzeichnungen beim Verschieben von Fenstern vermeiden und Bereiche des Bildschirms wie Menüs zwischenspeichern. Wenn die Leistung nur von untergeordneter Bedeutung ist, ist Raw X11 immer die falsche Wahl. Glücklicherweise gibt es eine Vielzahl schneller Alternativen, die einfach zu konfigurieren und zu verwenden sind.
quelle