http://blog.csdn.net/lostaway/article/details/8086056

1、简介

Windows 下远程 Linux 开发工具,比较著名的就是 WinGDB 和 Magic C++。都是商业软件,而且配置复杂,据说还不稳定。其实,我们想要的就是个图形环境 IDE,而且是直接操作的远程 Linux 环境。经过若干的实践,发现使用 SecureCRT + Eclipse 基于 X11 转发即可实现可视化远程 Linux 开发。先附上最终效果图:

2、环境&软件准备

Windows 环境:Windows 7

Linux 环境:RHEL 4.8

Eclipse:eclipse-cpp-indigo-SR2-incubation-linux-gtk.tar.gz (Linux 版)

SecureCRT:SecureCRT  6.5.3

Xming:Xming 6.9.0.31 http://sourceforge.net/projects/xming/

3、详细步骤

ps: 开始配置的前提是你的 SecureCRT 能正常 SSH 到 Linux 主机。

如果遇到问题,可看看“参考”部分。

3.1、开启 Linux 主机 X11 转发

编辑 sshd_config 文件 开启 X11 转发功能:

$sudo vi /etc/ssh/sshd_config

使其中的 X11Forwarding 配置项为 yes:

X11Forwarding yes

ps:可能需要重启 Linux。

3.2、Windows 安装 Xming

双击安装,一路 Next。在选择显示方式(Select display setting)时,选择多窗口(Multiple windows)模式。这样显示出来的窗口就和 Windows 本地的窗口一致了。

3.3、配置 SecureCRT,支持 X11 转发

勾选“转发 X11 数据包”。

3.4 测试 X11 转发功能

Windows 中启动刚安装好的 Xming 程序。

SecureCRT 终端中输入:

$  xcalc &

若功能正常,会出现一个计算器。

3.5 Linux 中安装 Eclipse

这个不多说,网络上都有,装 JDK,解压 Eclipse 即可。安装后,确保在 Linux 图形环境下,Eclipse 可以运行的起来。

3.6 启动 Eclipse

$ nohup eclipse > /dev/null &

Linux 中的 Eclipse 就启动在 Windows 上了。

4、总结

这样的 Linux 开发环境已经使用了大半年,完全可以胜任日常的开发工作。唯一的缺点就是无法输入中文(据说是输入法设置冲突,有解决方法,还未尝试),不过可以复制中文进去。好处就很多了,特别是必须在远程服务器上开发的时候。告别了用 UE 的 FTP 远程开发的方式,Eclipse 下代码编辑,编译,调试都非常方便。

参考

[1] 用Xming替代Xmanager,在windows下图形化登陆linux

[2] X11 Forwarding with SSH(SecureCRT Setup)

[3] [初级教程]用SecureCRT+Xming轻松远程实现linux的X DISPLAY

编辑历史

V1.01 增加启动 Xming 部分。

V 1.0  完成初稿。

V 0.1  完成 1、2 节。

