Unity (powłoka systemowa)

Unity
Logo Unity
Logo programu
Ilustracja
Autor Canonical Ltd.
Pierwsze wydanie 9 czerwca 2010
Aktualna wersja stabilna 7.4; 20 marca 2016; ponad 8 lat temu[2]
Aktualna wersja testowa 7.7
(25 grudnia 2022) [±]
Język programowania C++[1], Vala, QML
System operacyjny Ubuntu 10.10 i nowsze
Rodzaj powłoka systemowa
Licencja GNU GPL v3, GNU LGPL v3
Strona internetowa

Unitypowłoka systemowa dla GNOME tworzona przez Canonical Ltd. dla Ubuntu. Pojawiła się po raz pierwszy w Ubuntu Netbook Edition 10.10. Celem Unity jest efektywne wykorzystanie ograniczonego miejsca na ekranie netbooków, między innymi przez pionowy przełącznik programów[3]. W przeciwieństwie do GNOME, KDE czy Xfce, nie jest zbiorem programów, ale zostało zaprojektowane do użycia z istniejącymi programami GTK+[4].

Unity jest częścią projektu Ayatana, inicjatywy mającej na celu poprawę użyteczności Ubuntu. Oprócz Unity, do tego projektu należą aplety programów, MeMenu i system powiadomień NotifyOSD.

Historia i rozwój

Ubuntu używało tradycyjnie środowiska graficznego GNOME, jednakże Mark Shuttleworth, założyciel projektu Ubuntu, wyjaśnił zespołowi do spraw GNOME, dlaczego Unity będzie domyślnym interfejsem graficznym zamiast GNOME Shell rozpoczynając od kwietnia 2011, wraz z wydaniem Ubuntu 11.04[4].

W listopadzie 2010 menedżer społeczności Ubuntu, Jono Bacon wyjaśnił, że wsparcie dla środowiska GNOME nadal będzie zapewniane. Jedyną różnicą będzie według niego to, że Unity jest inną powłoką GNOME[5].

Canonical poinformowało, że wydało wersję Unity dla komputerów stacjonarnych i będzie ono domyślnym interfejsem graficznym Ubuntu 11.04[6].

GNOME Shell nie zostało dołączone do Ubuntu 11.04, ponieważ nie zostało ukończone przed datą końcową dla wprowadzania zmian do tej wersji, ale jest dostępne przez PPA[7] i przewidziano jego włączenie do Ubuntu 11.10[8].

W listopadzie 2010 Mark Shuttleworth poinformował, że rozważa przystosowanie Unity do działania z Wayland zamiast obecnie używanego X Window System

W grudniu 2010 niektórzy użytkownicy zaproponowali, aby menu programów Unity (dock) miał możliwość bycia przenoszonym z lewej strony ekranu na inne, ale Mark Shuttleworth stwierdził, iż obawia się, że to nie będzie zgodne z dalszymi celami projektowymi, dlatego taka możliwość nie zostanie wprowadzona. Za to dock będzie zwijany do przycisku Ubuntu[9].

14 stycznia 2011 Canonical wydało wstępną wersję Unity 2D opartą na Qt i napisaną w QML[10]. Unity 2D nie zostało dołączone do Ubuntu 11.04; zastępczym trybem uruchomienia było GNOME 2.32 na sprzęcie, na którym Unity nie może działać[11][12].

W marcu 2011 pojawiły się spory między Canonical i twórcami GNOME. W ramach rozwoju Unity, włączono kod API jako zewnętrzną zależność GNOME. Według Davida Neary, zewnętrzną zależnością jest moduł niezależny od GNOME, który jest zależnością pakietu w zawartego w zestawie modułów GNOME oraz powody, dlaczego libappindicator nie została przyjęta jako zewnętrzną zależność, bo „nie pasuje do tej definicji”, ponieważ „powiela funkcjonalność libnotify” (obecnie GNOME Shell) oraz jej CLA nie spełnia obecnej polityki GNOME[13].

W kwietniu 2011 Mark Shuttleworth ogłosił, że Ubuntu 11.10 nie będzie zawierało klasycznego pulpitu GNOME w przeciwieństwie do Ubuntu 11.04[14] jako interfejsu zastępczego dla Unity. W Ubuntu 11.10 interfejsem zastępczym, dla użytkowników, którzy nie mają technicznych możliwości do uruchomienia Unity, będzie Unity 2D[15][16]. Jednakże GNOME będzie dostępne w repozytoriach jako interfejs zastępczy w Ubuntu 11.10[17].

