Ubuntu代码 编辑&编译环境搭建
前言
我们都习惯于在Microsoft桌面系统下做代码的开发工作,不仅是因为Microsoft桌面系统下有着丰富的代码编辑工具,更是因为它是目前比较流行的日常使用操作系统,我们都非常习惯于使用它。然而在有些情况下它还是体现出了不少缺点,特别是当跟linux碰头的时候,linux高效的运作机制,使得Microsoft桌面系统不得不俯首称臣。
常年沉浮与嵌入式环境下开发的同志们都有着非常深刻的体会,虽然windows也提供了类unix的开发工具包,交叉编译包,但是与在linux上开发相比,编译的效率等还是不可同日而语的。
当碰到这么一种情况,我们不得不在linux下编译代码,并且为了开发方便,我们又不得不在windows上阅读编辑代码时,我们只能依靠linux下的samba在两者之间提供文件共享,然后用windows下的代码阅读工具伸手艰难的操作着linux服务器上的代码。如果一个不小心,网络环境不好,很有可能导致某些编辑工具因网络中断而卡死,然后你就傻愣愣的盯着,咬牙切齿,然后你的主管会不停的问你,这么点点事情怎么还没完成。不仅仅是如此,由于代码存储者和修改者长期两地分居,导致两者之间传输开销猛增。比如在linux服务器上面有个十几万个文件的工程,这时候你需要windows上的代码编辑工具去打开远程的服务器上的工程代码,以sourceinsight为了,光是加载同步这些文件就可以花你一天时间,并且你最好烧香拜佛,保佑你工作的时候网络一直畅通,不然一个运气不好,网络中断,你的工程很有可能需要重新同步,或者重建,那么你就这么一轮一轮的耗着吧。
我们的资源本来就不富裕,为了解决这种尴尬的处境,我们势必有必要让两者处于同一屋檐下,不仅仅是为了节省网络带宽,更是为了节省我们宝贵的时间。
环境构建方案分析
这里我们最好将编译环境和编辑环境都整合在一个服务器下,这样编辑工具就能在本地加载同步文件,与通过网络加载同步数据相比,那速度提升可想而知。
以目前我们开发Smartphone为例,我们需要在ubuntu下编译我们的代码,编译环境我们目前无可选择。基于这种限制,我们只能考虑将编辑工具安装到ubuntu下。我们可以将我们常用的sourceinsight安装到ubuntu下吗?答案是肯定的。
很明显我们最终肯定得用图形化工具编辑我们的代码,那么我们可以在ubuntu下跟在windows下一样的使用sourceinsight吗?答案也是肯定的。
假如我们已经成功的将sourceinsight安装到了我们的ubuntu服务器上,由于linux属于分时多用户系统,有很多兄弟都在你当前的服务器上干活,那么我们可以单独启动我们各自的图形化界面吗?答案仍旧是肯定的。
有了以上三种可能性,现在我们可以构建我们需要的环境了,我们的公式是:
(linux)Wine+(windows)sourceinsight.exe+(linux)vnc4server +(windows)realVNC=speedup
一.环境搭建
1. Ubuntu下wine安装
我们这里使用在线安装,首先确保服务器能接入公网,如果你还没有这个权限,请向你主管申请吧。至于如何在ubuntu上配置代理服务器,这个兄弟看到过公司一篇介绍这个的文章,但还没有试过,不管怎么样,确保能上网。
然后我们使用在线安装工具apt-get来安装wine,安装很简单,命令如下:
apt-get install wine
如果在这个命令的安装过程中出现其他依赖的应用,同样使用apt-get install安装即可。
Ø 说明:如果提示找不到你要装的软件,你必须找到可用的源,并且将源添加到/etc/apt/source.list这个文件中,然后sudo apt-get update,sudo apt-get upgrade
安装wine需要花一点时间。
2. ubuntu下sourceinsight安装(normal user)
wine安装完毕后,就可以装sourceinsight了。将windows下的sourceinsight程序si35setup.exe放到ubuntu上,然后执行如下命令:
wine si35setup.exe
Ø 说明:必须在图形化界面执行这个命令,否则会报Xserver不能启动等错误。
3. Ubunru下vnc4server安装
同安装wine一样,采用apt-get安装,命令:
apt-get install vnc4server
4. windows下realVNC安装
下载RealVNC-v4.61.zip,安装即可,无特殊配置。
二.服务启动和连接
1.给当前用户设置vnc登录密码:
$ vncpasswd
2.修改当前用户目录下.vnc/xstartup文件
红字是修改和增加的东西
.vnc/xstartup文件内容:
#!/bin/sh
# Uncomment the following two lines for normal desktop:
# unset SESSION_MANAGER
# exec /etc/X11/xinit/xinitrc
[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
xsetroot -solid grey
vncconfig -iconic &
xterm -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
# twm &
gnome-session &
上面修改的意思是将默认启动的twm程序改为gnome,如果想用KDE作为桌面的,可以改为:startkde &
3.修改vnc的默认设置,使启动时运行gnome作为X的桌面
如果不设置,vnc将使用twm,你可以试试,相信你会很不习惯的,命令(具体命令可参考man手册):
$ vncserver :1 -geometry 1400x1050 //-geometry参数用来指定登陆vnc的分辨率
$ vncserver -kill :1
第一条启动服务,第二条关闭服务
注意:里面的":1"代表display号,客户登录的时候得写相同的display号才能登录(见后面客户端部分)。
4. 客户端连接
Windows下:
用realvnc 地址输入 IP:1 ,密码输入刚才设置的,就可以了。