[z]Windows 下基于 Eclipse 的可视化远程 Linux C/C++ 开发环境搭建的更多相关文章

  1. 在windows下用eclipse + pydev插件来配置python的开发环境

    在windows下用eclipse + pydev插件来配置python的开发环境 一.安装 python 可以到网上下个Windows版的python,官网为:https://www.python. ...

  2. 基于Eclipse IDE的Ardupilot飞控源码阅读环境搭建

    基于Eclipse IDE的Ardupilot飞控源码阅读环境搭建 作者:Awesome 日期:2017-10-21 需准备的软件工具 Ardupilot飞控源码 PX4 toolchain JAVA ...

  3. 基于Qt Designer和PyQt5的桌面软件开发--环境搭建和入门例子

      本文介绍了如何使用技术栈PyCharm+Qt Designer+PyQt5来开发桌面软件,从环境搭建.例子演示到对容易混淆概念的解释.文中用到的全部软件+代码下载链接为:https://url39 ...

  4. 在windows下使用多版本Python安装相应的虚拟开发环境

    在windows下面使用多版本Python安装相应的虚拟开发环境   在搭建一个项目的时候,希望使用最新版的Python3.7版本,但是Python3.6的版本也要留下,那么问题来了,如何解决这个问题 ...

  5. Linux下基于HTTP协议带用户认证的GIT开发环境设置

    Git 的访问可以采用 HTTP 或 SSH 协议安全的访问,通常我们使用 gitlib 进行 Web 管理,但是在 Linux 命令行开发环境下,基本都是使用 SSH 协议,只需要在 gitlib ...

  6. Windows下基于eclipse的Storm应用开发与调试

    原创文章,转载请注明: 转载自http://www.cnblogs.com/tovin/p/3971113.html 本文以一个简单的example来讲解如何开发storm应用程序 1.创建maven ...

  7. Windows下基于eclipse的Spark应用开发环境搭建

    原创文章,转载请注明: 转载自www.cnblogs.com/tovin/p/3822985.html 一.软件下载 maven下载安装 :http://10.100.209.243/share/so ...

  8. windows下Bullet 2.82编译安装(Bullet Physics开发环境配置)

    平台:Win7,VS2010 1. Bullet库的组织 下图是Bullet_User_Manual中的截图: 从中可见,Bullet的LinearMath(线性数学模块),其上是BulletColl ...

  9. windows下用eclipse+goclipse插件+gdb搭建go语言开发调试环境

    windows下用eclipse+goclipse插件+gdb搭建go语言开发调试环境   http://rongmayisheng.com/post/windows%E4%B8%8B%E7%94%A ...

随机推荐

  1. PyQt5系列教程

    PyQt5系列教程(一)Mac OS X下搭建Python3.5.1+PyQt5开发环境PyQt5系列教程(二)利用QtDesigner设计UI界面PyQt5系列教程(三)用py2exe进行程序打包P ...

  2. margin-top失效

    span标签是行类元素,只能margin-left,right 解决办法: 将span标签改为块级标签

  3. Zookeeper 介绍翻译

    源网址链接 https://zookeeper.apache.org/ Apache Zookeeper 开放源码的服务器,提供高可靠的分布式协调服务. Zookeeper是一个维护配置信息,命名服务 ...

  4. 《GPU高性能编程CUDA实战》附录一 高级原子操作

    ▶ 本章介绍了手动实现原子操作.重构了第五章向量点积的过程.核心是通过定义结构Lock及其运算,实现锁定,读写,解锁的过程. ● 章节代码 #include <stdio.h> #incl ...

  5. PHP中间件--ICE

    ICE(Internet Communications Engine)是Zeroc提供的一款高性能的中间件.使用ICE能使得php(或c++,java,python)与java,c++,.net,py ...

  6. win10 QQ远程协助部分界面点不了

    win10 QQ远程协助部分界面点不了. 把对方电脑的电脑管家全部退出,退出了也不行. 是win10的防火墙?安全策略?

  7. jquery ajax 赋值问题, 后面程序判断逻辑用

    添加async:false; 像 $.get() 等是没有async参数的, 所以需要用到如下 $.ajaxSetup({ async : false //这个意思是等这个ajax有了返回值后才会执行 ...

  8. 机器学习入门-Knn算法

    knn算法不需要进行训练, 耗时,适用于多标签分类情况 1. 将输入的单个测试数据与每一个训练数据依据特征做一个欧式距离. 2. 将求得的欧式距离进行降序排序,取前n_个 3. 计算这前n_个的y值的 ...

  9. Datatable数据分组

    datatable里面的数据是按照这个顺序排列的 姓名    性别        年龄 a1          男           12 a1         女             11 a ...

  10. Effective C++笔记——day01

    1.当我们看到赋值符号时,请小心,因为"="也可以用来调用copy构造函数 Widget w3 = w2; //调用copy构造函数,而不是copy赋值操作符 2.不明确的行为: ...