[c] SSH를 통해 Eclipse로 원격 프로젝트 작업

다음과 같은 상자가 있습니다.

  1. Eclipse CDT가 포함 된 Windows 상자
  2. SSH를 통해서만 액세스 할 수있는 Linux 상자.

프로젝트를 빌드하고 실행하는 데 필요한 컴파일러와 하드웨어는 모두 머신 B에만 있습니다.

Eclipse CDT를 사용하여 해당 프로젝트의 Windows 상자에서 “투명하게”작업하고 IDE 내에서 원격으로 프로젝트를 빌드, 실행 및 디버깅하고 싶습니다.

어떻게 설정합니까?

  • 건물이 작동합니까? rsync프로젝트 를 만들 로컬 makefile을 작성한 다음 원격 makefile을 호출하여 실제 빌드를 시작 하는 것보다 간단한 솔루션이 있습니까? Eclipse 관리 빌드에는 그 기능이 있습니까?
  • 디버깅이 작동합니까?
  • 바람직하게는 Eclipse CDT 코드 색인이 작동합니까? 머신 B에서 머신 A로 필요한 모든 헤더 파일을 복사하고 경로를 수동으로 포함하도록 추가해야합니까?


답변

원격 시스템 탐색기 (RSE)를 사용해보십시오 . 원하는 것을 정확하게 수행하는 플러그인 세트입니다.

RSE는 현재 Eclipse 설치에 이미 포함되어있을 수 있습니다. Eclipse Indigo에서 체크인하려면 > Perspective 열기 > 기타 …로 이동 하고 Perspective 열기 대화 상자 에서 원격 시스템 탐색기 를 선택 하여 RSE Perspective를여십시오.

Eclipse의 RSE 관점에서 SSH 원격 프로젝트를 작성하려면 다음을 수행하십시오.

  1. 새 연결을 정의하고 새 연결 대화 상자의 원격 시스템 유형 선택 화면에서 SSH 전용을 선택하십시오.
  2. 연결 정보를 입력 한 후 Finish를 선택하십시오.
  3. 새 호스트에 연결하십시오. SSH 키가 이미 설정되어 있다고 가정합니다.
  4. 연결되면 호스트의 Sftp 파일 로 드릴 다운 하고 폴더를 선택한 다음 항목의 상황에 맞는 메뉴에서 원격 프로젝트 생성을 선택 하십시오 . (원격 프로젝트가 생성 될 때까지 기다립니다.)

올바르게 완료되면 이제 프로젝트 탐색기 및 이클립스 내의 다른 관점에서 액세스 할 수있는 새 원격 프로젝트가 있어야합니다. SSH 연결이 올바르게 설정되면 일반 SSH 인증 프로세스의 선택적 부분으로 비밀번호를 만들 수 있습니다. SSH를 통한 Eclipse를 사용한 원격 프로젝트가 작성되었습니다.


답변

가장 간단한 방법은 Linux Box에서 Eclipse CDT를 실행하고 X11-Forwarding 또는 VNC와 같은 원격 데스크톱 소프트웨어를 사용하는 것입니다.

물론 이것은 Linux 상자에 Eclipse가 있고 상자에 대한 네트워크 연결이 충분히 빠른 경우에만 가능합니다.

이점은 모든 것이 로컬이기 때문에 동기화 문제가 없으며 플랫폼 간 문제가 발생하지 않는다는 것입니다.

상자에 일식이 없다면 SMB (또는 SSHFS)를 통해 Linux 작업 디렉토리를 공유하고 Windows 시스템에서 액세스 할 수 있지만 약간의 설정이 필요합니다.

둘 다, 특히 크로스 플랫폼 일 때 두 복사본을 갖는 것보다 낫습니다.


답변

나는 같은 장소에 있거나 FWIW Linux 호스트에서 samba 공유를 확인하고 메모장 ++를 사용하여 Windows 컴퓨터에서 로컬로 공유하는 편집을 끝내고 PuTTY를 통해 Linux 상자에서 컴파일했습니다. (우리는 Linux 호스트에서 편집기의 10 가지 버전의 편집기를 업데이트 할 수 없었으며 Java가 없었으므로 X11 전달을 포기했습니다.)

이제 … Windows 호스트의 VM에서 최신 Linux를 실행하고 원하는 모든 도구 (예 : CDT)를 VM에 추가 한 다음 RTE와 유사한 chroot jail을 체크 아웃하고 빌드합니다.

그것은 엉뚱한 해결책이지만 믹스에 넣을 것이라고 생각했습니다.


답변

내 솔루션은 sshfs를 사용하는 것을 제외하고 SAMBA 솔루션과 유사합니다. sshfs로 원격 서버를 마운트하고 원격 시스템에서 makefile 프로젝트를여십시오. 거기에서 가십시오.

이런 식으로도 수은에 GUI 프론트 엔드를 실행할 수있는 것 같습니다.

원격 코드 작성은 다음과 같이 간단합니다. ssh address remote_make_command

그래도 디버깅 할 적절한 방법을 찾고 있습니다. 아마도 gdbserver를 통해?


답변

나는 2 년 전에 같은 문제가 있었고 다음과 같은 방식으로 해결했습니다.

1) Eclipse로 관리하지 않고 makefile로 프로젝트를 빌드합니다. 2) Eclipse 내에서 파일을 편집하기 위해 SAMBA 연결을 사용합니다. 3) 프로젝트 빌드 : Eclipse는 Linux에 대한 SSH 연결을 여는 makefile로 “로컬”make를 호출합니다. 주최자. SSH 명령 행에서 Linux 호스트에서 실행되는 매개 변수를 제공 할 수 있습니다. 리눅스 호스트에서 “실제”make를 호출하는 makeit.sh 쉘 스크립트를 해당 매개 변수에 사용합니다. 빌드하는 다른 대상은 Linux 호스트의 로컬 makefile-> makeit.sh-> makefile의 매개 변수로 제공 할 수도 있습니다.


답변

나는 시도 ssh -X했지만 참을 수 없을 정도로 느렸다.

나는 또한 RSE를 시도했지만 Makefile을 사용하여 프로젝트를 빌드하는 것을 지원하지도 않았다 ( 내 답변을 게시 한 후에 이것이 변경되었다는 말을 들었지만 시도하지 않았다)

NX가 X11 전달보다 빠르다는 것을 읽었지만 작동시키지 못했습니다.

마지막으로, 내 서버가 X2Go를 지원한다는 것을 알았습니다 (링크에 설치 지침이없는 경우 설치 지침이 있음). 이제 나는 단지

  • 서버에서 Eclipse를 다운로드하여 압축을 풉니 다.
  • 로컬 컴퓨터 ( sudo apt-get install x2goclientUbuntu에)에 X2Go를 설치하십시오.
  • 연결을 구성하십시오 (호스트, ssh 키로 자동 로그인, Eclipse 실행 선택).

마치 빌드, 디버깅 및 코드 인덱싱을 포함하여 로컬 컴퓨터에서 작업하는 것처럼 모든 것이 가능합니다. 그리고 눈에 띄는 지연이 없습니다.


답변

이 경우 소스 찾아보기 및 빌드에 ptp eclipse https://eclipse.org/ptp/ 를 사용할 수 있습니다 .

이 플러그를 사용하여 응용 프로그램을 디버깅 할 수 있습니다

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