web-dev-qa-db-ja.com

SSH経由でEclipseを使用してリモートプロジェクトで作業する

次のボックスがあります。

  1. Eclipse CDTを備えたWindowsボックス、
  2. Linuxボックス。SSH経由でのみアクセスできます。

プロジェクトのビルドと実行に必要なコンパイラとハードウェアの両方がマシンBにのみあります。

Eclipse CDTを使用して、そのプロジェクトのWindowsボックスから「透過的に」作業し、IDE内からプロジェクトをリモートでビルド、実行、デバッグできるようにします。

どのように設定しますか:

  • 建物は機能しますか?プロジェクトをrsyncしてローカルのmakefileを作成してからリモートのmakefileを呼び出して実際のビルドを開始するよりも簡単な解決策はありますか? Eclipse管理ビルドにはその機能がありますか?
  • デバッグは機能しますか?
  • できれば-Eclipse CDTコードのインデックス作成は機能しますか?必要なすべてのヘッダーファイルをマシンBからマシンAにコピーし、それらを追加してパスを手動で含める必要がありますか?
183
Kos

Remote System Explorer (RSE)を試してください。まさにあなたが望むことをするためのプラグインのセットです。

RSEは、現在のEclipseインストールに既に含まれている場合があります。 Eclipse Indigoをチェックインするには、Window>Open Perspective>その他...およびRemote System ExplorerからOpen PerspectiveダイアログでRSEパースペクティブを開きます。

EclipseのRSEパースペクティブからSSHリモートプロジェクトを作成するには:

  1. 新しい接続を定義し、[新しい接続]ダイアログの[リモートシステムタイプの選択]画面から[SSHのみ]を選択します。
  2. 接続情報を入力し、完了を選択します。
  3. 新しいホストに接続します。 (SSHキーが既にセットアップされていると仮定します。)
  4. 接続したら、ホストのSftpファイルにドリルダウンし、フォルダーを選択してCreate Remote Projectを選択しますアイテムのコンテキストメニュー。 (リモートプロジェクトが作成されるのを待ちます。)

正しく行われた場合、プロジェクトエクスプローラーおよびEclipse内の他のパースペクティブからアクセスできる新しいリモートプロジェクトがあるはずです。 SSH接続を正しくセットアップすると、パスワードを通常のSSH認証プロセスのオプションの一部にすることができます。 SSHを介したEclipseを使用したリモートプロジェクトが作成されました。

206
Aaron Digulla

最も簡単な方法は、LinuxボックスでEclipse CDTを実行し、X11-ForwardingまたはVNCなどのリモートデスクトップソフトウェアを使用することです。

もちろん、これはEclipseがLinuxボックスに存在し、ボックスへのネットワーク接続が十分に速い場合にのみ可能です。

利点は、すべてがローカルであるため、同期の問題が発生せず、厄介なクロスプラットフォームの問題が発生しないことです。

Eclipseがボックスにない場合は、SMB(またはSSHFS)を介してLinux作業ディレクトリを共有し、Windowsマシンからアクセスすることを検討できますが、これにはかなりの設定が必要です。

クロスプラットフォームの場合は特に、両方とも2つのコピーを持つよりも優れているでしょう。

11
Lagerbaer

私は同じ場所にいます(またはそうでした)。FWIWは最終的にLinuxホスト上のsamba共有をチェックアウトし、その共有をnotepad ++でWindowsマシン上でローカルに編集し、PuTTY経由でLinuxボックスでコンパイルしました。 (Linuxホスト上の10個のy/oバージョンのエディターを更新することは許可されておらず、Javaホストがないため、X11フォワーディングをあきらめました)

今... WindowsホストのVMで最新のLinuxを実行し、必要なすべてのツール(CDTなど)をVMに追加してから、chrootでチェックアウトしてビルドしますRTEによく似た刑務所。

それは不格好な解決策ですが、私はミックスにそれを投げると思いました。

6
timB33

私のソリューションは、sshfsを使用することを除いて、SAMBAのソリューションに似ています。リモートサーバーをsshfsでマウントし、リモートマシンでmakefileプロジェクトを開きます。そこから行きます。

この方法でもMercurialのGUIフロントエンドを実行できるようです。

リモートコードの作成は次のように簡単です:ssh address remote_make_command

しかし、私はまともなデバッグ方法を探しています。おそらくgdbserver経由ですか?

3
Samantha

2年前に同じ問題が発生しましたが、次の方法で解決しました。

1)Eclipseで管理されないメイクファイルを使用してプロジェクトをビルドします2)Eclipse内でファイルを編集するためにSAMBA接続を使用します3)プロジェクトのビルド:Eclipseは、LinuxへのSSH接続を開くメイクファイルで「ローカル」メイクを呼び出しますホスト。 SSHコマンドラインでは、Linuxホストで実行されるパラメーターを指定できます。そのパラメーターには、Linuxホストで「実際の」makeを呼び出すmakeit.shシェルスクリプトを使用します。ビルドのさまざまなターゲットは、Linuxホスト上のローカルメイクファイル-> makeit.sh->メイクファイルのパラメーターによっても指定できます。

2
900ss

ssh -Xを試しましたが、耐え難いほど遅いです。

私もRSEを試しましたが、Makefileでプロジェクトをビルドすることさえサポートしていませんでした( 答えを投稿してからこれが変わったと言われています 、しかし、私はそれを試していません)

NXはX11転送よりも高速ですが、動作させることができませんでした。

最後に、私のサーバーが X2Go をサポートしていることがわかりました(リンクにない場合はインストール手順があります)。今私はする必要がありました:

  • サーバーにEclipseをダウンロードして解凍します。
  • ローカルマシンにX2Goをインストールします(UbuntuではSudo apt-get install x2goclient)、
  • 接続を構成します(ホスト、sshキーを使用した自動ログイン、Eclipseの実行を選択)。

構築、デバッグ、コードインデックス作成など、すべてがローカルマシンで作業しているかのようです。そして、顕著な遅れはありません。

1
arekolek

この場合、ソースの参照とビルドにptp Eclipse https://Eclipse.org/ptp/ を使用できます。

このプラグを使用して、アプリケーションをデバッグできます

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

0