در Gnome 45 به دلیل مشکلات سازگاری نمی توانید از پلاگین های قدیمی استفاده کنید

گنوم

گنوم یک محیط دسکتاپ و زیرساخت توسعه برای سیستم عامل های گنو/لینوکس است.

چند روز پیش اعلام شد اطلاعات در مورد یک تغییر که ممکن است به مذاق همه کاربران گنوم خوش نیاید و در نسخه جدید گنوم 45 برخی تغییرات ایجاد شده است که بر افزونه های محیطی تأثیر می گذارد.

به طور مشخص ذکر شده است که سازماندهی بارگیری ماژول در پلاگین ها برای گنوم شل را تغییر داد، که باعث نقض سازگاری با عقب و نیاز به تغییرات در افزونه ها می شود.

ذکر شده است که:

جاوا اسکریپت در مرورگرهای وب ایجاد شد تا کمی تعامل را به صفحات استاتیک اضافه کند. قطعات کوچک کد نیازی به تقسیم شدن به چندین فایل نداشت، بنابراین این زبان مکانیسمی برای این کار ارائه نمی کرد.

زمانی که مردم شروع به نوشتن برنامه های بزرگتر در جاوا اسکریپت کردند، این مشکل به وجود آمد، بنابراین محیط هایی مانند node.js و GJS سیستم های وارداتی خود را برای سازماندهی کدها در چندین فایل اضافه کردند. در نتیجه، توسعه دهندگان و ابزارها در انتقال از یک محیط به محیط دیگر با مشکل مواجه شدند.

همینطور، مشکلی که افزونه ها خواهند داشت برای نسخه های قبلی گنوم و اینها توسعه یافته است آنها نمی توانند در نسخه بعدی گنوم 45 اجرا شوند، به دلیل تغییر سازگاری از سیستم وارد کردن ماژول خودش، مخصوص زمان اجرا جاوا اسکریپت GJS (جاوا اسکریپت GNOME بر اساس موتور SpiderMonkey پروژه موزیلا)، به مکانیزم استاندارد واردات ماژول جاوا اسکریپت (ESM) است. شرح داده شده در ECMAScript.

واردات قدیمی هنوز در extensions.gnome.org پشتیبانی می شود، اما برای پشتیبانی از LTS و توزیع های معمولی باید پشتیبانی قبل و بعد از GNOME 45 را بارگیری کنید.

علاوه بر این ذکر شده است که تفاوت ها به این واقعیت ختم می شود که قبلاً علاوه بر گنوم شل، شی "واردات" استفاده شد» برای اتصال ماژول های جاوا اسکریپت و لینک های GObject، اما اکنون باید از عملگر "واردات" استفاده شود.

از سوی دیگر، همچنین اشاره شده است که پلاگین های سازگار شده برای اجرا در گنوم 45 نمی توانند بر روی نسخه های قدیمی گنوم نصب شوند و برای حفظ سازگاری با نسخه های مختلف گنوم، توسعه دهندگان افزونه باید دو نوع افزونه را در برنامه های افزودنی آپلود کنند. gnome .org – یکی برای GNOME 45 و جدیدتر و یکی برای نسخه های قدیمی گنوم.

خوب، یک مشکل کوچک وجود دارد: ماژول ها و واردات قدیمی در عمل ناسازگار هستند.

ماژول ها متفاوت از اسکریپت ها بارگذاری می شوند و برخی از عبارات، یعنی import و export، فقط در ماژول ها معتبر هستند. این بدان معناست که تلاش برای وارد کردن یک ماژول با سیستم قدیمی منجر به یک خطای نحوی می شود اگر ماژول از یکی از آن اعلان ها استفاده کند (تقریباً به احتمال زیاد یک پاپ کاتولیک است).

ماژول ها همچنین هر چیزی را که به صراحت صادر نشده است را از بیرون پنهان می کنند. بنابراین در حالی که از نظر فنی امکان وارد کردن یک اسکریپت به عنوان یک ماژول وجود دارد، تقریباً به اندازه وارد کردن یک فایل خالی مفید است.

سرانجام به توسعه دهندگان اشاره شده است که روی گنوم 45 کار کنند و نسخه های جدیدتر برنامه های افزودنی باید کد مرتبط با بارگیری کتابخانه ها را تغییر دهند، اطمینان حاصل کنید که فایل extension.js حاوی متدهای enable()/disable() در کلاس پیش‌فرض است و هنگام استفاده از prefs.js، ExtensionPreferences را تعریف کنید. زیر کلاس با متد fillPreferencesWindow.

نسخه اصلاح شده افزونه باید از طریق پارامتر '»shell-version»: [ «45» ]' به نسخه‌های شل گنوم جدید در metadata.json پیوند داده شود. برای گنوم زودتر از نسخه 45، می‌توانید نسخه‌های جداگانه افزونه‌ها را ایجاد کنید، همچنین اطمینان حاصل کنید که از طریق پارامتر shell-version در metadata.json به نسخه‌های قدیمی‌تر پیوند می‌دهند. می‌توانید افزودنی‌های اصلاح‌شده را با استفاده از بیلدهای GNOME OS آزمایش کنید.

به همین ترتیب، یک راهنمای قابل حمل به اشتراک گذاشته شده است که می توانید از آن استفاده کنید لینک بعدی. آخرین اما نه کم اهمیت، قابل ذکر است که راه اندازی نسخه جدید گنوم 45 برای 20 سپتامبر برنامه ریزی شده است (برای فردا).

اگر هستی علاقه مند به دانستن بیشتر در مورد آن، می توانید جزئیات را در قسمت لینک زیر


اولین کسی باشید که نظر

نظر خود را بگذارید

نشانی ایمیل شما منتشر نخواهد شد. بخشهای موردنیاز علامتگذاری شدهاند با *

*

*

  1. مسئول داده ها: میگل آنخل گاتون
  2. هدف از داده ها: کنترل هرزنامه ، مدیریت نظرات.
  3. مشروعیت: رضایت شما
  4. ارتباط داده ها: داده ها به اشخاص ثالث منتقل نمی شوند مگر با تعهد قانونی.
  5. ذخیره سازی داده ها: پایگاه داده به میزبانی شبکه های Occentus (EU)
  6. حقوق: در هر زمان می توانید اطلاعات خود را محدود ، بازیابی و حذف کنید.