代码之家  ›  专栏  ›  技术社区  ›  Kos

通过SSH使用Eclipse处理远程项目

  •  183
  • Kos  · 技术社区  · 14 年前

    我有下列箱子:

    1. 一个带EclipseCDT的窗口框,
    2. 一个Linux盒子,只能通过SSH访问。

    编译程序和生成并运行我的项目所需的硬件都只在机器B上。

    我希望使用EclipseCDT从一个Windows框中“透明地”处理该项目,并能够从IDE中远程构建、运行和调试该项目。

    如何设置:

    • 这栋楼能用吗?任何比编写本地makefile更简单的解决方案 rsync 然后调用远程生成文件来启动实际的生成?Eclipse管理的构建是否具有这方面的功能?
    • 调试会成功吗?
    • 最好是Eclipse CDT代码索引会起作用吗?我是否必须将所有必需的头文件从机器B复制到机器A并手动添加到包含路径?
    7 回复  |  直到 7 年前
        1
  •  214
  •   vhs    13 年前

    试试 Remote System Explorer (RSE)。它是一组插件,可以满足您的需要。

    RSE可能已经包含在当前的Eclipse安装中。要签入Eclipse Indigo,请转到 窗口 > 开放视角 > 其他。。。 然后选择 远程系统资源管理器 开放视角 打开RSE透视图的对话框。

    要从Eclipse中的RSE透视图创建SSH远程项目,请执行以下操作:

    1. 定义一个新连接,并在new connection对话框的Select Remote System Type屏幕中选择SSH Only。
    2. 输入连接信息,然后选择Finish。
    3. 连接到新主机。(假设已经设置了SSH密钥。)
    4. 一旦连接,深入到主机的 Sftp文件 ,选择文件夹并选择 创建远程项目 从项目的上下文菜单。(在创建远程项目时等待。)

    如果操作正确,那么现在应该有一个新的远程项目可以从project Explorer和eclipse中的其他透视图访问。通过正确设置SSH连接,可以使密码成为正常SSH身份验证过程的可选部分。现在创建了一个通过SSH使用Eclipse的远程项目。

        2
  •  12
  •   cadolphs    14 年前

    最简单的方法是在Linux上运行Eclipse CDT,使用X11转发或远程桌面软件(比如VNC)。

    当然,只有当Eclipse出现在Linux机器上并且您与机器的网络连接足够快时,这才是可能的。

    优点是,由于所有内容都是本地的,因此不会出现同步问题,也不会出现任何尴尬的跨平台问题。

    如果没有eclipse,可以考虑通过SMB(或SSHFS)共享linux工作目录并从windows机器访问它,但这需要相当多的设置。

    两者都比拥有两个拷贝要好,尤其是在跨平台的情况下。

        3
  •  6
  •   timB33    14 年前

    我自己也在同一个地方(或者曾经在同一个地方),FWIW我最终在Linux主机上签出了samba共享,并用notepad++在Windows机器上本地编辑了该共享,然后通过PuTTY在Linux机器上编译。(我们不允许在Linux主机上更新10个y/o版本的编辑器,而且它没有Java,所以我放弃了X11转发)

    现在。。。我在Windows主机上的VM中运行现代Linux,将所有我想要的工具(如CDT)添加到VM中,然后签出并构建一个与RTE非常相似的chroot监狱。

    这是一个笨拙的解决方案,但我想我会把它混为一谈。

        4
  •  3
  •   Samantha    13 年前

    我的解决方案与SAMBA类似,只是使用sshfs。用sshfs挂载我的远程服务器,在远程计算机上打开我的makefile项目。从那里开始。

    似乎我也可以用这种方式运行一个面向mercurial的GUI前端。

    构建远程代码非常简单:ssh address remote_make_命令

    我正在寻找一个体面的方法来调试。可能是通过gdbserver?

        5
  •  2
  •   900ss    14 年前

    两年前我也遇到过同样的问题,我用以下方法解决了它:

    1) 我使用makefile构建项目,而不是由eclipse管理 2) 我使用SAMBA连接编辑Eclipse中的文件 3) 建设项目: Eclipse使用打开SSH连接的makefile调用“local”make 到Linux主机。在SSH命令行上,您可以提供以下参数 在Linux主机上执行。我使用makeit.sh shell脚本作为参数 在linux主机上称为“真正的”make。 不同的建筑目标也可以通过 linux主机上的本地makefile-->makeit.sh-->makefile。

        6
  •  1
  •   arekolek    5 年前

    我试过了 ssh -X 但速度太慢了。

    我也试过RSE,但它甚至不支持用Makefile构建项目( I'm being told that this has changed since I posted my answer ,但我还没试过)

    我读到NX比X11转发速度快,但我无法让它工作。

    最后,我发现我的服务器支持 X2Go (如果你没有,链接有安装说明)。现在我只需要:

    • 在服务器上下载并解压Eclipse,
    • 在本地计算机上安装X2Go( sudo apt-get install x2goclient 在Ubuntu上,
    • 配置连接(主机,使用ssh密钥自动登录,选择运行Eclipse)。

    一切就好像我在本地机器上工作,包括构建、调试和代码索引。而且没有明显的滞后。

        7
  •  0
  •   Mohamed Abdelazim    9 年前

    对于这种情况,您可以使用ptp eclipse https://eclipse.org/ptp/ 用于资源浏览和构建。

    你可以使用这个插件来调试你的应用程序

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