如何在Debian10上使用X2Go设置远程桌面
作者选择了 Software in the Public Interest (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 lxde
,而不是 sudo apt-get install xfce4
。
有两种方法可以轻松安装 XFCE,但您只需 选择一个 — 最小桌面环境 或 完整桌面环境。
全桌面环境:推荐。 如果您不想亲自挑选所需的每个组件,而是希望预装一组默认软件包,例如文字处理器、Web 浏览器、电子邮件客户端和其他附件,那么您可以选择 task-xfce-desktop
.
安装和配置完整桌面环境。 这类似于从可引导的 DVD/USB 记忆棒安装 Debian 到本地 PC 时所得到的结果:
sudo apt-get install task-xfce-desktop
最小桌面环境:或者,如果你想安装一个小的核心包集,然后通过手动添加你需要的任何东西来构建它们,你可以使用 xfce4
[ X208X]元包。
元包不包含自己的软件,它仅依赖于要安装的其他包,允许一次安装整个包集合,而无需在命令行中单独键入每个包名称。
安装 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 客户端时,将出现以下窗口。 如果没有,请单击左上角菜单中的 Session,然后选择 New session ...。
在 会话名称 字段中,输入有助于区分服务器的内容。 如果您计划连接到多台机器,这将特别有用。
在 Server 下的 Host 字段中输入服务器的 IP 地址或主机名。
在 Login 字段中输入您用于 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的【X37X】开始菜单【X51X】远程注销,也可以点击主界面右下角带圆圈和小线条的按钮(如电源/待机图标) X2Go 屏幕。
第一种方法更简洁,但可能会使会话管理软件等程序运行。 第二种方法将关闭所有内容,但如果进程无法完全退出,则可能会强制执行此操作。 无论哪种情况,请务必在继续之前保存您的工作。
最后,虽然不是必需的,但让我们进入 XFCE 的控制面板,导航到电源设置并禁用所有待机功能。 如果您有一段时间不使用桌面,XFCE 将尝试触发待机。 虽然服务器在收到此请求时通常不会做任何事情,但最好完全避免任何不可预见的行为。
通过进入应用程序菜单,然后进入设置,您可以打开电源管理器。
在此应用程序中,导航到 System 选项卡并将 When inactive for 滑块一直拖到左侧。 您现在应该在此滑块下看到文本 Never,这意味着 XFCE 在系统处于非活动状态一段时间后不会尝试将其置于待机状态。
您现在已经成功访问并配置了您的远程桌面。
结论
在本教程中,您使用 X2Go 为 Debian 操作系统创建了一个健壮的远程 GUI 环境。 以下是有关如何使用此桌面的一些其他想法。 您可以通过 创建 git 存储库 、安装 IDE/代码编辑器(如 NetBeans 或 Eclipse)或 配置 Web 服务器 来测试 Web 应用程序来集中您的开发工作。 您还可以使用 一个良好的备份方案 来增强您的远程桌面,以确保您的工作环境和重要数据得到安全保存,以防万一出现问题。 使用 DigitalOcean,当您对某个设置感到满意时,您还可以 快照 您的 Droplets。 这样,您可以测试有风险的更改,并始终回到已知的良好状态,以防您破坏某些东西。
如果您想了解更多信息,请访问 X2Go 的官方文档网站。