图形化介绍

Linux图形化界面(GUI)的发展可以说是一部开源软件与操作系统用户体验不断演进的历史。 图形界面需求的出现:早期的Unix和类Unix系统(包括最早的 Linux)全部是基于命令行的,用户只能通过终端输入命令与系统交互。但随着个人计算机和图形显示器的普及,用户开始希望有更直观的方式与计算机交互。

本教程基于Linux环境演示,计算资源不足的同学可参考:

足够支持你完成硕博生涯的生信环境

忘记宣传了,独享用户连技术支持都是独享的

RTX5090、4080S、5070显卡上机

访问链接:https://biomamba.xiyoucloud.net/

欢迎联系客服微信[Biomamba_yunying]获取帮助

如果你对下面的教程比较迷茫,那么你可以先行学习编程教程:

十小时学会Linux

生信Linux及服务器使用技巧

5.5h入门R语言

X Window System 的出现

1984年,MIT以“高度网络化、分布式、支持远程图形渲染”为设计目标开发了X Window System(简称X或X11)。X协议主要构成为以下三部分。

  1. X Server:控制显示和输入设备。

  2. X Client:运行于本地或远程,发送图形请求到Server。

  3. 通信协议:X协议, X是一个“显示协议”框架,不包含窗口管理器或图形界面样式。

桌面环境的发展

  • 由于X只是显示协议,Linux用户界面需要额外构建组件,后续逐渐形成了两个主流桌面环境,分别是基于QT的KDE和基于GTK的GNOME。这两大桌面环境推动了Linux GUI的标准化与用户友好化。

  • KDE和GNOME非常重量级,安装都是GB级别的,依赖也非常多,只适合在实体电脑上安装使用。市面上也存在一些轻量环境桌面:

    • XFCE:轻量、低资源消耗,经典蓝色鼠鼠桌面,适合云服务器场景,能满足大部分使用需求。

    • LXDE/LXQt:极简、快速启动,不过LXQt交互方式有点古老,现代人可能用不习惯。

KDE(X2Go无法连接新版的KDE)

图片

GNOME(X2Go无法连接新版的GNOME)

图片

图片

XFCE

图片

图片

LXDE

图片

图片

LXQt

图片

图片

登录管理器与桌面环境

  • 在Linux整个可视化体系中,分工非常细,登录时输入密码的组件叫登录管理器,登录后实际操作的桌面是桌面环境。常见的登录管理器有LightDM/GDM3,常见的桌面环境有KDE、GNOME、XFCE。

  • XFCE是桌面环境,LightDM/GDM3是登录管理器。它们不冲突,任何登录管理器都可以配合Xfce使用,但Xfce通常与LightDM搭配使用更轻量,更合适。

怎么使用图形化界面

利用X11转发访问图形化界面

Linux本身是没有图形化界面的,其后续使用的图形化界面,底层均基于X协议,X11指的是X协议的第十一个版本。X协议分为Server端和Client端:

  • X Client就是具体的应用程序,如Firefox、Spyder等,其向X Server发送在某处绘制某些图形的请求,并接收X Server的事件输入。

  • X Server负责接受图形的绘制,其接收X Client的图形绘制请求进行绘图,并将用户的交互操作事件发送给X Client。 原生桌面系统中X Server端和X Client端都在同一个电脑上面,对于普通用户而言,X协议的存在感比较低。但由于X协议客户端与服务端分离的设计,使得X Server和X Client可以不在同一个电脑之上,二者可以通过网络进行数据交换!基于以上协议,我们可以通过SSH的X11转发,让没有图形化界面的Linux系统运行图形化软件,通过使用本地电脑的图形化界面进行交互。

服务器开启X11转发

# 编辑SSH配置文件
sudo vim /etc/ssh/sshd_config

# 确保X11Forwarding是开启的
X11Forwarding yes

# 重启SSH服务使得配置生效
sudo systemctl restart ssh

图片

本地电脑使用支持X协议的软件连接服务器

使用支持X协议的软件SSH连接到服务器,这里推荐使用MobaXterm,其支持X协议。这里比较绕的一点是,我们是在SSH客户端运行了X服务端,实际上可以简单理解为X协议中谁负责画图谁就是服务端。 如果上一步正确开启了X11Forwarding,那么在MobaXterm连接上去的时候,其会提示remote display is forwarded through SSH。

图片

利用X11协议转发使用软件的案例

  1. 服务器使用Spyder快速入门指南

  2. 服务器使用Cellpose快速入门指南

安装 Xfce4 桌面环境,并使用 X2Go 进行远程访问

X2Go介绍

  • X2Go采用压缩以及缓存技术缓解了远程桌面占用带宽导致操作卡顿的问题,而且其基于SSH加密技术,更加安全。

  • X2Go支持的桌面系统非常多,如KDE、GNOME、LXDE、XFCE、MATE、UNITY等等,配置时需要依据自己安装的桌面系统进行选择。

图片

  • X2Go与上述部分桌面系统存在兼容性问题,有可能导致X2Go连接上去后闪退,实践下来,XFCE与X2Go搭配起来使用体验是最好的。

图片

服务器环境配置

  1. Linux端安装X2Go服务器端

sudo apt install x2goserver x2goserver-xsession -y
  • 安装完成

图片

  1. Linux端安装桌面环境

sudo apt install xfce4 -y
  • 弹出界面选择lightdm作为默认显示管理器,因为它通常与Xfce配合得更好,并且资源占用较少

图片

本地电脑安装X2Go Client并远程连接服务器

安装软件
  • 下载链接:http://wiki.x2go.org/doku.php,根据自己的电脑系统选择安装包安装,此处使用的是Windows系统。使用安装包的方式安装X2Go Client比较简单,都是默认选项一直安装就行。

图片

连接和使用
  1. 打开X2Go Client,点击左上角“Session”>“New session”创建会话。

图片

  1. 出现下图session配置界面,按照图中步骤填写自己的服务器信息,上方Session name可以自定义。这里的端口填写SSH端口即可,这点做得比较好,无需单独暴露端口,比较安全~~

图片

点击右侧session栏,会弹出输入密码的界面。

图片

图片

输入密码后即可进入远程服务器桌面环境。

图片

点击下方terminal栏可以进入服务器命令行环境。

图片

问题记录-Deprecated option UsePrivilegeSeparation

运行X2Go客户端的时候,报错提示:/cygdrive/C/Users/xxx/.x2go/etc/sshd_config line 3: Deprecated option UsePrivilegeSeparation,无法连接到X2Go服务端

图片

  • 打开命令行终端,点击设置

图片

  • 把默认终端应用程序从“由Windows决定”改成“Windows控制主机”

图片

结语

Linux图形化界面的演进,充分体现了开源技术的包容性与适应性。无论是轻量级的XFCE桌面,还是通过X2Go实现的远程图形访问,都让Linux在各种场景下都能提供直观易用的操作体验。掌握这些图形化方案,能够让我们更灵活地驾驭Linux系统,在服务器管理与开发工作中游刃有余。

Logo

这里是一个专注于游戏开发的社区,我们致力于为广大游戏爱好者提供一个良好的学习和交流平台。我们的专区包含了各大流行引擎的技术博文,涵盖了从入门到进阶的各个阶段,无论你是初学者还是资深开发者,都能在这里找到适合自己的内容。除此之外,我们还会不定期举办游戏开发相关的活动,让大家更好地交流互动。加入我们,一起探索游戏开发的奥秘吧!

更多推荐