Linux 在过去几年发生的六种变化

news2024/11/17 10:06:25
随着时间的推移,Linux 桌面已经发生了变化,这种变化是逐渐发生的,因此这里汇总了过去十年中 Linux 桌面体验发生变化的一些具体方式。

资深用户知道 Linux 桌面已经走过了漫长的道路。从前端应用程序设计到后端 Linux 组件,近年来发生了很多变化。

今天使用 Linux 看起来与 5 年或 10 年前大不相同。最流行的桌面环境不再停留在 90 年代。虽然您可能仍然需要技术知识来安装 Linux,但您不再需要在成为计算机高手之后才能使用它。

这种变化是逐渐发生的,因此这里汇总了过去十年中 Linux 桌面体验发生变化的一些具体方式。

1. 应用程序更简洁

近年来,所有桌面操作系统的应用程序设计都发生了变化,Linux 也没有跳过这一趋势。桌面界面的传统元素,例如工具栏、标题栏和菜单栏,现在越来越过时了。

目前最流行的 Linux 桌面 GNOME,使用包含图标和汉堡菜单按钮的单个标题栏。一些较新的 GNOME 应用程序在窗口内容和标题栏之间根本没有任何边界。基本操作系统上的应用程序也是如此。

这种变化并没有出现在所有 Linux 桌面上。许多传统接口仍然存在并继续流行,例如 Cinnamon、MATE 和 XFCE。然而,即使在这些桌面上,您仍然很有可能在某些时候安装具有更新设计感的应用程序。基于 KDE Plasma的各种发行版体现了这种中间状态,一些应用程序具有菜单栏或汉堡菜单(或两者兼有)。

2. 更多的应用是自适应的,比如网站

在早期,PC 上的应用程序相对静态。元素并没有移动太多。如果您将窗口缩小得太远,您就有可能隐藏界面的内容或元素。

现在应用程序的适应性越来越强,改变以适应小窗口大小,有时在此过程中完全重新排列它们的界面。这使得单个应用程序可以在桌面和移动设备上舒适地运行,就像自适应网站一样。

这是对应用程序设计的另一项更改,其中 GNOME 走得最远,但其他桌面也在进行过渡。KDE Plasma 有一个名为Kirigami的独立框架,它提供了一个可以很好地适应各种外形尺寸的应用程序界面。作为向 GTK 4 过渡的一部分,elementary OS 正在使应用程序更具适应性。

3. Linux 看起来和替代品一样现代

几年前,切换到 Linux 感觉就像回到了过去。GNOME 2.x 和 KDE 3.x 看起来像是停留在 1990 年代的环境,即使它们添加了现代功能。拥抱软件自由意味着失去某种光泽和光彩。

如今,自由软件桌面与其专有软件桌面之间的距离要小得多。GNOME 可以说拥有与 macOS 一样具有凝聚力和一致性的设计语言,甚至更多。桌面动画和过渡感觉比在 ChromeOS 上更流畅。路人很容易将 KDE Plasma 误认为是 Windows。

当然,有很多 Linux 桌面仍然感觉卡在时间上。MATE 和 XFCE 的存在部分是为了保留旧的做事方式。但是,如果您想要一些感觉现代的东西,Linux 现在可以提供。

4. 应用程序更容易安装

在 Linux 上安装软件长期以来一直是个混日子。一方面,Linux 长期以来一直有包管理器,在应用商店出现之前,它就充当了应用商店。如果您的发行版提供了一个应用程序,您只需单击或命令即可安装它。但是,如果您的发行版没有提供应用程序,或者它提供了过时的版本,那么使用该程序会很痛苦。

您必须从源代码编译程序或将其他软件源添加到系统中,这种更改会增加您遇到错误或崩溃的风险。您可以运行哪些软件很大程度上取决于您选择的发行版。

现在有多种通用包格式适用于大多数 Linux 版本。如果应用程序以 Flatpak、Snap 或 AppImage 格式提供,那么您很有可能只需下载该程序并在您的计算机上运行它。

Flathub(用于 Flatpaks)和 Snap Store(用于 Snap 包)提供了您可能需要的大部分软件的集中来源以及持续更新。因此,应用程序不仅更容易找到,而且更容易保持最新状态。即使是测试版或实验性软件现在也很容易运行,对您的计算机几乎没有风险。

5. 为新人提供更好的入职体验

Linux 是为自己的操作系统,因此它以自己的方式运行。不仅如此,并非所有 Linux 桌面都采用任何一种外观或特性。作为一个相对小众的选择,我们中的大多数人不一定认识我们个人生活中运行 Linux 的人,我们也不能将我们的 PC 带到大商场寻求帮助。

这增加了对 Linux 本身帮助我们学习如何使用计算机的需求。幸运的是,在这个领域,桌面已经取得了长足的进步。Ubuntu 是最受欢迎的 Linux 版本,多年前当它的安装程序向人们介绍 Ubuntu 体验的各个方面时,它开辟了新天地。

