it-swarm.com.de

Arbeiten Sie mit Eclipse über SSH an einem Remote-Projekt

Ich habe folgende Felder:

  1. Eine Windows-Box mit Eclipse CDT,
  2. Eine Linux-Box, die für mich nur über SSH erreichbar ist.

Sowohl der Compiler als auch die Hardware, die zum Erstellen und Ausführen meines Projekts erforderlich sind, befinden sich nur auf Computer B.

Ich möchte mit Eclipse CDT "transparent" von einer Windows-Box aus an diesem Projekt arbeiten und das Projekt remote in der IDE erstellen, ausführen und debuggen können.

Wie stelle ich das ein:

  • Das Gebäude wird funktionieren? Gibt es einfachere Lösungen, als ein lokales Makefile zu schreiben, das das Projekt rsync und dann ein Remote-Makefile aufruft, um den eigentlichen Build zu initiieren? Hat Eclipse Managed Build eine Funktion dafür?
  • Das Debuggen wird funktionieren?
  • Vorzugsweise funktioniert die Eclipse CDT-Code-Indizierung? Muss ich alle erforderlichen Header-Dateien von Computer B auf Computer A kopieren und sie hinzufügen, um den Pfad manuell einzuschließen?
185
Kos

Versuchen Sie es mit Remote System Explorer (RSE). Es handelt sich um eine Reihe von Plug-Ins, mit denen Sie genau das tun können, was Sie möchten.

RSE ist möglicherweise bereits in Ihrer aktuellen Eclipse-Installation enthalten. Um Eclipse Indigo einzuchecken, gehen Sie zu Fenster > Perspektive öffnen > Other ... und wählen Sie Remote System Explorer aus dem Menü Open Perspektive Dialogfeld zum Öffnen der RSE-Perspektive.

So erstellen Sie ein SSH-Remote-Projekt aus der RSE-Perspektive in Eclipse:

  1. Definieren Sie eine neue Verbindung und wählen Sie im Dialogfeld "Neue Verbindung" im Bildschirm "Remote-Systemtyp auswählen" die Option "Nur SSH".
  2. Geben Sie die Verbindungsinformationen ein und wählen Sie Fertig stellen.
  3. Stellen Sie eine Verbindung zum neuen Host her. (Angenommen, SSH-Schlüssel sind bereits eingerichtet.)
  4. Sobald die Verbindung hergestellt ist, gehen Sie zu den Sftp-Dateien des Hosts, wählen Sie einen Ordner aus und wählen Sie Remote-Projekt erstellen aus dem Kontext des Elements Speisekarte. (Warten Sie, während das Remote-Projekt erstellt wird.)

Bei korrekter Ausführung sollte nun ein neues Remote-Projekt vorhanden sein, auf das über den Projekt-Explorer und andere Perspektiven in Eclipse zugegriffen werden kann. Mit der korrekten Einrichtung der SSH-Verbindung können Passwörter optional zum Bestandteil des normalen SSH-Authentifizierungsprozesses gemacht werden. Ein Remote-Projekt mit Eclipse über SSH wird jetzt erstellt.

208
Aaron Digulla

Am einfachsten wäre es, Eclipse CDT auf der Linux-Box auszuführen und entweder X11-Forwarding oder Remotedesktopsoftware wie VNC zu verwenden.

Dies ist natürlich nur möglich, wenn Sie Eclipse auf der Linux-Box haben und Ihre Netzwerkverbindung zur Box ausreichend schnell ist.

Der Vorteil ist, dass Sie aufgrund der Tatsache, dass alles lokal ist, keine Synchronisierungsprobleme haben und keine plattformübergreifenden Probleme auftreten.

Wenn Sie keine Eclipse auf der Box haben, könnten Sie daran denken, Ihr Linux-Arbeitsverzeichnis über SMB (oder SSHFS)) freizugeben und von Ihrem Windows-Computer darauf zuzugreifen, aber das würde einige Einstellungen erfordern.

