Linux in einer hauptsächlich Windows-Entwicklungsumgebung

8

Ein kleiner Hintergrund: In unserem Shop wurde traditionell ein Microsoft-Software-Stack ausgeführt, aber jetzt planen wir die Verwendung von Embedded Linux, und ich befinde mich in der Rolle von Columbus: Eroberung der neuen Welt. Ich erwähne dies, weil es bedeutet, dass mir der Kontext fehlt, um zu interpretieren, was Sie vielleicht für eine einfache Antwort halten. Wenn Sie die Dinge im Vergleich zur Funktionsweise von Windows erklären können, wird dies das Verständnis erheblich erleichtern.

Wenn ich die Idee von X-Windows richtig verstanden habe, ist eine Anwendung ein X-Client und die Fenster-APIs senden / empfangen UI-Nachrichten über einen TCP-Socket an einen X-Server (sendet Fensterzeichnungsbefehle an den X-Server und empfängt die Maus und Tastaturaktivitätsnachrichten davon).

Nach meinem Verständnis bedeutet die Verwendung von Sockets, dass der App-Code auf einer Unix-Box ausgeführt werden kann, während die Benutzeroberfläche auf einem X-Server ausgeführt wird, der auf (z. B.) einem der beiden ausgeführt wird

  • der gleiche Computer
  • eine andere Unix-Box, auf der X-Server im selben Netzwerk ausgeführt wird
  • eine Windows-Box 'W', auf der X-Server im selben Netzwerk ausgeführt wird
  • Jede Box, auf der ein X-Server irgendwo im Internet ausgeführt wird, vorausgesetzt, Firewalls und Routing sind entsprechend konfiguriert, um die erforderlichen Sockets zuzulassen.

Auf meinem Schreibtisch befindet sich ein Linux Mint13-Host, der den Cinnamon-Desktop mit dem Namen ForwardUntoDawn verwendet . Es ist mit meinem 192.168.174-Netzwerk als 35 verbunden, und mein Win7 befindet sich im selben Netzwerk wie 11. Sie können sich gegenseitig anpingen, und SAMBA ermöglicht die gemeinsame Nutzung von Dateien zwischen ihnen. Ich habe telnetd und sshd auf ForwardUntoDawn installiert und kann über Win7-Telnet- und ssh-Sitzungen einrichten und mich authentifizieren, um eine Befehlszeile zu erhalten.

Auf meinem Win7-System ist Xming mit Xming- und Xlaunch-Desktopsymbolen installiert. Beim Ausführen von Xlaunch beantworte ich die Eingabeaufforderungen folgendermaßen:

  • Mehrere Windows / Anzeige 0
  • Programm starten: gimp Mit SSH (C: \ Cygwin \ bin \ SSH.exe)
  • Zwischenablage ja, kein Schriftartenserver oder Parameter

Dies führt momentan zu einem schwarzen Befehlsfenster, das jedoch verschwindet, bevor ich die Nachricht lesen kann.

Kann mich jemand bei den nächsten Schritten oder angemesseneren Antworten auf die Bedürfnisse von Xming unterstützen? (Ich habe Gimp nur gewählt, weil ich weiß, dass es installiert ist und funktioniert.)

Beachten Sie, dass Sie zur Verwendung der folgenden Antwort auch die Kommentare lesen müssen. HINWEIS: Sie müssen den cygwin xserver mit cygwin \ bin \ startxwin.exe starten, damit er funktioniert. Ich kann mir vorstellen, dass dadurch einige Umgebungsvariablen initialisiert werden.


Ich habe Xming nicht benutzt. Nachdem ich die SSH-Einstellungen direkt auf der Linux-Box festgelegt und die Cygwin-Tools erfolgreich verwendet hatte, versuchte ich es erneut mit Xming. Mit Xlaunch gestartete Anwendungen werden gestartet, verschwinden jedoch plötzlich. Das Problem trat nicht ausschließlich mit Cygwin-Tools auf.

Peter Wone
quelle

Antworten:

3

Ich weiß nicht, wie die Standardeinstellungen für cygwins SSH.EXE lauten, aber für openssh wird standardmäßig die X11-Weiterleitung nicht aktiviert.

Diese Standardeinstellung kann überschrieben werden, indem die Konfigurationsdatei des SSH-Clients geändert wird (z. B. ~ / .ssh / config auf einer Unix- / Linux-Box) oder indem die -XOption in der SSH-Befehlszeile verwendet wird - zssh -X remotehost gimp

Es könnte sich lohnen zu prüfen, ob cygwin SSH.exe dieselbe Standardeinstellung und / oder dieselbe oder eine ähnliche Option hat.

Übrigens, was passiert, wenn Sie zur Mint-Box wechseln und dann gimpvon der Befehlszeile aus laufen ? Wenn es nicht funktioniert, versuchen Sie es erneut mit -X.

Schließlich möchten Sie vielleicht Putty als Ihren SSH-Client auf der Windows-Box versuchen .

cas
quelle
Wenn ich zur Mint-Box ssh und dann gimp von der Kommandozeile aus
starte,
OK, das heißt, Sie müssen die X11-Weiterleitung über Ihre SSH-Verbindung aktivieren. Mit openssh verwenden Sie -Xin der ssh-Befehlszeile. Auf cygwin ssh ist es wahrscheinlich gleich oder ähnlich. Die folgende URL zeigt an, dass es fast identisch ist: x.cygwin.com/docs/ug/using-remote-apps.html
cas
Wenn ich dasselbe über eine Befehlszeile "ssh -l mylogin -X 192.168.174.35 gimp" mache, bekomme ich dasselbe, außer dass nicht "Fehler:
Peter Wone
Aktivieren Sie auch das Kontrollkästchen /etc/ssh/sshd_configMint und stellen Sie sicher, dass die Weiterleitung von X11 mitX11Forwarding yes
cas
Wenn ich die X11-Weiterleitung aktiviere, mache ich dies auf der Box, auf der der X-Server ausgeführt wird (Win7) oder auf der der Client ausgeführt wird (Gimp auf Mint13)?
Peter Wone