现在 GNOME 提供了一个 Tour 应用程序,它会在首次启动时打开,并引导您了解如何使用 GNOME 界面,并且帮助应用程序更深入。elementary OS 的入门体验可与使用移动设备相媲美。一些发行版很好地提供了一个应用程序,其中包含特定于其特定发行版的资源,就像 Ubuntu MATE 一样。

6. 更好的后端系统组件

没有任何一家公司生产或控制 Linux。取而代之的是,整个生态系统由许多人组成,其中大多数是志愿者,他们创建与其他软件交互的软件以生产一台功能正常的计算机。

从技术上讲, Linux只是内核,它使您在屏幕上所做的事情能够与您的物理硬件进行通信。但是在你看到的和你点击的之间有很多层,这些层变得更加强大和更好地集成。

例如,systemd 处理计算机的大部分启动和后台进程。它可以管理用户登录、设备管理和网络连接。传统上,不同的程序管理所有这些不同的任务。集中体验有助于发行版实现更快的启动速度和更少的错误。

同样,Wayland 是一种现代显示服务器协议,可以更好地与 Linux 内核集成并实现更强的安全性。Wayland 有助于产生比它所取代的系统更流畅的动画和手势。然后是 PipeWire,这是一种使 Linux 更易于用于音频制作的新技术。

所有这些变化都受到普遍欢迎吗?并非没有争议。毕竟,模块化是 Unix 方式的重要组成部分。然而,发行版选择采用这些组件,因为它们最终为大多数用户带来了更好的体验。

Linux 尚未完成更改

随着时间的推移,Linux 桌面已经发生了变化,但越来越多的是,Linux 桌面只是故事的一部分。各种 Linux 桌面环境现在出现在智能手机和平板电脑上。他们还没有准备好与他们的专有对手进行正面交锋,但正在取得进展,PinePhone Pro 等设备都预装了Linux。

如果您是 Linux 新手并且不知道过去是什么样的,您仍然可以亲自体验它们。只需安装更保守的 Linux 桌面之一,如 MATE。但请记住,如果特定桌面不符合您的要求,您还可以使用其他选项。

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/78184.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

驱动无模块注入dll

文章目录实现效果三环无模块注入的方案反射型dll注入方式的改进零环无模块注入方案petoshellcode无模块注入流程实现代码Xenos注入方案研究IT_MMap注入IT_Thread注入IT_Apc注入火绒的注入思路实现效果 可以看到dll已经成功执行,但是在内存区域里面并没有我们的模块&…

《野球少年》:投捕搭档·棒球联盟

中文名 野球少年 原版名称 バッテリー 别 名 棒球伙伴、Battery 动画制作 ZERO-G 类 型 青春、运动、棒球 剧情简介 身为一名投手,原田巧是位拥有着拔群棒球才能的少年。在初中入学时移居的山间城镇新田市,巧与接住自己全力投球的捕手永仓豪相遇了。…

13 个你应该知道的 Webpack 优化技巧

Webpack 是目前前端开发最重要的构建工具。无论是自己的日常开发,还是准备面试,都应该掌握一些关于 Webpack 的优化技巧。 在这篇文章中,我将从三个方面分享一些我常用的技巧: 提高优化速度 压缩打包文件的大小 改善用户体验。…

[附源码]Python计算机毕业设计SSM基于框架的动漫设计(程序+LW)

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

MarkDown语法浅析(基础语法)

本篇学习笔记简述MarkDown基础语法。掌握了“MarkDown基本语法简单HTML5标签”的综合运用,就可以把CSDN博文搞得美美哒✌ (本文获得CSDN质量评分【92】)【学习的细节是欢悦的历程】Python 官网:https://www.python.org/ Free:大咖免费“圣经…

SpringMVC笔记

文章目录一、SpringMVC简介1、什么是MVC2、什么是SpringMVC3、SpringMVC的特点二、HelloWorld1、开发环境2、创建maven工程a>添加web模块b>打包方式:warc>引入依赖3、配置web.xmla>默认配置方式b>扩展配置方式4、创建请求控制器5、创建springMVC的配…

Android开发中的服务发现技术

我们的日常开发中充满了InterfaceRegistry这种模式的代码,其中: Interface为定义的服务接口,可能是业务功能服务也可能是日志服务、数据解析服务、特定功能引擎等各种抽象层(abstract layer);Registry为特…

线性表→顺序表→链表 逐个击破

