Linux 用户注意！GNOME 45 将影响所有扩展！
GNOME 45 是一次重要的升级，但对扩展的影响并不令人满意！
GNOME
58.47.154.14
本来在Linux上包依赖就是一个诟病，扩展开发还不主动规避...
来自湖南益阳的 Firefox 102.0|GNU/Linux 用户
2023-09-05T16:17:54.000
61.155.198.231
喜闻乐见
来自江苏苏州的 Chrome 116.0|GNU/Linux 用户
2023-09-05T17:14:21.000
27.148.40.218
这就是为什么我一直在用kde和xfce的原因，gnome日常炸扩展，但是不装扩展又没法用
来自福建福州的 Firefox 118.0|Android 13 用户
2023-09-06T12:24:11.000
125.34.18.59
其实不安装扩展是能用的，只是它设计比较前卫，需要适应一下。适应之后会发现也不错。
来自北京的 Firefox 117.0|Android 12 用户
2023-09-06T20:03:15.000
113.142.73.131
比如，托盘图标，不装扩展就没法用
来自陕西西安的 Chrome Mobile 116.0|Android 10 用户
2023-09-07T13:24:17.000
183.229.17.177
其实Java、Python的包依赖也很头疼。问题出在包依赖而不是Linux。Linux日新月异，不断有新技术出来，所以出依赖问题也是正常。整个Linux大系统的开发，由分散的社区各自完成的，不遵循以前大公司玩的瀑布模型，不可能形成完善、统一、一致的API。微软Windows的Win32API全部由微软设计、开发，不稳定才是怪事。但稳定是稳定，想找个API输出RAW蓝牙都不行，还得自己从驱动层码起。苹果的API貌似一直都在变，不过大家被洗脑的洗的很成功。
来自重庆的 Safari 16.6|Mac 10.15 用户
2023-09-07T23:25:47.000
183.229.17.177
但是，对GNOME确实是爱不起来……它的有些简洁是建立在做策略而不做机制的基础上的，违背UNIX和KISS原则，只是看起来简洁。它和Systemd都快组成一套独立的大系统了。相反，KDE和XFCE就尽量将选择交给用户，而且默认的设定用起来也不错。
来自重庆的 Safari 16.6|Mac 10.15 用户
2023-09-07T23:31:08.000
39.144.156.60
gnome一直都是这样 面向“稳定”的桌面用户 要是用的话就不要自定义
来自39.144.156.60的 Mobile Safari 16.6|iOS 16.6 用户
2023-09-19T19:10:27.000
219.142.99.11
由于这个原因已经转投Plasma5了，之前来到Gnome3是因为KDE4经常崩溃，但是Plasma5用起来还是比较稳定的。因为不炸插件，所以又回归KDE了
来自北京的 Firefox 120.0|GNU/Linux 用户
2023-12-19T20:04:40.000
GNOME 45 是一次重要的升级，但对扩展的影响并不令人满意！
![](/data/attachment/album/202309/05/153130xbp37iw9i3cc77m7.jpg)



> 
> GNOME 45 是一次重要的升级，但对扩展的影响并不令人满意！
> 
> 
> 


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


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


### GNOME 45 扩展的变化


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


而 [GNOME 45](https://news.itsfoss.com/gnome-45/) 带来了许多激动人心的更新，除了这一项。



> 
> **[GNOME 45 引入激动人心的更新](/article-16150-1.html)**
> 
> 
> 


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


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


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


**为什么呢？**


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


以下是 **Florian Müllner** 在谈及这个技术问题时 [提到](https://blogs.gnome.org/shell-dev/2023/09/02/extensions-in-gnome-45/) 的：



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


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


* 所有针对老版本 GNOME 设计的扩展将无法在 GNOME 45 上运行（除非迁移）。
* 专门为 GNOME 45 设计的新扩展，也无法在老版本上运行。


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


因此，即使开发人员选择了这样做，并使用 [迁移指南](https://gjs.guide/extensions/upgrading/gnome-shell-45.html#esm) 将他们的扩展移植到新系统中，这仍将花费他们更多的时间，而在此期间，终端用户（也就是我们）在使用 GNOME 45 时会遇到扩展无法运行的情况。


**这并不是一个好的用户体验，对不对？** ?


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


虽然我并不太依赖现有的任何 [GNOME 扩展](https://itsfoss.com/gnome-shell-extensions/)，但很多用户在日常使用中都会用到。对他们来说，一个可能破坏使用体验的升级绝非喜事。


? 你如何看待 GNOME 45 中对扩展的变动？在下方评论中分享你的想法吧。


*（题图：MJ/d67e0592-2395-4a7d-bda6-0ec3136e40db）*




---


via: <https://news.itsfoss.com/gnome-45-extensions/>


作者：[Ankush Das](https://news.itsfoss.com/author/ankush/) 选题：[lujun9972](https://github.com/lujun9972) 译者：ChatGPT 校对：[wxy](https://github.com/wxy)


本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译，[Linux中国](https://linux.cn/) 荣誉推出

