千家信息网

如何分析Linux中终端界面与图形界面之间的切换关系

发表于:2025-01-20 作者:千家信息网编辑
千家信息网最后更新 2025年01月20日,如何分析Linux中终端界面与图形界面之间的切换关系,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。其实单纯的从命令界面与图形界面之间
千家信息网最后更新 2025年01月20日如何分析Linux中终端界面与图形界面之间的切换关系

如何分析Linux中终端界面与图形界面之间的切换关系,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

其实单纯的从命令界面与图形界面之间的切换是很容易的,就那么几个命令,但是要彻底弄懂这背后的设计架构需要涉及到很多的概念,下面为你讲解Ubuntu 18.10操作系统中的X Window,内容是了解自己机器上的 X Window、理解 display 和虚拟控制台、远程连接 X Server、理解 DisplayManager 和 X Window 桌面环境的启动过程和运行嵌套的 X Server等这些基本概念。
一、 什么是X Window

X Window不是某一个具体的窗体界面,X Window 本质是一个分层的架构,它分为 Server 和 Client。X Server 负责图形界面的显示和用户的输入,而Client 程序需要连接到 X Server,然后请求 X Server 绘制图形界面,同时从 X Server 接受用户的输入。在桌面系统上,X Server 和 Client 程序往往安装在同一台机器上,日常使用基本感觉不到它是分层的。就像我们的一台电脑,X Server和Client是在同一台电脑的。

既然X Window是分层的架构,很显然,X Server 和 Client 也可以分别运行在不同的机器上,在一台机器上运行程序,而在另外一台机器上显示图形界面。

很多人考到这里就有点蒙了,我们在编写网站的时候也有Server-Client分层架构啊,那这有区别吗?当然有了。

X Window 中的 Server 和 Client 的概念和我们平时接触到的"Server/Client"概念刚好相反。很多熟悉 Internet 原理的人,第一次接触 X Window 的这两个概念都会搞错。在Internet里面的Server/Client,是Server负责处理相关的业务,然后将结果返回到Client客户端,但是X Window恰好是相反的,它是Client负责处理,Server负责显示。

比如,我有两台电脑,一台本地机器上运行 Ubuntu 18.10 桌面版,而在另外一台远程机器上运行 CentOS 7(纯字符界面),如果是Internet里面的Server/Client架构,Ubuntu 是 Client,而 CentOS 是 Server。

但是在 X Window 中,Server 偏偏是我面前的这台 Ubuntu,X Server 运行在 Ubuntu 上。我可以在 CentOS 中运行 GVim,但是窗口显示在 Ubuntu 中,这时,GVim 是一个 Client 程序,它在远程机器上运行,而它的窗口显示在本地。

二、理解 display 和虚拟控制台

网上很多介绍 X Window 的文章都是先让系统进入字符界面,然后手动启动一个 X Server。其实这完全没有必要,因为在同一台机器上完全可以运行多个 X Server,只需要让每个 X Server 的 display 不同即可。那么 display 究竟是什么?

实际上,display 就是计算机配备的一套输入输出设备,一个电脑可以有多个输入输出设备,当然也可以只有一个。

在 X Window 中,可以通过 hostname:display_number.screen_number 来指定一个屏幕。可以这样理解:一台计算机可以有多个 display,一个 display 可以有多个屏幕。所以,display 相当于是计算机配备的一套输入输出设备,一般情况下,一台电脑只配一套键盘鼠标和一个显示器,特殊情况下,可以配多个显示器。

现在问题出来了,我的电脑只有一套键盘鼠标和一个显示器,也就是只有一个 display,那又怎么能运行多个 X Server 呢?那是因为在 Linux 中,还有虚拟控制台这样的高级特性。只需要同时按下 Ctrl+Alt+F1、Ctrl+Alt+F2、…、Ctrl+Alt+F7,就可以在不同的虚拟控制台中进行切换。就相当于是给这个电脑配备了7个不同的显示器。

注意:默认情况下,Linux会提供6个Terminal 来让用户登录,切换的方式为Ctrl+Alt+F1到F6.而且,系统会为这6个终端界面以 tty1、tty2、tty3、tty4、tty5、tty6 的命名方式命名,除此之外,Linux还有一个默认的X窗口桌面,使用Ctrl+Alt+F7,姐可以切换到图形桌面进行登录了。为什么用tty来命名呢?

tty:终端设备的统称。

tty一词源于Teletypes,或者teletypewriters,原来指的是电传打字机,是通过串行线用打印机键盘通过阅读和发送信息的东西,后来这东西被键盘与显示器取代,所以现在叫终端比较合适。终端是一种字符型设备,它有多种类型,通常使用tty来简称各种类型的终端设备。Linux默认情况下

tty1~6是文本型控制台,tty7是X Window图形显示管理器。

但是Linux不同的发行版本上面的图形桌面和用户终端可能会有所不同。

比如在 Ubuntu 18.10 中,虚拟控制台 3 到 6 运行的是 tty,也就是字符界面,即Ctrl+Alt+F3到F6分别显示tty3、tty4、tty5、tty6,虚拟控制台 2 运行的是 Xorg,虚拟控制台 1 运行的是图形界面。

三、Terminal与X Window的互相转化

前面的使用Ctrl+Alt+Fn的形式来回切换只是形式上的转换,每一个都在运行,只不过显示的那一个不同,但是实际上,Terminal与X Window在Linux中的运行等级是不一样的,Linux一共有7中运行等级(run level),在不同的运行级下,系统有着不同的状态,它们分别是:

0:停机(记住不要把initdefault 设置为0,因为这样会使Linux无法启动 )

1:单用户模式,就像Win9X下的安全模式。

2:多用户,但是没有 NFS 。

3:完全多用户模式,标准的运行级。

4:一般不用,在一些特殊情况下可以用它来做一些事情。

5:X11,即进到 X-Window 系统。

6:重新启动 (记住不要把initdefault 设置为6,因为这样会使Linux不断地重新启动)。

Terminal默认的run level是3,而X Window默认的run level是5,现在如果我在中断输入如下命令:

init 3

那么会杀死X Window,这样就没有X Window了,只存在Terminal,此时如果我想要重新进入到X Window,我需要在Terminal进行登录,然后执行

startx

重新打开X Window。

关于如何分析Linux中终端界面与图形界面之间的切换关系问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注行业资讯频道了解更多相关知识。

运行 界面 图形 不同 机器 终端 控制台 控制 切换 电脑 多个 桌面 用户 系统 设备 输入 情况 显示器 架构 概念 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 重构机房数据库三范式 acl网络安全配置心得 魔兽世界月卡数据库 aix服务器运行多少个进程 湖北康创软件开发有限公司招聘 广德新能源软件开发服务解决方案 服务器和工作站一样吗 天津统一软件开发服务创意 php软件开发是做什么的 西城区现代软件开发检修 公司网站和服务器有什么区别 我国现有中外数据库多少个 广联达云授权状态访问服务器异常 育创网络技术研发部总监 网络安全体系建设现状 北滘网络安全 skywalking数据库 世界十大软件开发公司 sas临时数据库是唯一的吗 深圳erp软件开发价格 北京网络营销软件开发质量服务 魔兽世界月卡数据库 腾讯云轻量服务器建立网站教程 信息网络安全周日记 数据库用什么表 浙江农信软件开发岗待遇和发展 局域网必须用服务器吗 大专计算机网络技术毕业自我鉴定 阿里云服务器是正品吗 重庆hp服务器阵列卡安装云空间
0