Linux 用户注意!GNOME 45 将影响所有扩展!

news/2024/7/24 12:00:49 标签: linux, 服务器, 运维
GNOME 45 是一次重要的升级,但对扩展的影响并不令人满意!

Linux 用户注意!GNOME 45 将影响所有扩展!Linux 用户注意!GNOME 45 将影响所有扩展!

每当 GNOME 升级,总会有一些扩展遭遇问题,这点并不新鲜。但如今,到了 GNOME 45,每个扩展都将面临问题!

那么,究竟是什么原因呢?让我为你解释一番。

GNOME 45 扩展的变化

每次升级,都意味着某种技术上的提升或者变化。

而 GNOME 45 带来了许多激动人心的更新,除了这一项。

GNOME 45 引入激动人心的更新

GNOME Shell 的 JavaScript 部分发生了变化。如果你还不清楚的话,你需要知道的是,JavaScript(以及相关的模块)负责扩展的用户界面,包括面板、菜单、对话框等。

技术上的变更主要在于,GNOME Shell 和扩展开始使用 ESModules,而不是 GJS 的自定义导入系统。

虽然这个变革旨在鼓励开发人员用更加标准化的方式来处理 GNOME Shell 和扩展的代码,但可能会造成大量困扰。

为什么呢?

那是因为旧有系统与新的模块系统存在不兼容问题。

以下是 Florian Müllner 在谈及这个技术问题时 提到 的:

模块加载的方式与脚本有所不同,有些语句,特别是 import 和 export,只在模块中有效。这就意味着,如果一个模块使用了这些语句(几乎是必然的),那么用旧系统导入这个模块就会出现语法错误。

那么问题影响范围呢?所有 GNOME 扩展都将受影响。

  • 所有针对老版本 GNOME 设计的扩展将无法在 GNOME 45 上运行(除非迁移)。
  • 专门为 GNOME 45 设计的新扩展,也无法在老版本上运行。

好消息是,GNOME 扩展的开发人员可以支持多版本的 GNOME,但他们将需要付出更多努力,为 GNOME 45 之前和之后的版本分别上传新的版本。

因此,即使开发人员选择了这样做,并使用 迁移指南 将他们的扩展移植到新系统中,这仍将花费他们更多的时间,而在此期间,终端用户(也就是我们)在使用 GNOME 45 时会遇到扩展无法运行的情况。

这并不是一个好的用户体验,对不对?

GNOME 的升级从未能完美处理扩展的兼容问题,现在,情况变得更糟。

虽然我并不太依赖现有的任何 GNOME 扩展,但很多用户在日常使用中都会用到。对他们来说,一个可能破坏使用体验的升级绝非喜事。

你如何看待 GNOME 45 中对扩展的变动?


http://www.niftyadmin.cn/n/5035524.html

相关文章

项目部署流程,域名解析,备案

每日鸡汤:每个你想要学习的瞬间都是未来的你像自己求救 假如你在部署一个网站域名是https://www.test.com 除了你要打包部署到一个服务器上之后,还需要有以下几个准备 购买域名www.test.com购买www.test.com的ssl证书,https协议用让架构组的…

华清远见第六课程day10作业

保纯 //保存按钮对应的槽函数 void Widget::on_saveBtn_clicked() {QString fileName QFileDialog::getSaveFileName(this, "保存文件", "./", "All(*.*);;Images (*.png *.xpm *.jpg);;Text files(*.txt);;XML …

C# 静态类和sealed类(密封类)的区别

网上看到很多文章写静态类,和密封类,但是鲜有它们的对比总结,在此简单总结一下: 静态类(Static Class): 静态类不能被实例化,其成员都是静态的,可以通过类名直接访问。静…

React+Node——next.js 构建前后端项目

一、安装全局依赖 npm i -g create-next-app二、创建next项目 create-next-app react-next-demo //或 create-next-app react-next-demo --typescript三、加载mysql依赖 npm i -S mysql2四、运行项目 npm run dev五、创建db文件目录,目录下创建index.ts import…

java字符串训练与学习

package com.itheima;import java.util.StringTokenizer;public class 字符串训练学习 {public static void main(String[] args) {String s new String("HelloWorld");System.out.println(s);System.out.println(s.length());//创建字符串//String s new String(&…

【STM32】影子寄存器

不可操作但是真正起作用的寄存器是影子寄存器 定时器框图中,有些寄存器下有个阴影 这些阴影的表示这些寄存器存在影子寄存器。 图中也有对这些影子的说明,在U事件时传送预装载寄存器至实际寄存器。 有阴影的寄存器(AutoReloadRegister),表…

00后整顿职场?公司新来了个00后卷王,3个月薪资干到20K...

最近聊到软件测试的行业内卷,越来越多的转行和大学生进入测试行业。想要获得更好的待遇和机会,不断提升自己的技能栈成了测试老人迫在眉睫的问题。 不论是面试哪个级别的测试工程师,面试官都会问一句“会编程吗?有没有自动化测试…

redis的安装、基础命令学习、常用数据结构

文章目录 前言一、Redis安装1.Ubuntu下安装(1)切换到root用户下(2)使用apt安装redis5(3)为了使redis支持远程连接,修改以下地方(4)验证安装是否成功 2.Centos7下安装&…