一. 线性表 1. 前言 线性表,全名为线性存储结构。使用线性表存储数据的方式可以这样理解,即 “ 把所有(一对一逻辑关系的)数据用一根线儿串起来,再存储到物理空间中 ”。这根线有两种串联形式,如下图,即顺序存储(集中…

【收藏级】MySQL基本操作的所有内容(常看常新)

文章目录前言一、ER模型二、数据类型三、字段命名规范四、数据库创建与管理4.1、创建数据库4.2、删除数据库4.3、列出数据库4.4、备份数据库4.5、还原数据库4.6、使用某个数据库五、数据表创建与管理5.1、创建表、结构5.2、查看表结构5.3、查看数据表5.4、复制表结构5.5、复制表…

m基于PSO粒子群算法的重采样算法仿真,对比随机重采样,多项式重采样,分层重采样,系统重采样,残差重采样,MSV重采样

目录 1.算法描述 2.仿真效果预览 3.MATLAB核心程序 4.完整MATLAB 1.算法描述 重采样的主要方法有随机重采样,多项式重采样,分层重采样,系统重采样,残差重采样,MSV重采样等。 a.随机采样是一种利用分层统计思想设计出来的,将空间均匀划分,粒子打点后…

Lecture6:激活函数、权值初始化、数据预处理、批量归一化、超参数选择

目录 1.最小梯度下降(Mini-batch SGD) 2.激活函数 2.1 sigmoid 2.2 tanh 2.3 ReLU 2.4 Leaky ReLU 2.5 ELU 2.6 最大输出神经元 2.7 建议 3.数据预处理 4. 如何初始化网络的权值 5. 批量归一化 6.超参数的选择 1.最小梯度下降&#xf…

Flowable定时器与实时流程图

1. 定时器 1.1. 流程定义定时激活 在之前松哥给小伙伴们介绍流程定义的时候,流程都是定义好之后立马就激活了,其实在流程定义的这个过程中,我们还可以设置一个激活时间,也就是流程定义好之后,并不会立马激活&#xf…

Java一些面试题(简单向)

以下全部简单化回答(本人新手,很多都是直接百度粘贴收集得来的,如有不对请留下正确答案,谢谢) (问题来源https://www.bilibili.com/video/BV1XL4y1t7LL/?spm_id_from333.337.search-card.all.click&vd_source3cf72bb393b8cc11b96c6d4bfbcbd890) 1.重写 重载的区别 重写(ov…

dubbo3.0使用

dubbo3.0使用 介绍 官方网址:https://dubbo.apache.org/ 本文基于springCloud依赖的方式演示相关示例:https://github.com/alibaba/spring-cloud-alibaba/wiki/Dubbo-Spring-Cloud dubbo示例项目:https://github.com/apache/dubbo-sample…

9 内中断

内中断 任何一个通用的CPU,比如8086 ,都具备一种能力,可以在执行完当前正在执行的指令之后,检测到从CPU 外部发送过来的或内部产生的一种特殊信息,并且可以立即对所接收到的信息进行处理。这种特殊的信息,…

S7-200SMART高速脉冲输出的使用方法和示例

S7-200SMART高速脉冲输出的使用方法和示例 S7-200SMART PLC内部集成了高速脉冲发生器,不同的CPU型号,高速脉冲发生器的数量不同。 具体型号可参考下图: 注意:要输出高速脉冲的话,必须选择ST晶体管型号的PLC,SR继电器型的不支持。 S7-200SMART PLC能产生2种类型的高速脉冲…

【瑞吉外卖】公共字段填充

🍁博客主页:👉不会压弯的小飞侠 ✨欢迎关注:👉点赞👍收藏⭐留言✒ ✨系列专栏:👉瑞吉外卖 ✨欢迎加入社区: 👉不会压弯的小飞侠 ✨人生格言:知足上…

激光雷达标定(坐标系转换)

文章目录1. 旋转矩阵2. 平移矩阵3. 坐标系的转换4. 坐标转换代码1. 旋转矩阵 由于激光雷达获取的点云数据的坐标是相对于激光雷达坐标系的,为了使车最终得到的点云数据坐标是在车坐标系下的,我们需要对点云中每一个点的坐标进行坐标转换。首先是需要对坐…

Docker笔记--创建容器、退出容器、查看容器、进入容器、停止容器、启动容器、删除容器、查看容器详细信息

目录 1--docker run创建容器 2--exit退出容器 3--docker ps查看容器 4--docker exec进入容器 5--docker stop停止容器 6--docker start启动容器 7--docker rm删除容器 8--docker inspect查看容器详细信息 1--docker run创建容器 sudo docker run -it --nametest redis…

Python 可迭代对象(Iterable)、迭代器(Iterator)与生成器(generator)之间的相互关系

1、迭代 通过重复执行的代码处理相似的数据集的过程&#xff0c;并且本次迭代的处理数据要依赖上一次的结果继续往下做&#xff0c;上一次产生的结果为下一次产生结果的初始状态&#xff0c;如果中途有任何停顿&#xff0c;都不能算是迭代。 # 非迭代例子 n 0 while n < …