如何在 CentOS 8 上使用 X2Go 设置远程桌面

作者选择了 公共利益软件(SPI)以作为 写给捐赠计划的一部分获得捐款。

介绍

通常情况下,基于Linux的服务器没有预先安装的图形用户界面(GUI)。 每当你想在你的实例上运行GUI应用程序时,典型的解决方案是使用虚拟网络计算(VNC)。 不幸的是,VNC解决方案可能是缓慢和不安全的;许多也需要大量的手动配置。 相比之下,X2Go(https://wiki.x2go.org/doku.php)提供一个工作云桌面,配备了随时在线、可远程访问和易于扩展的计算系统的所有优点。

在本教程中,您将使用 X2Go 创建一个 XFCE桌面环境,您可以远程访问。

在本教程中描述的设置是有用的,当:

  • 联合国 您需要访问基于 Linux 的操作系统, 完整地使用桌面环境, 但无法安装在您的个人计算机上 。
  • 您在多个位置使用多台设备(例如个人笔记本电脑,工作笔记本电脑),但想要一个具有相同工具,外观,文件和性能的持久工作环境. 想象一下,你忘记带工作笔记本电脑, 或者它故障,你必须送去修理。 由于远程桌面上的所有东西都保持不变,所以你不必重新安装你喜欢用来做你工作的整套公用事业. 你只要登录到远程桌面上, 一切都会如你所留下的一样, 不管你从哪个设备登录。
  • 您的互联网服务供应商给你的带宽很少, 但你需要访问 上千兆字节的数据 。 例如,可以下载100GB的数据,利用服务器非常快的网络. 由于服务器本身是使用带宽的,所以您不使用您的互联网服务提供商每月分配给您的配额. 您仅支付发送您远程桌面图像所需的网络带宽, 相比之下, 其规模很小 。
  • 长期运行的工作使您的本地计算机无法使用数小时或数天。 想象一下,你必须编译一个大型项目,这需要8小时的笔记本电脑。 你将无法看电影 或做其他非常资源密集型的工作 当你的项目编译。 但如果你在服务器上运行这个任务,现在你的计算机可以自由执行其他任务. *你正在与一个团队合作,拥有一个共同的,共享的计算机让所有成员受益,他们可以访问这个计算机来配合一个项目. (英语)

前提条件

在开始本教程之前,您将需要:

  • 一个 CentOS 8 x64 实例有 2GB RAM 或更多。 2GB 是最小的,但一个具有 4GB 或更多的服务器是理想的,如果你有想运行的内存饥饿的应用程序。 如果你喜欢,你可以使用 DigitalOcean Droplet,但不要输入命令 firewall-cmd --permanent --add-service=http。 这个命令在你的服务器上打开了 80,你不需要。

步骤 1 — 在您的服务器上安装桌面环境

随着您的服务器和防火墙的配置,您现在已经准备好安装图形环境。

首先,升级您的实例上的所有软件包:

1sudo dnf upgrade

在本教程中,您正在安装 XFCE作为桌面环境。 XFCE不使用构成等图形效果,使其更兼容 X2Go,并允许它优化在网络上发送屏幕更新的方式。换句话说,它可能是最容易使用 X2Go 工作的一种,因为一切都立即工作得很好。

如果您喜欢不同的桌面环境,您将不得不从本教程中取代sudo dnf groupinstall Xfce这样的命令,用sudo dnf group install KDE Plasma Workspaces来安装KDE`,然后将您的X2Go客户端中的 Session type配置为 KDE

您现在需要安装的软件包不包含在 CentOS 的默认存储库中,因此您必须启用 Enterprise Linux 附加包 (EPEL) 存储库:

1sudo dnf install epel-release

一些 X2Go 服务器实用程序也依赖于 PowerTools 存储库中的一些包,您可以使用以下命令启用:

1sudo dnf config-manager --set-enabled PowerTools

最后,您现在可以安装 XFCE 桌面环境:

1sudo dnf groupinstall Xfce

CentOS 提供了一个相对较小的 XFCE 环境,但您可以使用简单的 sudo dnf install name_of_application 命令添加您需要的任何其他实用程序(例如,网页浏览器,图像编辑器)。

现在安装了桌面环境,是时候在本地计算机上建立一种方式来查看它。

步骤 2 — 在服务器上安装 X2Go

X2Go配备了两个主要组件:服务器,该服务器在远程机器上启动和管理图形会话,以及客户端,您可以在本地计算机上安装,以查看和控制远程桌面或应用程序。

要在您的服务器上安装 X2Go,请输入以下命令:

1sudo dnf install x2goserver

但是,请记住,如果您遵循 设置 SSH 密钥CentOS 8 初始服务器设置中的建议,那么您需要在您打算登录的每个本地机器上使用 SSH 私钥来登录您的远程桌面会话。

<$>[注] 注: 请记住,如果 RAM 耗尽,Linux 内核可能会突然终止某些应用程序,导致工作丢失。

您已配置您的服务器。键入退出或关闭您的终端窗口. 其余的步骤将专注于在本地机器上配置客户端。

步骤 3 —本地安装X2Go客户端

X2Go 已准备好使用。 如果你在本地计算机上使用 Windows 或 macOS,你可以在这里下载 X2Go 客户端软件 如果你正在使用 Debian 或 Ubuntu,你可以使用本地计算机上下面的命令安装 X2Go 客户端:

1[environment second]
2sudo apt-get install x2goclient

在下载软件后,您已经准备好安装它。打开安装程序并选择您喜爱的语言。现在同意许可证,并让导师指导您完成剩余的步骤。通常,在这些步骤中不应该有任何理由更改预装的默认值。

X2Go从盒子里做得很好,但它也是高度可自定义的。

现在你已经安装了桌面客户端,你可以配置它的设置,并连接到X2Go服务器使用你的远程XFCE桌面。

步骤 4 — 连接到远程桌面

当您第一次打开 X2Go 客户端时,会出现一个窗口。如果没有,请在左上方菜单中单击 ** 会话**,然后选择 ** 新会话...**。

X2Go Client Screenshot - Creating a New Session

在 ** 会话名称** 字段中,输入一些用于帮助区分服务器. 如果您计划连接到多个机器,使用会话名称尤其有用。

输入您的服务器的 IP 地址或完全合格的域名(FQDN)在 服务器下的 ** 主机**字段中。

在 ** 登录** 字段中输入您用于 SSH 连接的用户名。

由于您在第二步安装了 XFCE,请选择 **XFCE作为您的 ** 会话类型

最后,因为您使用 SSH 密钥连接到服务器,请单击使用 RSA/DSA 密钥用于 ssh 连接旁边的文件夹图标,然后浏览您的私钥。

其余的默认设置现在就足够了,但随着您对软件的熟悉,您可以根据您的个人偏好调整客户端。

按下 OK按钮后,您可以通过点击包含您的会话名称的白色框在该框的右上方开始您的图形会话。

X2Go Main Window - Session List

如果您在本地计算机上运行 OS X,则 OS X 可能会提示您安装 XQuartz,这需要运行 X11。

几秒钟后,你的远程桌面将出现,你可以开始与它交互。

有几个有用的键盘快捷键,您可以使用在Windows和基于Linux的操作系统上获得更好的体验。

<$>[注] 注: 这些前两个选项可以在现代Windows版本中表现出错误的行为. 您仍然可以在此时测试它们,如果后期版本的X2Go修复了问题。

CTRL+ALT+F将打开和关闭全屏模式。在全屏模式下工作可以更像是一个本地桌面体验。

CTRL+ALT+M将最大限度地减少远程视图,即使您处于全屏模式。

CTRL+ALT+T会从会话中断开连接,但会让GUI在服务器上运行,这只是一个快速的方式来断开连接,而不需要登录或关闭服务器上的应用程序。

最后,有两种方式可以结束远程会话并关闭所有运行在其中的图形程序. 您可以从XFCE的 start菜单远程登录,或者您可以点击标有圆圈和小行(如电源/待机图标)的按钮,在X2Go屏幕的主要部分的右下角。

第一种方法更清洁,但可能会让程序如会话管理软件运行。第二种方法会关闭一切,但如果一个过程无法清洁退出,可能会强行这样做。

X2Go Main Window - Terminate Session Button

您现在已经成功访问并配置了远程桌面。

结论

在本教程中,您使用X2Go为CentOS操作系统创建了一个强大而远程的GUI环境,现在您正在运行,这里有一些关于使用此桌面的想法:

  • 联合国 [您可以通过创建 git 寄存器来集中您的开发工作] (https://andsky.com/tech/tutorials/how-to-create-a-pull-request-on-github).
  • 您可以安装一个 IDE/ 代码编辑器, 如NetBeans 或 Eclipse 。 您也可以通过远程SSH插件使用Visual Studio代码进行远程开发
  • [您可以配置网页服务器] (https://andsky.com/tech/tutorials/how-to-install-linux-apache-mariadb-php-lamp-stack-on-centos-8),用于测试网页应用程序. 通过在您的远程桌面上打开浏览器并浏览地址栏中的localhost,您可以测试您正在操作的网络应用程序,而无需不断将文件重新加载到一些远程服务器。 而所有东西都封装在X2Go用来查看您远程桌面的安全而私有的SSH连接中. 这意味着,虽然您正在一个连接到互联网的服务器上测试您的网站,但您正在研究的网络应用程序只能被您浏览,它不能公开访问,所以您不必担心不小心泄露未完成且未被污染的工作.
  • [您也可以通过良好的备份方案来增强您的远程桌面] (https://andsky.com/tech/tutorials/how-to-choose-an-effective-backup-strategy-for-your-vps),以保护您的工作环境和基本数据,以防出事. [用 DigitalOcean,也可以将您的 Dropplets (https://www.digitalocean.com/docs/images/snapshots/])当您对特定的设置满意时. 这样,你就可以测试危险的改变,然后迅速回到一个已知的,工作状态,如果需要的话,一些在典型的Windows计算机上不容易做到的. 抓图还允许您克隆一个特定的设置 。 这将使所有团队成员都有可能获得他们自己的,私人的,远程的桌面,就开发工具而言,他们可以在类似环境中进行工作. 但是这样,他们就能各自定制自己的环境, 并使用自己的文件。 (英语)

总的来说,你可以创建一个完整的开发环境,从你使用的代码编辑器到运行和测试该代码所需的软件。

如果您想了解更多信息,请访问 X2Go的官方文档网站

Published At
Categories with 技术
comments powered by Disqus