Mark Shuttleworth odpowiedział, że „to jest kluczowy moment dla kierownictwa GNOME. Mówi wyraźnie, że liczne grono życzliwych twórców GNOME jest zawiedzione z powodu procesu podejmowania decyzji, który zmniejsza dynamikę rozwoju samego GNOME. Pomysły, które nie zrodziły się »u podstaw«, muszą niezwykle zaciekle i niepotrzebnie walczyć o dostęp do tlenu… Znajdowanie czasu na pomysły do rozważenia nie powinno przypominać ataku na froncie z karabinem maszynowym. Nie ma żadnego pomysłu na prowadzenie projektu. To jest przepis na projekt, który traci wspaniałych ludzi tworzących środowiska bardziej otwarte na inne spojrzenie na świat… Zapewnienie nieskrępowanego rozwoju innym pomysłom to jedyny sposób na podtrzymanie innowacyjności wprowadzanej do tej marki. Inaczej jest się skazanym na patrzenie na ich innowacyjność i wskutek tego podtrzymywanie własnych wysiłków, obmawianie ich w tym procesie. Zaczęliśmy mocnym postanowieniem: Unity jest powłoką GNOME. Przewodniczący projektu GNOME powinni zdecydować się, czy włączyć do swojego projektu efekty konkurencji czy też nie”[18][19][20].

Interfejs Unity jest obecnie wtyczką Compiz Fusion[21], który według zdania Canonical, jest szybszy niż menedżer okien Mutter[22], dla którego GNOME Shell jest wtyczką.

Dostępność

Unity 2D i obsługa jednoczesnej pracy z wieloma różnymi menedżerami okien i interfejsami graficznymi.

Najnowsze wersje Unity ukazują się w pierwszej kolejności na Ubuntu, dla którego są tworzone projekty Ayatana. Poza Ubuntu, do niektórych dystrybucji próbowano dołączyć Unity z różnym powodzeniem. Części Ayatana wymagają modyfikacji innych programów, co utrudnia przystosowywanie do współdziałania innych dystrybucji z Unity.

  • Arch Linux zawiera wiele elementów Ayatana, w tym Unity i Unity 2D, ale nie jest wspierane przez developerów (pakiety są w repozytorium nieoficjalnym)[23].
  • Fedora - twórcy Fedory zainteresowali się włączeniem Unity do dystrybucji[24], ale prace zostały zawieszone do czasu wydania Fedory 15[25].
  • Frugalware włączyły Ayatana, w tym Unity i Unity 2D do swojej gałęzi rozwojowej nadchodzącego wydania[26].
  • openSUSE zawiera wiele części Ayatana dla GNOME[27]. Wprowadzenie samego Unity zostało zawieszone z powodu problemów z Compizem[28].

Unity a Unity 2D

Użycie RAM podczas działania Unity 2D

Canonical rozwija dwie odrębne wersje Unity, które wyglądają podobnie, ale są różne pod względem technicznym.

Unity zostało napisane jako wtyczka Compiza[21] w C++ i Vala oraz używa rzadko używany toolkit OpenGL o nazwie Nux. Taka budowa zapewnia przyspieszenie sprzętowe grafiki na zgodnych systemach.

Unity 2D jest zbiorem programów[29], które są napisane w QML, języku wykorzystywanym w Qt do tworzenia interfejsów[10]. Domyślnie Unity 2D używa Metacity jako menedżera okien[29], ale może używać również innych menedżerów okien, takich jak KWin czy Compiz. W Ubuntu 11.10 Unity 2D używa menedżera kompozycji opartego na XRender w celu uzyskania efektów przezroczystości. W Ubuntu 11.10 Unity 2D jest interfejsem zastępczym, dla użytkowników, którzy nie mają technicznych możliwości do uruchomienia Unity[14].

Licencja

Unity jest wolnym oprogramowaniem wydanym na licencji GNU General Public License i GNU Lesser General Public License w wersji trzeciej. Mimo to Unity podlega pod Canonical's contributor agreement, wymagając od twórców zrzeczenia się praw autorskich na rzecz Canonical i zezwalając Canonical na zmianę licencji[30].

