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