使用SSH通过Eclipse处理远程项目
我有以下几个框:
- Eclipse CDT的Windows盒子,
- 一个Linux机器,只能通过SSH访问我。
构build和运行我的项目所需的编译器和硬件都只在机器B上。
我想使用Eclipse CDT从该项目的Windows框中“透明”地工作,并能够从IDE内部远程构build,运行和debugging项目。
我如何设置:
- build筑将工作? 任何更简单的解决scheme,而不是写一个本地生成文件,
rsync
项目,然后调用远程生成文件来启动实际生成? Eclipse托pipe构build有一个function呢? - debugging将工作?
- 最好 – Eclipse的CDT代码索引将工作? 是否必须将所有必需的头文件从机器B复制到机器A并手动添加到包含path?
尝试远程系统资源pipe理器 (RSE)。 这是一套完全按照你的意愿做的插件。
RSE可能已经包含在您当前的Eclipse安装中。 要检入Eclipse Indigo,请转到“ 窗口” >“ 打开透视图” >“ 其他”,然后从“ 打开透视图”对话框中select“ 远程系统资源pipe理器 ”以打开RSE透视图。
在Eclipse中从RSEangular度创build一个SSH远程项目:
- 定义一个新连接,然后从“新build连接”对话框的“select远程系统types”屏幕中select“仅SSH”。
- input连接信息,然后select完成。
- 连接到新主机。 (假设已经设置了SSH密钥。)
- 一旦连接,深入到主机的Sftp文件 ,select一个文件夹,并从项目的上下文菜单中select创build远程项目 。 (等待远程项目的创build。)
如果做得正确的话,现在应该有一个新的远程项目可以从项目浏览器和eclipse中的其他视angular访问。 通过正确的SSH连接设置,密码可以成为正常SSH身份validation过程的可选部分。 现在通过SSH使用Eclipse进行远程项目。
最简单的方法是在Linux Box上运行Eclipse CDT,并使用X11-Forwarding或远程桌面软件(如VNC)。
当然,这只有当你的Linux存在于Linux机器上,并且你的networking与机器的连接足够快的时候才有可能。
好处是,由于所有东西都是本地的,所以你不会遇到同步问题,也不会遇到任何尴尬的跨平台问题。
如果你的盒子上没有eclipse,你可以考虑通过SMB(或SSHFS)共享你的linux工作目录,并从你的windows机器上访问它,但这需要一些设置。
两者都会比两份更好,尤其是跨平台的时候。
我自己(或曾经)在同一个地方,FWIW我最终检查了Linux主机上的samba共享,并使用记事本++在Windows机器上本地编辑共享,然后通过PuTTY在Linux机器上进行编译。 (我们不允许在Linux主机上更新编辑器的十个版本,而且没有Java,所以我放弃了X11转发)
现在,我在我的Windows主机上的一个虚拟机上运行现代Linux,将所有我想要的工具(例如CDT)添加到虚拟机,然后结帐并构build一个类似于RTE的chroot监狱。
这是一个笨重的解决scheme,但我认为我会把它投入到混合。
除了使用sshfs之外,我的解决scheme与SAMBA类似。 用sshfs挂载我的远程服务器,在远程机器上打开我的makefile项目。 从那里出发
看来我可以用这种方式运行一个GUI前端mercurial。
构build远程代码非常简单:ssh address remote_make_command
我正在寻找一个体面的方式来debugging,但。 可能通过gdbserver?
两年前我有同样的问题,我用下面的方法解决了这个问题:
1)我使用makefile创build我的项目,而不是由eclipsepipe理2)我使用SAMBA连接来编辑Eclipse中的文件3)构build项目:Eclipse使用makefile打开一个“本地”make,打开一个到Linux的SSH连接主办。 在SSH命令行中,您可以提供在Linux主机上执行的参数。 我用这个参数makeit.sh shell脚本,在linux主机上调用“真正的”make。 构build的不同目标也可以通过参数从本地makefile – > makeit.sh – > makefile在linux主机上进行。
在这种情况下,您可以使用ptp eclipse https://eclipse.org/ptp/来进行源代码浏览和构build。;
你可以使用这个插件来debugging你的应用程序
http://marketplace.eclipse.org/content/direct-remote-c-debugging
我试过ssh -X
但是速度太慢了。 我也尝试过RSE,但它甚至不支持用Makefile构build项目。
我读过NX比X11转发速度更快,但我无法使其工作。
最后,我发现我的服务器支持X2Go (链接有安装说明,如果你没有的话)。 现在我只需要:
- 在服务器上下载并解压Eclipse,
- 在我的本地机器上
sudo apt-get install x2goclient
在Ubuntu上sudo apt-get install x2goclient
), - configuration连接(主机,用ssh键自动login,select运行Eclipse)。
一切就像我在本地机器上工作一样,包括构build,debugging和代码索引。 并没有明显的滞后。