Работа над удаленным проектом с Eclipse через SSH - PullRequest
184 голосов
/ 18 ноября 2010

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

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

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

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

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

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

Ответы [ 7 ]

206 голосов
/ 18 ноября 2010

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

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

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

  1. Определите новое соединение и выберите SSH Only изВыберите экран Remote System Type в диалоговом окне New Connection.
  2. Введите информацию о соединении, затем выберите Finish.
  3. Подключитесь к новому хосту.(Предполагается, что ключи SSH уже настроены.)
  4. После подключения просмотрите файлы Sftp хоста, выберите папку и выберите Создать удаленный проект из контекста элемента.меню.(Дождитесь создания удаленного проекта.)

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

11 голосов
/ 18 ноября 2010

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

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

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

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

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

6 голосов
/ 20 декабря 2010

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

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

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

3 голосов
/ 23 марта 2011

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

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

2 голосов
/ 28 ноября 2010

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

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

1 голос
/ 18 декабря 2015

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

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

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

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

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

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

0 голосов
/ 11 июня 2015

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

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

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

...