Travailler sur un projet distant avec Eclipse via SSH

J'ai les cases suivantes:

  1. Une Boîte Windows avec Eclipse CDT,
  2. Une boîte Linux, accessible pour moi uniquement via SSH.

Le compilateur et le matériel requis pour construire et exécuter mon projet sont uniquement sur la machine B.

Je voudrais travailler "de manière transparente" à partir d'une boîte Windows sur ce projet en utilisant Eclipse CDT et pouvoir construire, exécuter et déboguer le projet à distance à partir de l'IDE.

Comment puis-je configurer cela:

  • Le bâtiment travail? Des solutions plus simples que d'écrire un makefile local qui rsync le projet, puis appeler un makefile distant pour lancer la construction réelle? N'Éclipse réussi à construire une fonction pour ça?
  • le débogage fonctionnera?
  • de préférence - L'indexation de code Eclipse CDT fonctionnera? Dois-je copier tous les fichiers d'en-tête requis de la machine B vers la machine a et les ajouter manuellement au chemin d'inclusion?
173
demandé sur jww 2010-11-18 19:00:19

7 réponses

Essayez le Remote System Explorer (RSE). C'est un ensemble de plugins pour faire exactement ce que vous voulez.

RSE peut déjà être inclus dans votre installation Eclipse actuelle. Pour vérifier dans Eclipse Indigo aller à Fenêtre > Ouvrir la Perspective > d'Autres...{[6] } et choisissez Remote System Explorerdans la boîte de dialogue Open Perspective pour ouvrir la perspective RSE.

Pour créer un projet distant SSH du point de vue RSE dans Eclipse:

  1. définissez une nouvelle connexion et choisissez SSH uniquement dans L'écran Sélectionner le type de système distant de la boîte de dialogue Nouvelle connexion.
  2. saisissez les informations de connexion, puis choisissez Terminer.
  3. Se connecter au nouvel hôte. (Suppose que les clés SSH sont déjà configurées.)
  4. Une fois connecté, explorez les fichiers Sftp de l'hôte , choisissez un dossier et sélectionnez Créer un projet distant dans le menu contextuel de l'élément. (Attendez que le projet distant soit créé.)

Si cela est fait correctement, il devrait maintenant y avoir un nouveau projet distant accessible depuis L'Explorateur de projet et d'autres perspectives dans eclipse. Avec la configuration correcte de la connexion SSH, les mots de passe peuvent devenir une partie facultative du processus d'authentification SSH normal. Un projet distant avec Eclipse via SSH est maintenant créé.

191
répondu Aaron Digulla 2011-12-29 03:52:42

Le moyen le plus simple serait d'exécuter Eclipse CDT sur la boîte Linux et d'utiliser un logiciel X11-Forwarding ou Remote desktop tel que VNC.

Ceci, bien sûr, n'est possible que lorsque vous Eclipse est présent sur la boîte Linux et que votre connexion réseau à la boîte est suffisamment rapide.

L'avantage est que, parce que tout est local, vous n'aurez pas de problèmes de synchronisation, et vous n'aurez pas de problèmes multi-plateformes gênants.

Si vous n'avez pas d'éclipse sur la boîte, vous pourriez penser à partager votre répertoire de travail linux via SMB (ou SSHFS) et y accéder depuis votre machine windows, mais cela nécessiterait une certaine configuration.

Les deux seraient mieux que d'avoir deux copies, surtout quand c'est multi-plateforme.

10
répondu Lagerbaer 2010-11-18 16:07:37

Je suis moi-même au même endroit (ou était), FWIW j'ai fini par vérifier un partage samba sur L'hôte Linux et éditer ce partage localement sur la machine Windows avec notepad++, puis j'ai compilé sur la boîte Linux via PuTTY. (Nous n'étions pas autorisés à mettre à jour les dix versions y / o des éditeurs sur L'hôte Linux et il N'avait pas Java, donc j'ai abandonné le transfert X11)

Maintenant... J'exécute Linux moderne dans une machine virtuelle sur mon hôte Windows, ajoute tous les outils que je veux (par exemple CDT) à la machine virtuelle, puis je vérifie et construire dans une prison chroot qui ressemble étroitement à la RTE.

C'est une solution maladroite mais je pensais la jeter dans le mélange.

6
répondu timB33 2010-12-20 09:01:06

Ma solution est similaire à celle de SAMBA sauf en utilisant sshfs. Montez mon serveur distant avec sshfs, ouvrez mon projet makefile sur la machine distante. À partir de là.

Il semble que je puisse aussi exécuter une interface graphique à mercurial de cette façon.

Construire mon code distant est aussi simple que: adresse SSH remote_make_command

Je cherche un moyen décent de déboguer cependant. Peut-être via gdbserver?

3
répondu Samantha 2011-03-22 22:34:12

J'ai eu le même problème il y a 2 ans et je l'ai résolu de la manière suivante:

1) je construis mes projets avec des makefiles, non gérés par eclipse 2) j'utilise une connexion SAMBA pour éditer les fichiers à L'intérieur D'Eclipse 3) Construire le projet: Eclipse appelle un make "local" avec un makefile qui ouvre une connexion SSH l'Hôte Linux. Sur la ligne de commande SSH vous pouvez donner des paramètres qui sont exécutés sur L'hôte Linux. J'utilise pour ce paramètre un makeit.sh script shell qui appellent l' "réel" faire sur l'hôte linux. Les différentes cibles pour la construction, vous pouvez également donner par des paramètres de le makefile local --> makeit.sh - > makefile sur l'hôte linux.

2
répondu 900ss 2010-11-28 16:18:15

Pour ce cas, vous pouvez utiliser ptp eclipse https://eclipse.org/ptp/ pour la navigation et la construction de sources.

Vous pouvez utiliser ce branchement pour déboguer votre application

Http://marketplace.eclipse.org/content/direct-remote-c-debugging

1
répondu Mohamed Abdelazim 2015-06-11 12:17:15

J'ai essayé ssh -X, mais il était insupportablement lent. J'ai également essayé RSE, mais il n'a même pas pris en charge la construction du projet avec un Makefile.

J'ai lu que NX est plus rapide que le transfert X11, mais je n'ai pas pu le faire fonctionner.

Enfin, j'ai découvert que mon serveur prend en charge X2Go (le lien a des instructions d'installation si le vôtre ne le fait pas). Maintenant, je n'avais qu'à:

  • téléchargez et décompressez Eclipse sur le serveur,
  • installez X2Go sur ma machine locale (sudo apt-get install x2goclient sur Ubuntu),
  • configurez la connexion (hôte, connexion automatique avec la clé ssh, choisissez d'exécuter Eclipse).

Tout est comme si je travaillais sur une machine locale, y compris la construction, le débogage et l'indexation de code. Et il n'y a pas perceptible gal.

1
répondu arekolek 2015-12-18 12:19:37