it-swarm.com.ru

Работа над удаленным проектом с Eclipse через SSH

У меня есть следующие коробки:

  1. Коробка Windows с Eclipse CDT,
  2. Коробка Linux, доступная для меня только через SSH.

И компилятор, и оборудование, необходимое для сборки и запуска моего проекта, находятся только на компьютере B.

Я хотел бы работать "прозрачно" из окна Windows в этом проекте с помощью Eclipse CDT и иметь возможность создавать, запускать и отлаживать проект удаленно из среды IDE.

Как мне это настроить:

  • Здание будет работать? Есть ли более простые решения, чем написание локального make-файла, который будет rsync проекта, а затем вызовет удаленный make-файл, чтобы инициировать фактическую сборку? Есть ли в Eclipse управляемая сборка такая возможность?
  • Отладка будет работать?
  • Желательно - индексирование кода Eclipse CDT будет работать? Нужно ли копировать все необходимые заголовочные файлы с компьютера B на компьютер A и добавлять их вручную, чтобы включить путь?
183
Kos

Попробуйте Remote System Explorer (RSE). Это набор плагинов, чтобы делать именно то, что вы хотите.

RSE уже может быть включен в вашу текущую установку Eclipse. Для проверки в Eclipse Indigo перейдите в окно > Открыть перспективу > Другое ... и выберите Remote System Explorer из Открыть Перспектива диалог, чтобы открыть перспективу RSE.

Чтобы создать удаленный проект SSH с точки зрения RSE в Eclipse:

  1. Определите новое соединение и выберите "Только SSH" на экране "Выбор типа удаленной системы" в диалоговом окне "Новое соединение".
  2. Введите информацию о соединении, затем выберите Готово.
  3. Подключитесь к новому хосту. (Предполагается, что ключи SSH уже настроены.)
  4. После подключения разверните узел Sftp Files, выберите папку и выберите Создать удаленный проект в контекстном меню элемента. (Подождите, пока удаленный проект создан.)

Если все сделано правильно, теперь должен быть новый удаленный проект, доступный из Project Explorer и других ракурсов в Eclipse. При правильной настройке соединения SSH пароли могут стать дополнительной частью обычного процесса аутентификации SSH. Удаленный проект с Eclipse через SSH теперь создан.

206
Aaron Digulla

Самый простой способ - запустить Eclipse CDT на Linux Box и использовать программное обеспечение X11-Forwarding или программное обеспечение для удаленного рабочего стола, такое как VNC.

Это, конечно, возможно только в том случае, если Eclipse присутствует на компьютере с Linux и ваше сетевое подключение к компьютеру достаточно быстрое.

Преимущество состоит в том, что из-за того, что все локально, у вас не будет проблем с синхронизацией, и у вас не будет никаких неловких кроссплатформенных проблем.

Если у вас нет Eclipse на коробке, вы можете подумать о том, чтобы поделиться своим рабочим каталогом linux через SMB (или SSHFS) и получить к нему доступ с вашего компьютера с Windows, но для этого потребуются некоторые настройки.

И то, и другое лучше, чем иметь две копии, особенно если это кроссплатформенная.

11
Lagerbaer

Я сам в том же месте (или был), FWIW. Я закончил тем, что проверял общий ресурс samba на хосте Linux и редактировал этот локальный ресурс на компьютере с Windows с помощью notepad ++, затем я компилировал его на Linux с помощью PuTTY. (Нам не разрешали обновлять десять версий редакторов на хосте Linux, и у него не было Java, поэтому я отказался от пересылки X11)

Теперь ... я запускаю современный Linux в VM на своем хосте Windows, добавляю все необходимые инструменты (например, CDT) в VM, а затем извлекаю и встраиваю chroot тюрьма, которая очень похожа на RTE.

Это неуклюжее решение, но я решил добавить его в микс.

6
timB33

Мое решение похоже на SAMBA, за исключением использования sshfs. Смонтируйте мой удаленный сервер с помощью sshfs, откройте мой проект makefile на удаленной машине. Иди оттуда.

Похоже, я тоже могу запустить интерфейс с графическим интерфейсом Mercurial.

Создать мой удаленный код так же просто, как: ssh address remote_make_command

Я ищу достойный способ отладки, хотя. Возможно, через gdbserver?

3
Samantha

У меня была такая же проблема 2 года назад, и я решил ее следующим образом:

1) Я создаю свои проекты с использованием make-файлов, не управляемых Eclipse. 2) Я использую соединение SAMBA для редактирования файлов внутри Eclipse. 3) Создание проекта: Eclipse вызывает "локальное" создание с помощью make-файла, который открывает SSH-соединение с Linux. Хост. В командной строке SSH вы можете указать параметры, которые выполняются на хосте Linux. Для этого параметра я использую скрипт оболочки makeit.sh, который вызывает "реальный" make на Linux-хосте. Различные цели для сборки вы можете также указать с помощью параметров из локального makefile -> makeit.sh -> makefile на хосте Linux.

2
900ss

Я попробовал ssh -X, но это было невыносимо медленно.

Я также попробовал RSE, но он даже не поддерживал создание проекта с Makefile ( мне говорят, что это изменилось с тех пор, как я опубликовал свой ответ , но я не пробовал это)

Я читал, что NX быстрее, чем X11, но я не смог заставить его работать.

Наконец, я обнаружил, что мой сервер поддерживает X2Go (по ссылке есть инструкции по установке, если у вас нет). Теперь мне осталось только:

  • скачать и распаковать Eclipse на сервере,
  • установить X2Go на мой локальный компьютер (Sudo apt-get install x2goclient в Ubuntu),
  • настроить соединение (Host, авто-логин с ключом ssh, выбрать запуск Eclipse).

Все так же, как если бы я работал на локальной машине, включая сборку, отладку и индексацию кода. И нет никаких заметных лагов.

1
arekolek

В этом случае вы можете использовать ptp Eclipse https://Eclipse.org/ptp/ для просмотра и построения исходного кода.

Вы можете использовать эту заглушку для отладки вашего приложения

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

0
Mohamed Abdelazim