由于如今一切都迁移到云端,作为提高员工生产力的一种方式,虚拟化远程桌面在工业领域越来越流行。尤其对于那些需要不停奔波于多个地方、使用多个设备的人来说,远程桌面让他们得以在保留工作环境的同时,保持无缝连接。远程桌面同样吸引着雇主,可以提高工作环境的敏捷性和灵活性,因硬件整合而降低IT成本,以及加强桌面安全等等。
在 Linux界,安装远程桌面方面当然不乏选择,有许多协议(比如 RDP、RFB、NX) 和服务器/客户端实现方法(比如TigerVNC、RealVNC、FreeNX、x2go、X11vnc和TeamViewer)可以使用。
其中脱颖而出的是X2Go,这是一种使用开源(GPLv2)方法实现的基于NX的远程桌面服务器和客户端。我在本教程中会介绍如何使用X2Go,为Linux VPS安装远程桌面环境。
X2Go是什么?
X2Go的历史可以追溯到NoMachine的NX技术。NX远程桌面协议旨在利用高效的压缩和缓存,处理低带宽高延迟的网络连接。后来,NX变成了闭源技术,而NX库采用了GPL许可证。这导致出现了使用开源方法实现的几种基于NX的远程桌面解决方案,X2Go 正是其中之一。
相比VNC等其他解决方案,X2Go有哪些好处呢?X2Go继承了NX技术的所有高级功能,所以自然很适用于慢速网络连接。另外,X2Go在使用内置的基于SSH的加密技术来确保安全方面一向做得很出色。不再需要手动安装SSH隧道。X2Go默认情况下随带音频支持功能,这意味着远程桌面的音乐播放可以在网络上实现(通过PulseAudio),馈送到本地扬声器。在易用性方面,你在远程桌面上运行的应用程序可以在本地桌面上以一个单独的窗口无缝呈现,让你有一种错觉:这个应用程序实际上在本地桌面上运行。正如你看到的那样,这些是基于VNC的解决方案所缺少的一些强大功能。
X2GO的桌面环境兼容性
和其他远程桌面服务器一样,X2Go服务器也存在一些已知的兼容性问题。KDE 3/4、Xfce、MATE和LXDE等桌面环境对X2Go服务器最友好。然而,其他桌面管理器与X2Go的兼容性可能就不一样。比如说,已知GNOME 3、KDE 5和Unity的后期版本与X2Go不兼容。如果你远程主机的桌面管理器与X2Go兼容,就可以执行本教程的其余步骤。
将X2Go服务器安装到Linux上
X2Go由远程桌面服务器和客户端组件组成。不妨先安装 X2Go服务器。假设你已经有一个与X2Go兼容的桌面管理器在远程主机上运行,我们会将X2Go服务器安装到该远程主机上。
注意:X2Go 服务器组件没有系统启动时需要开启的单独服务。你只要确保SSH服务在正常运行。
Ubuntu或Linux Mint:
配置 X2Go PPA软件库。Ubuntu 14.04及更高版本有 X2Go PPA。
$ sudo add-apt-repository ppa:x2go/stable
$ sudo apt-get update
$ sudo apt-get install x2goserver x2goserver-xsession
Debian(Wheezy):
$ sudo apt-key adv --recv-keys --keyserver keys.gnupg.net E1F958385BFE2B6E
$ sudo sh -c "echo deb wheezy main > /etc/apt/sources.list.d/x2go.list"
$ sudo sh -c "echo deb-src wheezy main >> /etc/apt/sources.list.d/x2go.list"
$ sudo apt-get update
$ sudo apt-get install x2goserver x2goserver-xsession
$ sudo yum install x2goserver x2goserver-xsession
CentOS/RHEL:
先启用EPEL软件库,然后运行:
$ sudo yum install x2goserver x2goserver-xsession
将X2Go客户端安装到Linux上
在你将连接到远程桌面的本地主机上,安装X2Go客户端,如下所示:
Ubuntu 或Linux Mint:
配置 X2Go PPA 软件为库。Ubuntu 14.04及更高版本有X2Go PPA。
$ sudo add-apt-repository ppa:x2go/stable
$ sudo apt-get update
$ sudo apt-get install x2goclient
Debian(Wheezy):
$ sudo apt-key adv --recv-keys --keyserver keys.gnupg.net E1F958385BFE2B6E
$ sudo sh -c "echo deb wheezy main > /etc/apt/sources.list.d/x2go.list"
$ sudo sh -c "echo deb-src wheezy main >> /etc/apt/sources.list.d/x2go.list"
$ sudo apt-get update
$ sudo apt-get install x2goclient
Fedora:
$ sudo yum install x2goclient
CentOS/RHEL:
首先启用 EPEL软件库,然后运行:
$ sudo yum install x2goclient
用X2Go客户端连接到远程桌面
现在可以连接到远程桌面了。在本地主机上,只要运行以下命令或者使用桌面启动器,即可启动 X2Go客户端。
$ x2goclient
输入远程主机的IP地址和SSH用户名。另外,指定会话类型(也就是远程主机的桌面管理器)。
如果你想要的话,还可以定制其他方面(通过按其他标签),比如连接速度、压缩和屏幕分辨率等。
当你发起远程桌面连接时,会要求你登录。输入你的SSH登录名和密码。
成功登陆后,你会看到远程桌面屏幕。