背景:现在实验室有台高性能服务器,我们在这台服务器上跑算法。现有一个业务需求需要这个算法的支持,把这套业务部署在这台服务器上也就完事了,可问题在于这台高性能服务器没有公网IP。
思路:将业务需求部署在低性能的阿里云上,通过坚果云同步阿里云和我们实验室的高性能服务器。
初试:最初的服务器装的是CentOS6.5。其实我是觉得坚果云官网的教程过于简陋了,或者是坚果云对于CentOS的支持不是很成熟。不是要桌面系统么,尝试在CentOS上装个KDE,安装这的哪的,出了一堆似error又非error的提示,折腾了一下午。我开始意识到这是个死胡同。当初最开始接触这个项目的时候,研究生师兄也碰到这个问题,最后的解决办法就是把CentOS换Ubuntu...惊了,那怕是这一次依旧要翻水
转折:看到阿里云上把CentOS换Ubuntu仅仅是一个按钮的请求,两分钟换个硬盘。如此简单,大赞!果断换了。(ps:我的 当webpack遇上node 要重启搭建了= =)
安装桌面系统:Ubuntu的桌面明显比CentOS通用成熟,选择的是xfce+xrdp。也就几行命令 sudo apt-get -y install xfce4 xrdp vnc4server
在用户目录下配置会话文件 echo xfce4-session>.xsession
done!Win+R
,mstsc
, 稳如狗...
安装坚果云:Ubuntu可是被坚果云点名的“Ubuntu、Fedora、Debian”之一。安装很简单。
- 安装依赖
sudo apt-get install default-jre-headless gvfs-bin python-notify
- 下载组件
wget http://www.jianguoyun.com/static/exe/installer/nutstore_linux_dist_x64.tar.gz -O /tmp/nutstore_bin.tar.gz
- 解压
mkdir -p ~/.nutstore/dist && tar zxf /tmp/nutstore_bin.tar.gz -C ~/.nutstore/dist
- 安装坚果云菜单与图标
~/.nutstore/dist/bin/install_core.sh
远程桌面的Application Menu下看到了坚果图标。稳!染鹅!点了没反应!惊了!装tm滴菠萝拉米黑...
不慌,重启治百病!重启服务器:sudo reboot
,重启桌面:sudo service xrdp restart
果然!坚果云安装完成。登录账号同步成功。
问题:还没完,有个问题,每次我进入远程桌面看到的都是一个空白初始化的桌面,这不科学,讲道理不应该是我上次退出桌面时的状态吗?
解决:问题就在端口。
基于XRDP方式的远程桌面连接是需要vncserver的支持。我们在通过3389端口连接ubuntu远程桌面时,xrdp会把所有通过3389端口数据都转发到vncserver的端口上,同时vncserver只监听127.0.0.1这个地址,所以vncserver的端口是不对外开放的。除此之外,vncserver还为每一次远程桌面会话分配一个系统端口,注意这个端口很重要。如果我们要连接上一次的远程桌面会话A的,我们只需要连接会话A所在vncserver端口即可。
没懂?我也不是很懂,大概就是你每次进入的端口都不一样,各个端口是相互独立的平行空间= =
配置 cat /etc/xrdp/xrdp.ini
将“[xrdp1]”下的 port=-1
改为 port=ask-1
。通过 netstat -tunlp
命令你可以看到Xvnc任务。登录时可以进去各端口对应的桌面任务。
最后:总算搞定了这皮皮,溜了溜了...