Beides wäre besser als zwei Kopien, besonders wenn es plattformübergreifend ist.

11
Lagerbaer

Ich bin selbst an der gleichen Stelle (oder war es), FWIW, als ich zu einer Samba-Freigabe auf dem Linux-Host auscheckte und diese Freigabe lokal auf dem Windows-Computer mit Notepad ++ bearbeitete, dann kompilierte ich sie auf der Linux-Box über PuTTY. (Wir durften die 10-Jahres-Versionen der Editoren auf dem Linux-Host nicht aktualisieren und es gab kein Java, daher habe ich die X11-Weiterleitung aufgegeben.)

Nun ... Ich führe ein modernes Linux auf einem VM auf meinem Windows-Host aus, füge dem VM) alle gewünschten Tools hinzu (z. B. CDT) und dann I checkout und baue ein chroot-Gefängnis ein, das der RTE sehr ähnlich ist.

Es ist eine klobige Lösung, aber ich dachte, ich würde sie in die Mischung einfließen lassen.

6
timB33

Meine Lösung ähnelt der von SAMBA, außer dass sshfs verwendet wird. Mounten Sie meinen Remote-Server mit sshfs, öffnen Sie mein Makefile-Projekt auf dem Remote-Computer. Geh von dort.

Anscheinend kann ich auf diese Weise auch ein GUI-Frontend für Mercurial ausführen.

Das Erstellen meines Remote-Codes ist so einfach wie: ssh address remote_make_command

Ich bin auf der Suche nach einem anständigen Weg zum Debuggen. Möglicherweise über gdbserver?

3
Samantha

Ich hatte vor 2 Jahren das gleiche Problem und habe es folgendermaßen gelöst:

1) Ich baue meine Projekte mit Makefiles, die nicht von Eclipse verwaltet werden. 2) Ich benutze eine SAMBA-Verbindung, um die Dateien in Eclipse zu bearbeiten Wirt. In der SSH-Befehlszeile können Sie Parameter angeben, die auf dem Linux-Host ausgeführt werden. Ich benutze für diesen Parameter ein makeit.sh-Shell-Skript, das das "echte" make auf dem Linux-Host aufruft. Die verschiedenen Ziele für die Erstellung können Sie auch durch Parameter aus dem lokalen makefile -> makeit.sh -> makefile unter Linux Host angeben.

2
900ss

Ich habe es versucht ssh -X aber es war unerträglich langsam.

Ich habe auch RSE ausprobiert, aber es hat nicht einmal das Erstellen des Projekts mit einem Makefile unterstützt ( Mir wurde gesagt, dass sich dies geändert hat, seit ich meine Antwort gepostet habe , aber ich habe das nicht ausprobiert)

Ich habe gelesen, dass NX schneller ist als die X11-Weiterleitung, aber ich konnte es nicht zum Laufen bringen.

Schließlich fand ich heraus, dass mein Server X2Go unterstützt (der Link enthält Installationsanweisungen, falls nicht). Jetzt musste ich nur noch:

  • eclipse auf den Server herunterladen und entpacken,
  • installiere X2Go auf meinem lokalen Rechner (Sudo apt-get install x2goclient unter Ubuntu),
  • konfigurieren Sie die Verbindung (Host, automatische Anmeldung mit SSH-Schlüssel, Ausführen von Eclipse).

Alles ist so, als würde ich auf einem lokalen Computer arbeiten, einschließlich Erstellen, Debuggen und Indizieren von Code. Und es gibt keine merklichen Verzögerungen.

1
arekolek

In diesem Fall können Sie ptp Eclipse https://Eclipse.org/ptp/ zum Durchsuchen und Erstellen von Quellen verwenden.

Sie können dieses Plug-in zum Debuggen Ihrer Anwendung verwenden

http://marketplace.Eclipse.org/content/direct-remote-c-debugging

0