Linux 用戶注意!GNOME 45 將影響所有擴(kuò)展!
每當(dāng) GNOME 升級(jí),總會(huì)有一些擴(kuò)展遭遇問(wèn)題,這點(diǎn)并不新鮮。但如今,到了 GNOME 45,每個(gè)擴(kuò)展都將面臨問(wèn)題! ??
那么,究竟是什么原因呢?讓我為你解釋一番。
GNOME 45 擴(kuò)展的變化
每次升級(jí),都意味著某種技術(shù)上的提升或者變化。
而 GNOME 45 帶來(lái)了許多激動(dòng)人心的更新,除了這一項(xiàng)。
GNOME Shell 的 JavaScript 部分發(fā)生了變化。如果你還不清楚的話,你需要知道的是,JavaScript(以及相關(guān)的模塊)負(fù)責(zé)擴(kuò)展的用戶界面,包括面板、菜單、對(duì)話框等。
技術(shù)上的變更主要在于,GNOME Shell 和擴(kuò)展開(kāi)始使用 ESModules,而不是 GJS 的自定義導(dǎo)入系統(tǒng)。
雖然這個(gè)變革旨在鼓勵(lì)開(kāi)發(fā)人員用更加標(biāo)準(zhǔn)化的方式來(lái)處理 GNOME Shell 和擴(kuò)展的代碼,但可能會(huì)造成大量困擾。
為什么呢?
那是因?yàn)榕f有系統(tǒng)與新的模塊系統(tǒng)存在不兼容問(wèn)題。
以下是 Florian Müllner 在談及這個(gè)技術(shù)問(wèn)題時(shí) 提到 的:
模塊加載的方式與腳本有所不同,有些語(yǔ)句,特別是
import
和export
,只在模塊中有效。這就意味著,如果一個(gè)模塊使用了這些語(yǔ)句(幾乎是必然的),那么用舊系統(tǒng)導(dǎo)入這個(gè)模塊就會(huì)出現(xiàn)語(yǔ)法錯(cuò)誤。
那么問(wèn)題影響范圍呢?所有 GNOME 擴(kuò)展都將受影響。
- 所有針對(duì)老版本 GNOME 設(shè)計(jì)的擴(kuò)展將無(wú)法在 GNOME 45 上運(yùn)行(除非遷移)。
- 專門為 GNOME 45 設(shè)計(jì)的新擴(kuò)展,也無(wú)法在老版本上運(yùn)行。
好消息是,GNOME 擴(kuò)展的開(kāi)發(fā)人員可以支持多版本的 GNOME,但他們將需要付出更多努力,為 GNOME 45 之前和之后的版本分別上傳新的版本。
因此,即使開(kāi)發(fā)人員選擇了這樣做,并使用 遷移指南 將他們的擴(kuò)展移植到新系統(tǒng)中,這仍將花費(fèi)他們更多的時(shí)間,而在此期間,終端用戶(也就是我們)在使用 GNOME 45 時(shí)會(huì)遇到擴(kuò)展無(wú)法運(yùn)行的情況。
這并不是一個(gè)好的用戶體驗(yàn),對(duì)不對(duì)? ??
GNOME 的升級(jí)從未能完美處理擴(kuò)展的兼容問(wèn)題,現(xiàn)在,情況變得更糟。
雖然我并不太依賴現(xiàn)有的任何 GNOME 擴(kuò)展,但很多用戶在日常使用中都會(huì)用到。對(duì)他們來(lái)說(shuō),一個(gè)可能破壞使用體驗(yàn)的升級(jí)絕非喜事。
?? 你如何看待 GNOME 45 中對(duì)擴(kuò)展的變動(dòng)?