Работа над удаленным проектом с Eclipse через SSH
У меня есть следующие поля:
- Окно Windows с Eclipse CDT,
- Ящик Linux, доступный для меня только через SSH.
И компилятор, и оборудование, необходимые для сборки и запуска моего проекта, находятся только на машине B.
Я хочу работать "прозрачно" из окна Windows в этом проекте с использованием Eclipse CDT и иметь возможность создавать, запускать и отлаживать проект удаленно из среды IDE.
Как настроить это:
- Здание будет работать? Любые более простые решения, чем запись локального make файла, который будет
rsync
проекта, а затем вызвать удаленный make файл, чтобы инициировать фактическую сборку? Имеет ли Eclipse управляемую сборку функцию для этого?
- Отладка будет работать?
- Предпочтительно - индексирование кода Eclipse CDT будет работать? Нужно ли мне копировать все требуемые файлы заголовков из машины B в машину A и добавлять их вручную, чтобы указать путь?
Ответы
Ответ 1
Попробуйте Удаленный системный проводник (RSE). Это набор плагинов, чтобы делать именно то, что вы хотите.
RSE уже может быть включен в текущую установку Eclipse. Чтобы проверить Eclipse Indigo, перейдите в Окно > Открыть перспективу > Другое... и выберите Удаленный системный проводник. в диалоговом окне "Открыть перспективу", чтобы открыть перспективу RSE.
Чтобы создать удаленный проект SSH с точки зрения RSE в Eclipse:
- Определите новое соединение и выберите SSH Только с экрана "Выбор удаленного системного типа" в диалоговом окне "Новое подключение".
- Введите информацию о подключении, затем нажмите "Готово".
- Подключиться к новому хосту. (Предположим, что ключи SSH уже настроены.)
- После подключения сверьтесь в файлах Sftp хоста, выберите папку и выберите Создать удаленный проект в контекстном меню элемента. (Подождите, пока удаленный проект будет создан.)
Если все сделано правильно, теперь должен быть новый удаленный проект, доступный из Project Explorer и других перспектив в eclipse. При правильной настройке соединения SSH пароли могут стать необязательной частью обычного процесса аутентификации SSH. Теперь создается удаленный проект с Eclipse через SSH.
Ответ 2
Самый простой способ - запустить Eclipse CDT в Linux Box и использовать либо X11-Forwarding, либо программное обеспечение удаленного рабочего стола, такое как VNC.
Это, конечно, возможно только при наличии Eclipse в ящике Linux, и ваше сетевое подключение к ящику достаточно быстро.
Преимущество состоит в том, что из-за того, что все локально, у вас не будет проблем с синхронизацией, и у вас не возникнут какие-либо неудобные кросс-платформенные проблемы.
Если у вас нет затмения на коробке, вы можете подумать о совместном использовании своего рабочего каталога Linux через SMB (или SSHFS) и получить доступ к нему с вашего компьютера Windows, но для этого потребуется довольно некоторая настройка.
Оба будут лучше, чем иметь две копии, особенно когда они кросс-платформенные.
Ответ 3
Я нахожусь в том же месте (или был), FWIW Я закончил проверку на долю samba на хосте Linux и редактировал ее на локальном компьютере Windows с помощью notepad ++, затем я скомпилировал в ящике Linux через PuTTY. (Нам не разрешалось обновлять десять версий версии редакторов на хосте Linux, и у него не было Java, поэтому я отказался от пересылки X11)
Теперь... Я запускаю современный Linux в виртуальной машине на моем хосте Windows, добавляю все инструменты, которые я хочу (например, CDT), к VM, а затем я проверяю и строю в тюрьме chroot, которая очень похожа на RTE.
Это неуклюжее решение, но я думал, что брошу его в микс.
Ответ 4
Мое решение похоже на SAMBA, за исключением использования sshfs. Смонтируйте мой удаленный сервер с помощью sshfs, откройте мой проект makefile на удаленном компьютере. Идите оттуда.
Кажется, я тоже могу запустить интерфейс GUI для этого класса.
Построение моего удаленного кода так же просто, как: ssh address remote_make_command
Я ищу достойный способ отладки. Возможно через gdbserver?
Ответ 5
У меня была та же проблема 2 года назад, и я решил ее следующим образом:
1) Я строю свои проекты с make файлами, не управляемыми eclipse
2) Я использую соединение SAMBA для редактирования файлов внутри Eclipse
3) Построение проекта: Eclipse вызывает "локальный" make с make файлом, который открывает соединение SSH к хосту Linux. В командной строке SSH вы можете указать параметры, которые выполняются на хосте Linux. Я использую для этого параметра оболочку makeit.sh script которые называют "реальным" на хосте linux. Различные цели для построения вы можете дать также по параметрам из локальный makefile → makeit.sh → makefile на хосте linux.
Ответ 6
Я попробовал ssh -X
но это было невыносимо медленно.
Я также попробовал RSE, но он даже не поддерживал создание проекта с Makefile (мне сказали, что это изменилось с тех пор, как я опубликовал свой ответ, но я не пробовал это)
Я читал, что NX быстрее, чем X11, но я не смог заставить его работать.
Наконец, я обнаружил, что мой сервер поддерживает X2Go (по ссылке есть инструкции по установке, если у вас нет). Теперь мне осталось только:
- скачать и распаковать Eclipse на сервере,
- установить X2Go на мою локальную машину (
sudo apt-get install x2goclient
в Ubuntu), - настроить соединение (хост, автоматический вход с помощью ключа ssh, выбрать запуск Eclipse).
Все так же, как если бы я работал на локальной машине, включая сборку, отладку и индексацию кода. И нет никаких заметных лагов.
Ответ 7
В этом случае вы можете использовать ptp eclipse https://eclipse.org/ptp/ для просмотра и создания источников.
Вы можете использовать этот плагин для отладки вашего приложения
http://marketplace.eclipse.org/content/direct-remote-c-debugging