CentOS - Unterschied zwischen ssh -X und startx und Start einer GUI

40449
Tony Stark

Ich versuche, meine GUI auf meinem CentOS-Rechner zu installieren, aber ich weiß ehrlich gesagt nicht, dass die Linux-Befehle und Google keine klare Antwort hatte.

Ich gehe davon aus, dass ssh -X und startx gleich sind, aber vielleicht nicht; ssh -X startet gut. startx wirft jedoch einen enormen Fehler. Sind sie nicht gleich?

Wie lautet auch der Befehl, Gnome in CentOS / oder anderen Linux / Unix-Servern zu starten? Was ist mit kde? Ich habe startkde ausprobiert und es startet, aber ich kann keine Ordner oder irgendetwas öffnen (der Desktop funktioniert im Grunde nicht richtig)

edit: klar, ich habe einfach keine ahnung, was ich tue. Ich habe eine Menge googeln gemacht, vielleicht werden meine Probleme dadurch klar, dass ich weiß, was ich weiß / ich versuche:

  1. ssh -X sollte verwendet werden, um 1-2 Programme auszuführen, und ich habe keine Ahnung, wie es funktioniert (ein X-Server wird nicht lokal gestartet, oder? Was ist dann der Unterschied zwischen startx und ssh -X?).

  2. startx sollte verwendet werden, um GUIs auszuführen, und es funktioniert, indem ein Xserver auf meinem lokalen Rechner gestartet wird.

  3. Startx sollte in Runlevel 3 verwendet werden. Werfen Startx Fehler, wenn in Runlevel5 versucht? Das ist vielleicht der Grund, warum ich startx nicht verwenden kann, da ich gerade in runlevel5 bin.

  4. Wenn ich in Runlevel Five bin, sollte ich xdm gefolgt von kdm / gdm verwenden (übrigens tun xdm und gdm nichts auf meinem CentOS 5.3 und kdm sagt etwas darüber aus, wie nur root kdm verwenden möchte. Mein Server ist derzeit in runlevel 5, und sowohl gnome-session als auch startkde rufen die entsprechenden Desktops auf, sodass diese Befehle ebenfalls funktionieren.

Ist dieses Verständnis und diese Schritte korrekt?

7

3 Antworten auf die Frage

11
Mr. Shiny and New 安宇

ssh -Xist nicht das Gleiche wie startx. SSH ist ein Programm, das zum Verbinden mit einem anderen Computer mit einer Shell verwendet wird. X ist das grafische Anzeigeprogramm.

SSH kann als interaktive Befehlsshell und auch zum Weiterleiten von Ports verwendet werden. ssh -XLeitet den Port des lokalen X-Displays an den Remote-Computer weiter und richtet die Remote-Umgebung normalerweise so ein, dass ein Remote-Start eines Grafikprogramms lokal angezeigt wird. Normalerweise führen Sie auf diese Weise keinen gesamten Desktop wie KDE aus. Sie würden nur ein oder zwei Programme ausführen.

startxist ein Befehl, der zum lokalen Starten eines X-Servers verwendet wird, wenn Sie an der Konsole des Servers angemeldet sind, dh an der physischen Tastatur und am Bildschirm. Die meisten Benutzer verzichten auf die Verwendung von startx, da dies ein Sicherheitsrisiko darstellen kann, wenn Sie Ihren Computer unbeaufsichtigt lassen. Beim Starten von X wird eine zweite virtuelle Konsole erstellt (die erste war die Textkonsole, an der Sie angemeldet sind), und jemand kann zurück zur Textkonsole wechseln (CTRL-ALT-F1 oder ähnliches) und CTRL-C drücken, um die X-Konsole zu beenden, und Dann werden sie als Sie in Ihrer Textkonsole angemeldet. Wenn Sie den Computer nicht unbeaufsichtigt lassen, können Sie ihn gelegentlich verwenden.

Normalerweise wird ein vollwertiger grafischer Desktop auf einem System ausgeführt, indem ein Anmeldemanager wie XDM (oder GDM / KDM für Gnome / KDE) verwendet wird. Bei RedHat und Freunden wird dies normalerweise durch Umschalten auf Runlevel 5 erreicht. Über eine Eingabeaufforderung können Sie telinit 5vorübergehend umschalten oder bearbeiten /etc/inittab, um den Standard-Runlevel festzulegen (typische Optionen sind 3 - kein X - und 5 - mit X).

Wenn Sie GNOME und KDE starten, startxsollte CentOS beim Ausführen standardmäßig eines von ihnen ausführen (wahrscheinlich GNOME). Es gibt Konfigurationsdateien, die Sie ändern können, um die Standardeinstellungen zu überschreiben.

Wenn Sie remote auf eine vollständige Desktop-Umgebung zugreifen möchten, müssen Sie XDM für den Remotezugriff einrichten oder VNC oder ein anderes Remote-Desktop-Protokoll verwenden. Für einen vollständigen Desktop würde ich etwas wie VNC empfehlen, da auf diese Weise Ihre Sitzung geöffnet bleibt, wenn Sie die Verbindung trennen. Sie sollten jedoch berücksichtigen, dass ein typisches X oder VNC über das Netzwerk nicht verschlüsselt ist. Möglicherweise möchten Sie einen SSH-Port-Weiterleitungstunnel einrichten, um die Daten zu verschlüsseln. Wenn Sie nur eine oder zwei Apps ausführen ssh -X, wird diese bereits verschlüsselt.

Welche Art von Client-Computer verwenden Sie, um eine Verbindung zu diesem Server herzustellen? Beide ssh -Xund XDM erfordern eine lokale X-Anzeige, während dies bei VNC nicht der Fall ist.

Bearbeiten: Wenn Sie einen X-Server auf Ihrem lokalen Computer haben, können Sie mit ssh -X eine Verbindung zum CentOS-Rechner herstellen und ein Programm wie Firefox starten, das auf dem Macbook angezeigt wird. Dieser Link enthält Informationen zur Verwendung von X unter MacOS X. Standardmäßig zeigt der X-Server von Apple jede Anwendung in einem eigenen Fenster an, das sich ideal für die Ausführung einiger Apps mit derssh -XMethode. Wenn Sie jedoch eine komplette grafische Vollbildumgebung ausführen möchten, muss Ihr lokaler X-Server eine Verbindung zum XDM des CentOS herstellen. Sie sehen dann (auf Ihrem Macbook) einen Bildschirm, ähnlich dem, den Sie sehen würden, wenn Sie an der lokalen Konsole des CentOS angemeldet wären. Im Grunde wird Ihr Macbook als dummes Terminal verwendet: Nur Anzeige, Tastatur und Maus werden lokal verwendet. Die Programme werden auf der CentOS-Maschine ausgeführt. Leider kann ich Ihnen beim Einrichten eines dummen Terminals nicht helfen, da ich das letzte Mal ungefähr 10 Jahre alt war.

Wenn Sie keinen X-Server auf Ihrem lokalen Computer haben, können Sie so etwas wie VNC einrichten (weitere Remote-Desktop-Produkte finden Sie hier ), sodass die X-Sitzung auf dem Server ausgeführt wird und zwar auf dem physischen Bildschirm Remote-Zugriff von einem Computer mit dem entsprechenden Remote-Desktop-Client. Zum Beispiel verfügt KDE über eine Desktop-Sharing-Anwendung, die die laufende KDE-Sitzung über VNC verfügbar macht. Sie können sich beim CentOS-Server anmelden (über XDM oder Textkonsole + startx), die Desktopfreigabe starten und dann über einen VNC-Client auf dem Macbook eine Verbindung herstellen.

Ich verwende ein Macbook, um eine Verbindung zum Server herzustellen. Zur Klarstellung: ssh -X dient zum Weiterleiten von x-Paketen zum Öffnen von 1-2 Programmen und verwendet x auf dem lokalen (Client-) Rechner. Ich fürchte, ich habe nicht ganz verstanden, warum sich startx technisch von ssh -X unterscheidet. Was ist der Unterschied zwischen einem lokalen x-Server und dem Weiterleiten der Ports, damit Programme lokal in x geöffnet werden können? ... dass ich im letzteren keinen Server verwende ..? Und zum Schluss, wenn ich will, dass dieses GUI-Ding funktioniert, muss ich XDM / GDM / KDM (auf Ebene 5 wechseln) oder VNC untersuchen. Tony Stark vor 14 Jahren 0
@Herr. glänzend und neu: hmm, nach dem googeln ist der Unterschied, dass Sie in ssh -X eine Verbindung zum x-Server auf dem Remove-Computer herstellen, während ich mit ssh und startx einen ax-Server auf meinem lokalen Computer erstelle. Tony Stark vor 14 Jahren 0
@hatorade: X-Programme (technisch als Clients bezeichnet) wie Firefox erfordern eine Anzeige, technisch als Server bezeichnet. startx startet den Server oder die Anzeige lokal auf der physischen Grafikkarte. ssh -X teilt dem Remote-Computer mit, dass Sie eine Anzeige auf Ihrem lokalen System haben, und weist die Remote-Ausführung von Programmen an, diese zu verwenden. Sie haben immer einen X-Server, wenn Sie ein X-Client-Programm anzeigen. Mr. Shiny and New 安宇 vor 14 Jahren 0
@Herr. glänzend und neu: Ja, als ich ein paar Kommentare unten erklärt habe, glaube ich nicht, dass ich meine X11 mit dem XDM verbinde. Es sieht so aus, als ob die Mac-Handhabung von x11-Fenstern den gesamten Grafik-Desktop einzeln abtötet (z. B. funktioniert die Verwendung von gnome-panel im Vergleich zu gnome-session hervorragend, da ich nur das oberste Programm-Panel und jede geöffnete Anwendung in einem separaten x11-Fenster öffnet Ich kann sehen und verwenden, da es keinen Desktop-Hintergrund / keine Symbole auf meinem Weg gibt.) Tony Stark vor 14 Jahren 0
@hatorade: Ja, XDM ist einer der bevorzugten Ansätze für einen vollständigen Desktop, und ssh -X wäre für die Ausführung einzelner Apps zu bevorzugen. Sie können ein Vollbild-X11-Fenster verwenden (siehe Link in der Antwort) und dort eine vollständige Desktop-Umgebung ausführen. Es könnte über ssh -X funktionieren. Der Standardmodus für das X11 von Apple besteht jedoch darin, die Fenster so zu verwalten, als wären sie lokale Apps. Dies kann zu Konflikten mit Teilen des gnome oder des KDE-Desktops führen. Mr. Shiny and New 安宇 vor 14 Jahren 0
3
gbjbaanb

und zur Installation des KDE-Typs:

yum groupinstall "X Window System" "KDE (K Desktop Environment)" 

Wenn Sie Gnome bereits installiert haben, ist dies die Standardeinstellung. Bearbeiten Sie / etc / sysconfig / desktop, um dies zu ändern. Einstellen:

DESKTOP="KDE" DISPLAYMANAGER="KDE"  

oder verwenden Sie switchdesk kde, um zu KDE zu wechseln.

1
nagul
  • Führen Sie dies aus, um Gnome zu installieren:

    yum groupinstall "X Window System" "GNOME-Desktopumgebung"

  • Führen Sie gnome-session aus, um die GNOME-Desktopumgebung zu starten.

  • Um den Start beim Booten zu starten, ändern Sie den Runlevel in / etc / inittab auf 5.

    id: 5: initdefault:

Wenn Sie in der Desktop - Umgebung von einem anderen Computer anmelden möchten, müssen Sie untersuchen XDMCP, VNC oder FreeNX - Optionen. Sehen Sie sich diesen Artikel an: Kochen mit Linux - Mein Desktop liegt über dem Meer . Zum Lieferumfang von GNOME gehört auch ein VNC-Server - vino. Führen Sie vino-preferences aus, um dies zu konfigurieren und zu verwenden.

@nagul: ich hatte gnome installiert, drückte $ gnome-session und gnome sprang auf. ABER, es ist dasselbe, was passiert, wenn ich $ startkde eingebe: Der Desktop wird geöffnet, aber wenn ich auf einen Ordner doppelklicke, öffnet er sich nicht in dieser Anzeige, aber in einem anderen x-Fenster HINTER dem GUI-Desktop, den ich kann t komme zu! Tony Stark vor 14 Jahren 0
Hmm .. nicht sicher, dass ich das richtig verstehe. Ich vermute hier, dass Ihr Problem beim Fenstermanager liegen könnte. Gnome ist eine Desktop-Umgebung - es führt einen Fenstermanager zum Verwalten der Fenster aus, normalerweise Metacity (Standardeinstellung). Verfügen die Fenster im GUI-Desktop über Ränder und Minimieren / Maximieren / Schließen-Schaltflächen? nagul vor 14 Jahren 0
Ich denke, es ist auch der Fenstermanager. Ich habe gehört, dass Mac einen speziellen x11-Window-Manager hat, der mit dem für gnome-session / startkde verwendeten Window-Manager in Konflikt steht. In beiden Befehlen wird der jeweilige Desktop vollständig angezeigt (Hintergrundbild, Ordner, obere Leiste usw.). Wenn ich jedoch auf einen Ordner klicke, wird er nicht auf dem Desktop angezeigt, er wird jedoch vom OSX x11 Window Manager geöffnet HINTER dem geöffneten gnome / kde-Desktop. Wenn ich mit dem Alt-Tab mein Terminal auswähle, an dem ich die GUI gestartet habe, und CTR-C drücke (das Terminal ist immer noch hinter der GUI versteckt), stirbt die GUI, aber der Ordner, den ich geöffnet habe, ist noch in einem X11-Fenster geöffnet Tony Stark vor 14 Jahren 0