Häufige Abstürze der Fedora Workstation, die auf GNOME-JavaScript-Erweiterungen zurückgeführt werden



Versuchen Sie Unser Instrument, Um Probleme Zu Beseitigen

Eine kürzliche Flut von Fedora Workstation-Abstürzen und anderen Problemen mit der GNOME-Shell wurde auf in JavaScript geschriebene GNOME-Shell-Erweiterungen zurückgeführt, die vom GNOME-Entwickler und Red Hat-Engineering-Manager Jiri Eischmann entdeckt wurden.



Die Möglichkeit, GNOME-Shell-Erweiterungen in JavaScript zu schreiben, wurde als interessantes Konzept mit einer geringen Eintrittsbarriere angesehen, aber es scheint tatsächlich Probleme für Benutzer in der GNOME-Desktop-Umgebung zu verursachen. Noch schlimmer ist, dass die aktuelle GNOME-Shell-Umgebung standardmäßig Wayland mit dem Mutter-Compositor verwendet, sodass im Vergleich zu GNOME X.Org-Sitzungen mit gelegentlichem leeren Bildschirm oder ähnlichen Problemen einige ziemlich schwere Abstürze erforderlich sind.



Glücklicherweise hat Jiri Eischmann einige Ideen, um diese Situation zu verbessern, die wie folgt zusammengefasst werden können:



  1. Erweiterungen waren früher deaktiviert, als die Shell stark abstürzte (konnte nicht neu gestartet werden). Da es auf Wayland das Ergebnis jedes Absturzes ist, sollten wir dies nach jedem GS-Absturz tun. Wenn der Benutzer zum GNOME Tweak Tool zurückkehrt, um die Erweiterungen wieder zu aktivieren, sollte ihm mitgeteilt werden, dass es sich höchstwahrscheinlich um eine der Erweiterungen von Drittanbietern handelt, die den Desktop zum Absturz gebracht haben, und er sollte vorsichtig sein, wenn er sie aktiviert.
  2. Das Entkoppeln von GNOME Shell und Mutter oder / und anderen Schritten, die das gleiche Verhalten wie bei Xorg hervorrufen würden: Ein GS-Absturz würde nicht alles zum Erliegen bringen. Dies würde große Änderungen in der Architektur und viel Arbeit erfordern, und die Entwicklergemeinschaft von GNOME Shell und Mutter hat bereits viel auf dem Teller.
  3. Unterbrechen Sie die unbegrenzten Erweiterungen und führen Sie eine eingeschränkte API ein, die sie verwenden können, anstatt den GS-Code selbst im laufenden Betrieb zu patchen. Dies wäre ein sehr unpopulärer Schritt, da dies bedeuten würde, dass viele der vorhandenen Erweiterungen nicht erneut implementiert werden können. Aber es kann in Zukunft unvermeidlich werden.
1 Minute gelesen