X Window---图形接口
摘抄自 鸟哥的linux私房菜 基础篇 第四版
有鉴于图形用户接口(Graphical User Interface, GUI) 的需求日益加重,在 1984 年由 MIT 与其他第三方首次发表了 X Window System ,并且更在 1988 年成立了非营利性质的 XFree86 这个组织。所谓的XFree86 其实是 X Window System + Free + x86 的整合名称呢。
为什么称图形用户接口为 X 呢?因为由英文单字来看,Window 的 W 接的就是 X 啦!
意指Window 的下一版就是了! 需注意的是,X Window 并不是X Windows 喔!
为了要强化桌面计算机的使用率,Linux 与 X Window System 结合了!要注意的是,X Window
System 仅只是 Linux 上面的一套软件, 而不是核心喔!所以即使 X Window 挂了,对 Linux 也可能不会有直接的影响呢!
Linux 该如何学习
为什么大家老是建议学习Linux 最好能够先舍弃X Window 的环境呢? 这是因为X window 了不起也只是 Linux 内的『一套软件』而不是『Linux 核心』。 此外,目前发展出来的 X-Window 对于系统的管理上还是有无法掌握的地方,举个例子来说,如果 Linux 本身捉不到网络卡的时候,请问如何以 X Window 来捉这个硬件并且驱动他呢?
Linux 与硬件的搭配
举例来说,桌面计算机(Desktop)的用户,应该会用到 X Window 系统, 此时,显示适配器的优劣与内存的大小可就占有很重大的影响。
重新启动X Window的快速按钮
一般来说,我们是可以手动来直接修改 X Window 的配置文件的,不过,修改完成之后的设定项目并不会立刻被加载, 必须要重新启动 X 才行(特别注意,不是重新启动,而是重新启动 X!) 。那么如何重新启动 X 呢? 最简单的方法就是:
直接注销,然后再重新登入即可;
在X 的画面中直接按下[Alt] + [Ctrl] + [Backspace]<---第二个方法比较有趣,[backspace]是退格键,你按下三个按钮后 X Window 立刻会被重新启动。 如果你的 X Window 因为不明原因导致有点问题时,也可以利用这个方法来重新启动 X 喔!
X window 与文本模式的切换
前面一直谈到的是 X Window 的窗口管理员环境,那么在这里面有没有纯文本接口的环境啊?因
为听说服务器通常是纯文本界面的啊! 当然有啊!但是,要怎么切换 X Window 与文本模式呢?注意喔,通常我们也称文本模式为终端机接口, terminal 或 console 喔!Linux 预设的情况下会提供六个Terminal 来让使用者登入, 切换的方式为使用:[Ctrl] + [Alt] + [F1]~[F6]的组合按钮。
那这六个终端接口如何命名呢,系统会将[F1] ~ [F6]命名为 tty1 ~ tty6 的操作接口环境。 也就是说,当你按下[crtl] + [Alt] + [F1]这三个组合按钮时 (按着[ctrl]与[Alt]不放,再按下[F1]功能键), 就会进入到 tty1 的 terminal 界面中了。同样的[F2]就是 tty2 啰!那么如何回到刚刚的 X 窗口接口呢?很简单啊!按下[Ctrl] + [Alt] + [F1]就可以了!我们整理一下登入的环境如下:
[Ctrl] + [Alt] + [F2] ~ [F6] :文字接口登入 tty2 ~ tty6 终端机;
[Ctrl] + [Alt] + [F1] :图形接口桌面。
由于系统默认的登入界面不同,因此你想要进入 X 的终端机名称也可能会有些许差异。以 CentOS 7 为例,由于我们这次安装的练习机, 默认是启动图形界面的,因此这个 X 窗口将会出现在 tty1 界面中。如果你的 Linux 预设使用纯文本界面,那么 tty1~tty6 就会被文字界面占用。
在 CentOS 7 环境下,当开机完成之后,默认系统只会提供给你一个 tty 而已,因此
无论是文字界面还是图形界面,都是会出现在 tty1 喔! tty2~tty6 其实一开始是不存在的!但是当你要切换时 (按下 [ctrl]+[alt]+[F2]),系统才产生出额外的 tty2, tty3...
若你在纯文本环境中启动 X 窗口,那么图形界面就会出现在当时的那个 tty 上面。举例来说,你在
tty3 登入系统,然后输入 startx 启动个人的图形界面, 那么这个图形界面就会产生在 tty3 上面!
# 纯文本界面下 (不能有 X 存在) 启动窗口界面的作法
[dmtsai@study ~]$ startx
不过 startx 这个指令并非万灵丹,你要让 startx 生效至少需要底下这几件事情的配合:
并没有其他的 X window 被启用;
你必须要已经安装了X Window system,并且 X server 是能够顺利启动的;
你最好要有窗口管理员,例如GNOME/KDE 或者是阳春的 TWM 等;
其实,所谓的窗口环境,就是:『文字界面加上 X 窗口软件』的组合!因此,文字界面是一定会存在的,只是窗口界面软件就看你要不要启动而已。 所以,我们才有办法在纯文本环境下启动一个个人化的 X 窗口啊!因为这个 startx 是任何人都可以执行的喔!并不一定需要管理员身份的。所以,是否默认要使用图形界面,只要在后续管理服务的程序中,将『 graphical.target 』这个目标服务设定为默认,就能够默认使用图形界面啰!
在终端界面登入 linux
刚刚你如果有按下[Ctrl] + [Alt] + [F2]就可以来到 tty2 的登入画面,而如果你并没有启用图形窗口界面的话, 那么预设就是会来到tty1 这个环境中。这个纯文本环境的登入的画面 (鸟哥用 dmtsai 账号当入) 有点像这样:
以上这句话怎么理解??为什么会来到tty1不是tty2?
-->
而如果你并没有启动图形窗口界面的话,那么预设就是会来到tty1这个环境?答:因为tty1也是文字界面,就等于整个tty1到tty6都没有启动图形界面,所以说新启动的图形界面位于tty1.
CentOS Linux 7 (Core)
Kernel 3.10.0-229.el7.x86_64 on an x86_64 study login: dmtsai
Password: <==这里输入你的密码
Last login: Fri May 29 11:55:05 on tty1 <==上次登入的情况
[dmtsai@study ~]$ _ <==光标闪烁,等待你的指令输入
上面显示的内容是这样的:
1. CentOS Linux 7 (Core):
显示Linux distribution 的名称(CentOS)与版本(7);
2. Kernel 3.10.0-229.el7.x86_64 on an x86_64:
显示 Linux 核心的版本为3.10.0-229.el7.x86_64, 且目前这部主机的硬件等级为 x86_64。
3. study login::
那个study 是你的主机名。我们在第三章安装时有填写主机名为: study.centos.vbird,主机名的显示通常只取第一个小数点前的字母,所以就成为study 啦!
至于login:则是一支可以让我们登入的程序。你可以在login:后面输入你的账号。以鸟哥为例,我输入的就是第三章建立的 dmtsai 那个账号啦!
当然啰,你也可以使用root 这个账号来登入的。不过『root』这个账号代表在 Linux 系统下无穷的权力, 所以尽量不要使用root账号来登入啦!
4. Password::
这一行则在第三行的dmtai 输入后才会出现,要你输入密码啰! 请注意,在输入密码的时候,屏幕上面『不会显示任何的字样!』, 所以不要以为你的键盘坏掉去!很多初学者一开始到这里都会拼命的问!啊我的键盘怎么不能用...
5. Last login: Fri May 29 11:55:05 on tty1:
当用户登入系统后,系统会列出上一次这个账号登入系统的时间与终端机名称! 建议大家还是得要看看这个信息,是否真的是自己的登入所致喔!
6. [dmtsai@study ~]$ _:
这一行则是正确登入之后才显示的讯息, 最左边的 dmtsai 显示的是『目前用户的账号』,而@之后接的 study 则是『主机名』,至于最右边的~则指的是 『目前所在的目录』,那个$则是我们常常讲的『提示字符』啦!
那么如何离开系统呢?其实应该说『注销 Linux』才对!注销很简单,直接这样做:
[dmtsai@study ~]$ exit
就能够注销 Linux 了。但是请注意:『离开系统并不是关机!』 基本上,Linux 本身已经有相当多的工作在进行,你的登入也仅是其中的一个『工作』而已, 所以当你离开时,这次这个登入的工作就停止了,但此时 Linux 其他的工作是还是继续在进行的!
相关文章:
X Window---图形接口
摘抄自 鸟哥的linux私房菜 基础篇 第四版 有鉴于图形用户接口(Graphical User Interface, GUI) 的需求日益加重,在 1984 年由 MIT 与其他第三方首次发表了 X Window System ,并且更在 1988 年成立了非营利性质的 XFree86 这个组织。所谓的XFree86 其实是…...
数据序列化协议 Protobuf 3 介绍(Go 语言)
Protobuf 3 入门 1. 什么是序列化? 1.1 概念 序列化(Serialization 或 Marshalling) 是指将数据结构或对象的状态转换成可存储或传输的格式。反向操作称为反序列化(Deserialization 或 Unmarshalling),它…...
FineReport 操作注意
1.父单元格重复的时候,如何取消合并 效果如下: 只需要在单元格中,将数据设置为【列表】即可。 2.待定...
3D手眼标定转换详细实施步骤及原理概述
3D手眼标定转换详细实施步骤及原理概述 一、手眼标定的核心目标二、3D手眼标定的原理概述一、基本概念与坐标系定义**二、数学建模与方程推导****1. 坐标变换的齐次矩阵表示****2. 手眼标定方程推导** **三、方程求解方法****1. 分离旋转与平移****2. 旋转矩阵求解****3. 平移向…...
Verilog:SCCB控制器
目录 一、SCCB协议 (1)SCCB时序 (2)与I2C的区别 二、Verilog 实现 (1)设计要求 (2)设计要点 (3)模块完整代码 三、功能验证 (1)写…...
维度建模基础篇:从理论到核心组件解析
维度建模基础篇:从理论到核心组件解析 引言 在数据仓库与商业智能(BI)领域,维度建模(Dimensional Modeling)作为一种经典的数据组织方法论,自Kimball提出以来,已成为构建高效分析型系统的核心范式1,2,3。其以业务需求为导向,通过事实表与维度表的组合,实现对复杂…...
与中国联通技术共建:通过obdiag分析OceanBase DDL中的报错场景
中国联通软件研究院(简称联通软研院)在全面评估与广泛调研后,在 2021年底决定采用OceanBase 作为基础,自研分布式数据库产品CUDB(即China Unicom Database,中国联通数据库)。目前,该…...
大数据与网络安全讲座
🍅 点击文末小卡片 ,免费获取网络安全全套资料,资料在手,涨薪更快 大数据的价值为大家公认。业界通常以4个“V”来概括大数据的基本特征——Volume(数据体量巨大)、Variety(数据类型繁多)、Value(价值密度低)、Velocity(处理速度快…...
AtCoder Beginner Contest 395 E
点我写题 题意:给个有向图,从1出发,每次可以走一条有向边,花费为1,也可以选择把全部有向边翻转,花费x,问到n的最小花费 思路:最短路dp,定义dis[i][0/1]表示走到i为止&…...
Linux进程管理6 - CFS调度
0、CFS调度器 CFS调度器使用完全公平调度算法。 完全公平调度算法引入虚拟运行时间的概念:虚拟运行时间 = 实际运行时间 * nice_0_weight / 进程的权重。完全公平调度算法使用红黑树把进程按虚拟运行时间从小到大排序,每次调度选择虚拟运行时间最小的进程。时间片 操作系统进…...
张驰咨询:用六西格玛重构动力电池行业的BOM成本逻辑
在动力电池行业,BOM(物料清单)成本每降低1%,都可能改写企业的利润曲线。某头部企业的三元锂电池BOM成本曾较行业标杆高出11%,单电芯利润率被压缩至3%的生死线。然而,通过张驰咨询的六西格玛方法论ÿ…...
pyside6学习专栏(九):在PySide6中使用PySide6.QtCharts绘制6种不同的图表的示例代码
PySide6的QtCharts类支持绘制各种型状的图表,如面积区域图、饼状图、折线图、直方图、线条曲线图、离散点图等,下面的代码是采用示例数据绘制这6种图表的示例代码,并可实现动画显示效果,实际使用时参照代码中示例数据的格式将实际数据替换即可…...
SpringBoot获取YAML配置文件中的属性值(二):使用Environment环境组件读取值
Spring Boot 使用 Properties 和 YAML 配置文件文件,系列文章: 《Spring使用@Value注解与@PropertySource注解加载配置文件》 《SpringBoot获取YAML配置文件中的属性值(一):使用@Value注解、@ConfigurationProperties注解》 《SpringBoot获取YAML配置文件中的属性值(二)…...
14天 -- Redis 的持久化机制有哪些?Redis 主从复制的实现原理是什么? Redis 数据过期后的删除策略是什么?
Redis 的持久化机制有哪些? Redis 是一种高性能的键值存储系统,主要用于缓存、消息队列等场景。为了防止数据丢失,Redis 提供了多种持久化机制,主要包括以下两种: 1. RDB(Redis Database Backupÿ…...
《深度学习实战》第10集:联邦学习与隐私保护
第10集:联邦学习与隐私保护 2025年3月4日更新了代码,补充了实例程序运行截图 和 如何提高模型准确率的方法 系统梳理 集集精彩 代码验证 保证实战 随着数据隐私问题日益受到关注,联邦学习(Federated Learning) 作为一…...
如何解决跨域请求的问题(CORS)?
文章目录 1. 引言2. 理解 CORS2.1 CORS 基本概念2.2 同源策略与跨域分类 3. CORS 的核心机制3.1 预检请求(Preflight Request)3.2 简单请求 4. 服务器端配置 CORS4.1 关键响应头4.2 Node.js (Express) 示例4.3 其他后端语言配置 5. 前端处理 CORS 请求5.…...
【数据结构】二叉树总结篇
遍历 递归 递归三部曲: 1.参数和返回值 2.终止条件 3.单层逻辑(遍历顺序) var preorderTraversal function(root) { // 第一种let res[];const dfsfunction(root){if(rootnull)return ;//先序遍历所以从父节点开始res.push(root.val);//递归…...
软考-数据库开发工程师-3.1-数据结构-线性结构
第3章内容比较多,内容考试分数占比较大,6分左右 线性表 1、线性表的定义 一个线性表是n个元素的有限序列(n≥0),通常表示为(a1,a2, a3,…an). 2、线性表的顺序存储(顺序表) 是指用一组地址连续的存储单元依次存储线性表中的数据元…...
【五.LangChain技术与应用】【2.LangChain虚拟环境搭建(下):环境优化与调试】
一、Docker化部署:别让你的环境成为薛定谔的猫 经历过"在我机器上能跑"惨案的老铁都懂,传统虚拟环境就像个黑盒子。去年我帮客户部署LangChain应用,因为glibc版本差了0.1,整个服务直接崩成烟花。从那天起,我所有项目都强制上Docker! Dockerfile生存指南: #…...
deepseek+mermaid【自动生成流程图】
成果: 第一步打开deepseek官网(或百度版(更快一点)): 百度AI搜索 - 办公学习一站解决 第二步,生成对应的Mermaid流程图: 丢给deepseek代码,或题目要求 生成mermaid代码 第三步将代码复制到me…...
Java实现大数据量导出报表
一、实现方式 在Java中,导出数据到Excel有多种方式,每种方式都有其优缺点,适用于不同的场景。以下是常见的几种方式及其特点: 1.1 Apache POI Apache POI 是 Java 中最流行的库,支持读写 Excel 文件(包括…...
在 Element Plus 的 <el-select> 组件中,如果需要将 <el-option> 的默认值设置为 null。 用于枚举传值
文章目录 引言轻松实现 `<el-option>` 的默认值为 `null`I 实现方式监听清空事件 【推荐】使用 v-model 绑定 null添加一个值为 null 的选项处理 null 值的显示引言 背景:接口签名规则要求空串参与,空对象不参与签名计算 // 空字符串“” 参与签名组串,null不参与签…...
Spring Boot 接口 JSON 序列化优化:忽略 Null 值的九种解决方案详解
一、针对特定接口null的处理: 方法一:使用 JsonInclude 注解 1.1 类级别:在接口返回的 DTO 类或字段 上添加 JsonInclude 注解,强制忽略 null 值: 类级别:所有字段为 null 时不返回 JsonInclude(Js…...
解码未来!安徽艾德未来智能科技有限公司荣获“GAS消费电子科创奖-产品创新奖”!
在2025年“GAS消费电子科创奖”评选中,安徽艾德未来智能科技有限公司提交的“讯飞AI会议耳机iFLYBUDS Pro 2”,在技术创新性、设计创新性、工艺创新性、智能化创新性及原创性五大维度均获得评委的高度认可,荣获“产品创新奖”。 这一殊荣不仅…...
Velox 之 Expression
Round 函数 velox/functions/prestosql/Arithmetic.h template <typename T> struct RoundFunction {template <typename TInput>FOLLY_ALWAYS_INLINE voidcall(TInput& result, const TInput& a, const int32_t b = 0) {result = round(a, b);} };/// R…...
【零基础到精通Java合集】第二十四集:ZGC收集器详解
课程标题:ZGC收集器——突破停顿时间极限的下一代垃圾回收器(15分钟) 目标:掌握ZGC的核心技术原理、适用场景与调优策略,理解其如何实现亚毫秒级停顿 0-1分钟:课程引入与ZGC设计目标 以“高速公路无障碍通行”类比ZGC核心思想:通过染色指针与读屏障技术,实现垃圾回收…...
力扣hot100刷题——栈
文章目录 69.有效的括号题目描述思路:栈code 70.最小栈题目描述思路:双栈法code优化:单栈法code 71.字符串解码题目描述思路:栈code 73.每日温度题目描述思路:单调栈code 74.柱状图中最大的矩形题目描述思路࿱…...
TMS320F28P550SJ9学习笔记2:Sysconfig 配置与点亮LED
今日学习使用Sysconfig 对引脚进行配置,并点亮开发板上的LED4 与LED5 我的单片机开发板平台是 LAUNCHXL_F28P55x 我是在上文描述的驱动库C2000ware官方例程example的工程基础之上进行添加功能的 该例程路径如下:D:\C2000Ware_5_04_00_00\driverlib\f28p…...
STM32MP1xx的启动流程
https://wiki.st.com/stm32mpu/wiki/Boot_chain_overview 根据提供的知识库内容,以下是STM32 MPU启动链的详细解析: 1. 通用启动流程 STM32 MPU启动分为多阶段,逐步初始化外设和内存,并建立信任链: 1.1 ROM代码&…...
开源之夏经验分享|Koupleless 社区黄兴抗:在开源中培养工程思维
开源之夏经验分享|Koupleless 社区黄兴抗:在开源中培养工程思维 文|黄兴抗 电子信息工程专业 Koupleless 社区贡献者 就读于南昌师范学院,电子信息工程专业的大三学生。 本文 2634 字,预计阅读 7 分钟 今天 SOFAStack 邀…...
