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