Przypisy

  1. Neil Jagdish Patel: ~unity-team/unity/trunk : 573. listopad 2010. [dostęp 2010-12-13].
  2. Canonical Ltd.: News and announcements - launchpad. grudzień 2015. [dostęp 2016-01-23].
  3. Brian Proffitt: Ubuntu Unity Interface Tailored for Netbook Screens. ITWorld, 2010-05-10. [dostęp 2010-10-28]. [zarchiwizowane z tego adresu (2010-10-31)].
  4. a b Joab Jackson: Software / Services Oct 25, 2010 1:20 pm Canonical Ubuntu Splits From GNOME Over Design Issues. PC World Business Center, 2010-10-25. [dostęp 2010-10-28].
  5. Jono Bacon: UBUNTU 11.04 TO SHIP UNITY. 2016-01-23. [dostęp 2011-05-12]. [zarchiwizowane z tego adresu (2011-08-24)].
  6. Katherine Noyes: Is Unity the Right Interface for Desktop Ubuntu?. PC World, 2010-10-26. [dostęp 2010-10-28].
  7. Ubuntu GNOME 3 Team. [dostęp 2011-03-02].
  8. I am an Ubuntu Unity Developer, AMA. [dostęp 2011-01-12]. Cytat: GNOME Shell requires certain changes to the underlying GNOME system that are slated to land too late in our cycle to integrate into 11.04. GNOME Shell will therefor be installable only from a PPA until 11.10 when the underlying libraries have stabilized.
  9. Mark Shuttleworth: Movement of Unity launcher. 2010-10-30.
  10. a b Canonical building Unity 2D on QML and Qt | Qt DevNet forums | Qt Developer Network. [dostęp 2011-05-12]. [zarchiwizowane z tego adresu (2011-03-14)].
  11. Canonical Says Unity 2D Not Part Of The Ubuntu 11.04 Plan
  12. Comment 8 for bug 730588
  13. Jeff Waugh: Timeline: The Greatest Show on Earth - Dave Neary comment. marzec 2011. [dostęp 2011-04-01].
  14. a b Joey Sneddon: Ubuntu 11.10 will not ship with ‘classic’ GNOME desktop. OMG Ubuntu, April 2011. [dostęp 2011-04-06].
  15. Joey Sneddon: Ubuntu 11.10 will not ship with ‘classic’ GNOME desktop. [w:] OMG Ubuntu! [on-line]. April 2011. [dostęp 2011-04-06]. (ang.).
  16. Joey Sneddon: Unity 2D lands in Oneiric daily build. [w:] OMG Ubuntu! [on-line]. May 2011. [dostęp 2011-05-27]. (ang.).
  17. Installing / Using Classic GNOME Desktop In Ubuntu 11.10 Oneiric Ocelot ~ Web Upd8: Ubuntu / Linux blog [online], www.webupd8.org [dostęp 2017-11-27].
  18. Amber Graner: Has GNOME Rejected Canonical help? Shuttleworth Responds. [w:] Ubuntu User [on-line]. March 2011. [dostęp 2011-03-19].
  19. Mark Shuttleworth: Internal competition is healthy, but depends on strong and mature leadership. marzec 2011. [dostęp 2011-03-19].
  20. Mark Shuttleworth: All the other guys are not wrong. marzec 2011. [dostęp 2011-03-19].
  21. a b fluteflute: Is unity just a plugin of compiz. 2010-11-13. Cytat: The version of Unity that will be released in 11.04 is definitely implemented as plugin(s) in Compiz.
  22. Unity To Use Compiz instead of Mutter \Ubuntu 11.04 Natty Narwhal News] ~ Web Upd8: Ubuntu / Linux blog
  23. Arch Linux Wiki: Ayatana.
  24. Adam Williamson: Unity on Fedora? Possibly!.
  25. Adam Williamson: Unity, hardware failures, and F15 QA.
  26. Frugalware Linux Wiki: Ayatana Project Portage.
  27. GNOME Ayatana. openSUSE Wiki.
  28. Nelson Marques: GNOME Ayatana. openSUSE.
  29. a b Plik:Unity-2D Natty.png
  30. Canonical's contributor agreement. [dostęp 2016-01-23].

Linki zewnętrzne

Strategi Solo vs Squad di Free Fire: Cara Menang Mudah!