Wie kann ich eine grafische Schnittstelle mit einem Headless-Server herstellen?


42

Ich habe einen Ubuntu-Entwicklungsserver im Einsatz. Es handelt sich um einen alten Rack-Server, der sich irgendwo im Dungeon des Unternehmens befindet, wo nie jemand hingeht. Der einzige Weg, wie es funktionieren kann, ist ein sogenannter Headless-Server (dh ohne angeschlossene Monitore / Tastatur und nur zum Akzeptieren von Netzwerkverbindungen).

Wenn Sie nur Terminalzugriff benötigen, ist ssh offensichtlich mehr als genug. Ich möchte mich aber auch von Zeit zu Zeit mit der grafischen Oberfläche verbinden. Im Moment verwende ich die eingebaute VNC-Funktionalität, aber ich bin mir ziemlich sicher, dass dies weder die effizienteste noch die sicherste Methode ist, um dieses Problem anzugehen.

Ich habe zu diesem Thema ein wenig recherchiert, konnte jedoch keine endgültigen Schlussfolgerungen ziehen. Ich habe darüber gelesen, wie man versucht, die X-Umgebung über ssh weiterzuleiten, was zumindest meine Sicherheitsbedenken löst. Kann jemand seine Erfahrungen bei der Einrichtung teilen? Gibt es eine andere Möglichkeit, die es wert ist, betrachtet zu werden?

Ich verbinde mich fast ausschließlich von einem Windows-Computer aus mit diesem Server. Ich weiß nicht, ob dies für einige der vorgeschlagenen Methoden ein Problem sein könnte.

Antworten:


20

Ja, X-Weiterleitung über ssh ist in der Tat eine schöne Sache. Sie können grafische Anwendungen für jede Anwendung einzeln verwenden und die Fenster in Ihrer eigenen Desktop-Umgebung verwalten. Auf dem Server muss nicht einmal eine Desktop-Umgebung installiert sein.

Sie müssen jedoch einige Authentifizierungsfunktionen einrichten, damit dies funktioniert. Ich glaube, dafür brauchst du xauth.

Es ist so viel schneller als VNC. VNC war meiner Erfahrung nach immer etwas zurückgeblieben.

Bearbeiten: Ich habe keine Erfahrung mit dieser Methode über Windows, aber ich habe dieses Tutorial für Sie gefunden, wenn Sie interessiert sind.


2
"ssh -X <server> <program>" sollte alles einrichten (ich musste xauth nie selbst berühren, obwohl es installiert sein muss, damit die Option -X auf ssh funktioniert).
Suppressingfire

@ Suppressingfire: Oh danke. Ich denke, ich hätte den Befehl selbst einfügen sollen.
DLH

2
Ja, die X-Weiterleitung funktioniert mit Windows. Ich habe es mit Cygwin / X unter Windows XP verwendet. Nicht die schnellste oder schönste, aber funktioniert.
mp3foley

Die Weiterleitung von ssh X11 begrenzt auch die Dienste, die Sie auf Ihrem Server aktivieren müssen! Ich vermute, die meisten Server haben sowieso ssh. Das Aktivieren von Remote-X11 (XDMCP) ist nicht wirklich als sicher bekannt.
LassePoulsen

Der Tutorial-Link ist jetzt defekt. Stört jemand, der ihn aktualisieren kann?
Eule


9

Xming und XDMCP sind eine hervorragende Option.

Bearbeiten:

Xming ist ein X-Server für Windows, der auf Cygwin basiert und die Möglichkeit bietet, die Zwischenablage freizugeben und verschiedene Desktop-Layouts zu implementieren.

XDMCP ist ein einfaches und - wichtig - unverschlüsseltes Protokoll (verwenden Sie es nicht über das Internet), um einen X-Displaymanager und einen X-Server zu verbinden.


Sie sollten die Antwort wahrscheinlich bearbeiten, um ein bisschen mehr Details darüber zu erhalten, warum und wie dies funktioniert. Zu wissen, was Xming und XDCMP bedeuten, ist die beste Wahl.
Ressu

Ich werde das machen.
Ddeimeke

7

Ich kenne den "besten" Weg nicht, denke ich, YMMV, aber hier ist eine ziemlich umfassende Übersicht der Werkzeuge, die Ihnen zur Verfügung stehen: http://www.mynitor.com/2010/02/07/15-remote-desktop- solutions-for-linux /

