作者选择了公共利益软件 (SPI)来接受捐赠,作为Write for DOnations计划的一部分。
介绍
通常,基于 Linux 的服务器不会预装图形用户界面 (GUI)。每当您想在实例上运行 GUI 应用程序时,典型的解决方案是采用虚拟网络计算 (VNC)。不幸的是,VNC 解决方案可能缓慢且不安全;许多还需要大量的手动配置。相比之下,X2Go提供了一个可工作的“云桌面”,具有始终在线、可远程访问且易于扩展的计算系统以及快速网络的所有优势。与许多 VNC 解决方案相比,它也更灵敏、更安全。
在本教程中,您将使用 X2Go 创建一个可以远程访问的XFCE桌面环境。
本教程中描述的设置在以下情况下很有用:
- 您需要访问基于 Linux 的操作系统,并带有桌面环境,但无法将其安装在您的个人计算机上。
- 您在多个位置使用多个设备(例如,个人笔记本电脑、工作笔记本电脑),但想要一个具有相同工具、外观、文件和性能的持久工作环境。想象一下,您忘记随身携带工作笔记本电脑,或者它出现故障而您必须将其送去维修。由于远程桌面上的所有内容都保持不变,因此您无需重新安装您喜欢用来完成工作的整套实用程序。您只需登录到远程桌面,一切都会在那里,就像您离开时一样,无论您从什么设备登录。
- 您的 Internet 服务提供商为您提供的带宽非常少,但您需要访问数十或数百 GB 的数据。例如,您可以下载 100GB 的数据,利用服务器非常快的网络。由于服务器本身是使用带宽的服务器,因此您无需使用 Internet 服务提供商每月分配给您的配额。您只需为向您发送远程桌面图像所需的网络带宽付费,相比之下,这是非常小的。
- 长时间运行的作业会使您的本地计算机数小时或数天不可用。想象一下,您必须编译一个大型项目,这将在您的笔记本电脑上花费 8 小时。在您的项目编译期间,您将无法观看电影或做任何非常耗费资源的事情。但是,如果您在服务器上运行该作业,现在您的计算机可以自由执行其他任务。
- 您正在与一个团队一起工作,所有成员都可以拥有一台共用的共享计算机,他们可以访问这些计算机以在项目上进行协作。
先决条件
在开始本教程之前,您需要:
-
具有 2GB 或更多 RAM 的 CentOS 8 x64 实例。2GB 是最小的,但是如果您计划运行内存占用很大的应用程序,那么 4GB 或更多的服务器是理想的选择。如果您愿意,可以使用DigitalOcean Droplet。
-
具有
sudo
权限和 SSH 密钥的用户。按照本指南开始:使用 CentOS 8 进行初始服务器设置。第四步,按照提示配置防火墙,但不要输入命令firewall-cmd --permanent --add-service=http
。此命令会80
在您的服务器上打开您不需要的帖子。
步骤 1 — 在您的服务器上安装桌面环境
启动服务器并配置防火墙后,您现在可以安装图形环境了。
首先,升级您实例上的所有软件包:
- sudo dnf upgrade
在本教程中,您将安装XFCE作为桌面环境。XFCE 不使用合成等图形效果,使其与 X2Go 更兼容,并允许它优化通过网络发送屏幕更新的方式。换句话说,它可能是最容易使用 X2Go 的,因为一切都可以立即运行良好。LXDE 也应该是开箱即用的。MATE 和 KDE 桌面环境也可能工作,但可能需要一些变通方法,例如,禁用合成以提高性能和响应能力。
如果您更喜欢不同的桌面环境,则必须将sudo dnf groupinstall Xfce
本教程中的命令替换为to install ,然后将 X2Go 客户端中的会话类型配置为KDE。您还可以同时安装多个桌面环境,然后在每次使用 X2Go 客户端登录时选择您喜欢启动的桌面环境。sudo dnf group install "KDE Plasma Workspaces"
KDE
您现在需要安装的软件包不包含在 CentOS 的默认存储库中,因此您必须启用 Extra Packages for Enterprise Linux (EPEL) 存储库:
- sudo dnf install epel-release
一些 X2Go 服务器实用程序还依赖于 PowerTools 存储库中的一些包,您可以使用下一个命令启用这些包:
- sudo dnf config-manager --set-enabled PowerTools
最后,您现在可以安装 XFCE 桌面环境:
- sudo dnf groupinstall Xfce
CentOS 提供了一个相当小的 XFCE 环境,但是您可以使用简单的命令添加您需要的任何其他实用程序(例如,网络浏览器、图像编辑器)。sudo dnf install name_of_application
现在安装了桌面环境,是时候建立一种在本地计算机上查看它的方法了。
步骤 2 — 在服务器上安装 X2Go
X2Go 带有两个主要组件:服务器,它启动和管理远程机器上的图形会话,以及客户端,您安装在本地计算机上以查看和控制远程桌面或应用程序。
要在您的服务器上安装 X2Go,请键入以下命令:
- sudo dnf install x2goserver
此时,您的服务器不需要进一步设置。但是,请记住,如果您遵循在CentOS 8的初始服务器设置中设置 SSH 密钥的建议,那么您将需要在您打算从其登录的每台本地计算机上使用您的 SSH 私钥。远程桌面会话。如果您没有设置 SSH 私钥,请确保选择强密码。
注意:请记住,如果 RAM 用完,Linux 内核可能会突然终止某些应用程序,从而导致工作丢失。如果您正在使用 DigitalOcean Droplet 并且您注意到您的程序需要更多 RAM,您可以暂时关闭您的 Droplet 并升级(调整大小)到具有更多内存的一个。
您已配置服务器。键入exit
或关闭您的终端窗口。其余步骤将重点介绍在本地计算机上配置客户端。
步骤 3 — 在本地安装 X2Go 客户端
X2Go 开箱即可使用。如果您在本地计算机上使用 Windows 或 macOS,则可以在此处下载 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 为 CentOS 操作系统创建了一个强大的远程 GUI 环境。现在您已启动并运行,以下是有关使用此桌面的一些想法:
- 您可以通过创建 git 存储库来集中您的开发工作。
- 您可以安装 IDE/代码编辑器,如 NetBeans 或 Eclipse。您还可以通过 Remote-SSH Plugin 使用 Visual Studio Code 进行远程开发。
- 您可以配置一个 Web 服务器来测试 Web 应用程序。通过在远程桌面上打开浏览器并导航到
localhost
地址栏中,您可以测试您正在处理的 Web 应用程序,而无需不断地将文件重新上传到某个远程服务器。一切都封装在 X2Go 用于查看远程桌面的安全和私有 SSH 连接中。这意味着,尽管您正在连接到 Internet 的服务器上测试您的网站,但您正在开发的 Web 应用程序只能由您查看,不可公开访问,因此您不必担心意外泄漏未完成和未经打磨的作品。 - 您还可以使用良好的备份方案来增强远程桌面,以在出现问题时保留您的工作环境和重要数据。使用 DigitalOcean,您还可以在对特定设置感到满意时为您的 Droplet 拍摄快照。通过这种方式,您可以测试有风险的更改并快速返回到已知的工作状态(如果需要),这在典型的 Windows 计算机上是不容易做到的。快照还允许您克隆特定设置。就开发工具而言,这将使所有团队成员都可以拥有自己的私有远程桌面,以便他们可以在类似的环境中执行工作。但是通过这种方式,他们每个人都可以根据自己的喜好自定义环境,并使用自己的文件集。
总而言之,您可以创建一个完整的开发环境,从您使用的代码编辑器到运行和测试该代码所需的软件,应有尽有。
如果您想了解更多信息,请访问X2Go 的官方文档网站。