作者选择了公共利益软件 (SPI)来接受捐赠,作为Write for DOnations计划的一部分。
介绍
通常,基于 Linux 的服务器不会预装图形用户界面 (GUI)。每当您想在实例上运行 GUI 应用程序时,典型的解决方案是采用虚拟网络计算 (VNC)。不幸的是,VNC 解决方案可能缓慢且不安全;许多还需要大量的手动配置。相比之下,X2Go提供了一个可工作的“云桌面”,具有始终在线、可远程访问且易于扩展的计算系统以及快速网络的所有优势。与许多 VNC 解决方案相比,它也更灵敏、更安全。
在本教程中,您将使用 X2Go 创建一个可以远程访问的XFCE桌面环境。如果您在个人计算机上安装了 Ubuntu 18.04 和 XFCE 环境(几乎与Xubuntu设置相同),则此云桌面将包含相同的实用程序。
本教程中描述的设置在以下情况下很有用:
- 您需要访问基于 Linux 的操作系统,并带有桌面环境,但无法将其安装在您的个人计算机上。
- 您在多个位置使用多台设备,并希望获得具有相同工具、外观、文件和性能的一致工作环境。
- 您的 Internet 服务提供商为您提供的带宽非常少,但您需要访问数十或数百 GB 的数据。
- 长时间运行的作业会使您的本地计算机数小时或数天不可用。想象一下,您必须编译一个大型项目,这将在您的笔记本电脑上花费 8 小时。在您的项目编译期间,您将无法观看电影或做任何非常耗费资源的事情。但是,如果您在服务器上运行该作业,现在您的计算机可以自由执行其他任务。
- 您正在与一个团队合作,他们有一台共享计算机可以访问以在项目上进行协作,这将使他们受益。
先决条件
在开始本教程之前,您需要:
-
具有 2GB 或更多 RAM 的 Ubuntu 18.04 x64 实例。2GB 是最小的,但是如果您计划运行内存占用很大的应用程序,那么 4GB 或更多的服务器是理想的选择。如果您愿意,可以使用DigitalOcean Droplet。
-
具有
sudo
权限和 SSH 密钥的用户。按照本指南开始:使用 Ubuntu 18.04 进行初始服务器设置。确保完成步骤 4 并将防火墙配置为限制除 OpenSSH 之外的所有连接。
步骤 1 — 在您的服务器上安装桌面环境
启动服务器并配置防火墙后,您现在可以为 X2Go 服务器安装图形环境。
首先,更新包管理器关于最新可用软件的信息:
- sudo apt-get update
在本教程中,您将安装XFCE作为桌面环境。XFCE 不使用合成等图形效果,使其与 X2Go 更兼容并优化屏幕更新。作为参考,在LXDE
桌面环境和在MATE
桌面环境(与合成禁用)也工作得很好,但你必须在那里安装了桌面环境在本教程中更改命令。例如,sudo apt-get install xubuntu-desktop
您可以键入install来代替。sudo apt-get install lubuntu-desktop
LXDE
XFCE有两种安装方式;最小桌面环境或完整桌面环境。仅选择这两种方法之一,如下所述。
完整的桌面环境
推荐用于大多数用例。如果您不想亲自挑选您需要的每个组件,而是希望预先安装一组默认的软件包,例如文字处理器、Web 浏览器、电子邮件客户端和其他附件,您可以选择xubuntu-desktop
.
安装和配置完整桌面环境。完整桌面环境类似于将 Xubuntu 从可引导 DVD/USB 记忆棒安装到本地 PC 时获得的环境:
- sudo apt-get install xubuntu-desktop
您现在可以直接进入下一步并安装 X2Go 服务器实用程序。
最小的桌面环境
或者,如果您想安装一组小的核心软件包,然后通过手动添加您需要的任何内容在它们之上构建,您可以使用xubuntu-core
元软件包。
元包不包含单个包;相反,元包包括整个包集合。安装元包可以使用户免于手动安装大量组件。
安装xfce4
以及支持它所需的所有附加依赖项:
- sudo apt-get install xubuntu-core
您已经安装了图形环境。现在您将建立一种远程查看它的方法。
步骤 2 — 在服务器上安装 X2Go
X2Go 带有两个主要组件:服务器,它启动和管理远程机器上的图形会话,以及客户端,您安装在本地计算机上以查看和控制远程桌面或应用程序。
在 Ubuntu 的x2goserver
早期版本(18.04 之前)中,默认存储库中不包含,因此您必须按照这些步骤来获取软件包。我们将链接留在这里,仅供参考,以防该软件包在未来的 Ubuntu 版本中被删除。幸运的是,代号为 Bionic Beaver 的 Ubuntu 18.04 在其默认存储库中包含了您需要的软件包,因此安装速度更快。
要在您的服务器上安装 X2Go,请键入以下命令:
- sudo apt-get install x2goserver x2goserver-xsession
此时,您的服务器不需要进一步设置。但是,请记住,如果您遵循在Ubuntu 18.04的初始服务器设置中设置 SSH 密钥的建议,那么您将需要在您打算使用的每台本地计算机上使用您的 SSH 私钥。如果您没有设置 SSH 私钥,请确保选择强密码。
注意:请记住,如果 RAM 用完,Linux 内核可能会突然终止某些应用程序,从而导致工作丢失。如果您正在使用 DigitalOcean Droplet 并且您注意到您的程序需要更多 RAM,您可以暂时关闭您的 Droplet 并升级(调整大小)到具有更多内存的一个。
您已配置服务器。键入exit
或关闭您的终端窗口。其余步骤将重点介绍在本地计算机上配置客户端。
步骤 3 — 在本地安装 X2Go 客户端
X2Go 开箱即可使用。如果您在本地计算机上使用 Windows 或 Mac OS X,则可以在此处下载 X2Go 客户端软件。如果您使用的是 Debian 或 Ubuntu,您可以在本地机器上使用以下命令安装 X2Go 客户端:
- sudo apt-get install x2goclient
下载软件后,您就可以安装它了。打开安装程序并选择您的首选语言。现在同意许可并让向导引导您完成剩余的步骤。通常,不应有任何理由更改这些步骤中预填充的默认值。
X2Go 开箱即用,但它也是高度可定制的。如果您想了解更多信息,请访问 X2Go 的官方文档。
现在您已经安装了桌面客户端,您可以配置其设置并连接到 X2Go 服务器以使用您的远程 XFCE 桌面。
第 4 步 – 连接到远程桌面
当您第一次打开 X2Go 客户端时,会出现一个窗口。如果没有,请单击会话在左上角的菜单,然后选择新建会话…。
在会话名称字段中,输入有助于区分服务器的内容。如果您计划连接到多台机器,使用会话名称特别有用。
在Server下的Host字段中输入您服务器的 IP 地址或完全限定域名 (FQDN) 。
在登录字段中输入您用于 SSH 连接的用户名。
由于您在第二步中安装了 XFCE,因此选择XFCE
作为您的会话类型。
最后,因为您使用 SSH 密钥连接到服务器,所以单击Use RSA/DSA key for ssh connection旁边的文件夹图标并浏览到您的私钥。如果您没有选择使用更安全的 SSH 密钥,请将其留空;每次登录时,X2Go 客户端都会要求输入密码。
其余的默认设置现在就足够了,但是随着您对软件越来越熟悉,您可以根据个人喜好对客户端进行微调。
按OK按钮后,您可以通过单击包含会话名称的白框来启动图形会话。
如果您在本地机器上运行 OS X,OS X 可能会提示您安装XQuartz,这是运行 X11 所必需的。如果是这样,请按照说明立即安装。
几秒钟后,您的远程桌面将出现,您可以开始与之交互。
您可以使用一些有用的键盘快捷键在 Windows 和基于 Linux 的操作系统上获得更好的体验。
注意:前两个选项在现代 Windows 版本上可能会出现错误行为。此时您仍然可以测试它们,以防更高版本的 X2Go 修复这些问题。如果失败,请避免将来使用相同的键盘快捷键。
CTRL+ALT+F
将打开和关闭全屏模式。在全屏模式下工作感觉更像是本地桌面体验。全屏模式还可以帮助远程机器而不是本地机器抓取键盘快捷键。
CTRL+ALT+M
即使您处于全屏模式,也会最小化远程视图。
CTRL+ALT+T
将与会话断开连接,但让 GUI 在服务器上运行。这只是一种无需注销或关闭服务器上的应用程序即可快速断开连接的方法。如果您单击窗口的关闭按钮,也会发生同样的情况。
最后,有两种方法可以结束远程会话并关闭其中运行的所有图形程序。您可以从 XFCE 的开始菜单远程注销,或者您可以单击 X2Go 屏幕主要部分右下角标有圆圈和小线(如电源/待机图标)的按钮。
第一种方法更简洁,但可能会使会话管理软件等程序继续运行。第二种方法将关闭所有内容,但如果进程无法干净退出,则可能会强制关闭。无论哪种情况,请务必在继续之前保存您的工作。
您现在已成功访问并配置了远程桌面。
结论
在本教程中,您使用 X2Go 为 Ubuntu 操作系统创建了一个强大的远程 GUI 环境。现在您已启动并运行,以下是有关使用此桌面的一些想法:
- 您可以通过创建 git 存储库来集中您的开发工作。
- 您可以安装 IDE/代码编辑器,如 NetBeans 或 Eclipse。您还可以通过 Remote-SSH Plugin 使用 Visual Studio Code 进行远程开发。
- 您可以配置一个 Web 服务器来测试 Web 应用程序。
- 您还可以使用良好的备份方案来增强远程桌面,以在出现问题时保留您的工作环境和重要数据。使用 DigitalOcean,您还可以在对特定设置感到满意时为您的 Droplet 拍摄快照。这样,您可以测试有风险的更改并始终返回到已知的工作状态。
如果您想了解更多信息,请访问X2Go 的官方文档网站。