Ich insbesondere hier ist meine Erfahrung:

  1. nomachine nx - Beeindruckende Geschwindigkeit. Im einheitlichen Modus fühlen Sie sich wie vor der Konsole. Es unterstützt das Starten neuer Sitzungen sowie das Spiegeln der Konsole (das Spiegeln ist jedoch langsamer). Es unterstützt das Trennen und Anhängen an Sitzungen. Das Teilen der Zwischenablage funktionierte nur in eine Richtung und ich konnte es nicht beheben. nomachine bietet kostenlose Server- und Client-Pakete mit einigen Lizenzbeschränkungen an.
    FreeNX basiert auf den nomachine nx-Bibliotheken

  2. x2go - Beeindruckt von dieser Soundumleitung, aber ich habe sie nicht so lange benutzt wie nomachine nx, weil ich später davon erfahren habe.

  3. x11vnc - Großartiger vnc-Server, der eine Verbindung zur Konsolensitzung herstellen kann. Wird in Verbindung mit nomachine nx verwendet. Ich bin nicht sicher, ob es im Headless-Modus ausgeführt werden kann, aber ich liste es auf, falls es möglich ist, da es für mich der schnellste vnc-Server war.

  4. xrdp - Sah vielversprechend aus, scheint aber nicht gewartet zu werden. Die OpenSuse-Nomad-Lösung basiert auf xrdp und ich höre, dass nomad die beste Remote-Desktop-Erfahrung ist, die Sie unter Linux erhalten können.

  5. teamviewer - Die Linux-Version ist noch Beta, läuft unter Wein und verbraucht etwas CPU, aber ich habe sie in letzter Zeit oft benutzt und war zufrieden damit. Ich bin nicht sicher, ob es auf einem kopflosen Server funktioniert.


2

Sehen Sie sich auch XPRAs , die Sie zu einer laufenden Sitzung von woanders, wie „Bildschirm für X“ lösen können.

Es gibt auch Window Shifter , ein Frontend für xpra, das auch für Windows funktionieren soll, siehe Demo .


1
Das sieht interessant aus.
Li Lo

1

Sie sind zwar von Natur aus unsicher, können aber XDMCP über ein lokales Netzwerk verwenden. Ich benutze es häufig, um auf virtuelle Maschinen zuzugreifen. Es ist so, als würden Sie sich auf Ihrem Desktop anmelden, nur dass Sie den Remote-Server ausgewählt haben.


1

Ich benutze x11vnc , was für mich sehr gut funktioniert. Damit können Sie eine dauerhafte grafische Sitzung zwischen Verbindungen aufrechterhalten, sodass Sie die Verbindung trennen und wiederherstellen können und alles so bleibt, wie Sie es verlassen haben. Es unterstützt auch das Tunneln über SSH. In diesen Ubuntu-Community-Dokumenten finden Sie eine kurze Beschreibung und Anweisungen zum Einrichten.


1

Ich habe freenx unter Ubuntu erfolgreich mit dem Windows-Client von http://nomachine.com verwendet .

Für mich war dies die Möglichkeit, einen alten Tablet-PC (der auch mit einer sauberen Installation von Windows XP zu kämpfen hatte) als Front-End für eine leistungsfähigere Ubuntu-Desktop-Maschine zu verwenden.

Das einzige Problem, das ich hatte, war, dass Sie die "Visuellen Effekte" auf "Keine" stellen mussten, um eine anständige Leistung zu erzielen.

Ich wollte die Antwort von txwikinger kommentieren, die nxserver vorschlägt, aber ich habe nicht genug Ruf.


1

Das Einrichten für den Remote X-Zugriff kann entmutigend sein und mehrere Schritte umfassen.

Ich benutze x2go, das Load-and-Go ist und außergewöhnlich einfach zu bedienen ist. Sie erhalten einen vollständigen Desktop, als hätten Sie einen neuen Bildschirm und eine neue Tastatur an Ihren Server angeschlossen. Es hat volle X-Funktionalität.

x2go ist KEINE "Remote Desktop" -Lösung. Sie erhalten eine völlig neue Sitzung. Sie können jedoch mit dem x2go-Client die Verbindung zu demselben oder einem anderen Computer trennen und erneut herstellen. Ihr Desktop ist dauerhaft. Das Beste ist, dass der Desktop auf Ihrem Client-Computer in Echtzeit vollständig skalierbar ist, indem Sie einfach die Größe des Fensters ändern.

x2go verwendet ssh für den Transport, sodass Ihre Daten verschlüsselt sind. Dies vereinfacht das Durchqueren von Firewalls. Die Geschwindigkeit wird durch die Verwendung von ssh für den Transport nicht beeinträchtigt.

Die x2go-Client-Software ist für Linux, Windows und Mac verfügbar.

Sehr schöne freie und Open Source Software. Ich benutze es jeden Tag.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.