# Lomiri

Lomiri ist eine Desktop-Umgebung für Linux-Betriebssysteme, die besonders sparsam mit Bildschirmplatz umgehen soll. Sie wurde ursprünglich unter dem Namen Unity vom Unternehmen Canonical entwickelt und kam 2010 erstmals beim eigenen Ubuntu zum Einsatz. 2017 wechselte Ubuntu wieder zu Gnome zurück. Seitdem wird Lomiri von der UBports-Community weiterentwickelt, die auch die Entwicklung von Ubuntu Touch übernommen hat.
Im Gegensatz zu Gnome, KDE SC 4 oder Xfce ist Lomiri keine Programmsammlung und soll in erster Linie mit bereits existierenden GTK-Programmen benutzt werden. Lomiri wird als freie Software unter den Bedingungen der dritten Versionen von GNU General Public License (GPL) und GNU Lesser General Public License (LGPL) veröffentlicht.
Im Februar 2020 wurde Unity8 in Lomiri umbenannt.

## Geschichte

Ubuntu nutzte bis zur im Oktober 2010 erschienenen Version 10.10 Gnome 2 als Standard-Desktop-Umgebung in der Variante für Desktop-PCs. Da das Gnome-Projekt keine spezielle Oberfläche für Netbooks mit kleinen Bildschirmen anbietet und man die bereits aus gleichem Grund entwickelte Netbook-Oberfläche von Moblin/MeeGo nicht für geeignet hielt, entwickelte Canonical eine eigene Oberfläche für diesen Gerätetyp. Diese erschien erstmals mit Ubuntu 10.10. Die Arbeit an dieser Desktop-Variante von Unity begann auf dem Ubuntu Developer Summit 2010, in dessen Rahmen der Wechsel in Ubuntu von Gnome auf Unity bekanntgegeben wurde.
Von Ubuntu 11.04 bis Ubuntu 17.04 wurde Unity als Standard-Oberfläche genutzt. Die frühere separate Netbook-Version mit Unity wurde daher eingestellt. Mit Version 11.10 wurde Gnome 2 als Alternative entfernt und für leistungsschwächere PCs eine 2D-Version von Unity eingesetzt, die ab Ubuntu 12.10 ersatzlos gestrichen wurde.
Das Gnome-Projekt und Canonical hatten bereits in der Vergangenheit Differenzen zur Ausrichtung. So passte Canonical zum Beispiel ein von KDE entwickeltes neues Protokoll zur Steuerung von Benachrichtigungsfeldern an Gnome 2 an, welches das Gnome-Projekt jedoch wegen fehlender Kompatibilität zu Gnome 3 und – laut Gnome – mangelnder Kommunikationsbereitschaft der Canonical-Entwickler ablehnte. Laut Canonical-Eigentümer Mark Shuttleworth lehne das Gnome-Projekt auch die von MacOS bekannte, globale Menüleiste ab. Als Folge dieser Differenzen entschied sich Canonical, die neue Oberfläche von Gnome 3 auch auf Ubuntu für Desktop-PCs nicht zum Einsatz zu bringen und auch die alte Gnome-2-Oberfläche nur noch als Ausweichoption anzubieten für den Fall einer Inkompatibilität zur installierten Grafik-Hardware.
Am 5. April 2017 gab Shuttleworth bekannt, dass die Arbeiten an Unity eingestellt werden und ab Ubuntu 18.04 wieder Gnome die Standard-Desktop-Umgebung für Ubuntu wird. Letztlich wurde bereits mit Ubuntu 17.10 wieder Gnome als Standard-Desktop eingesetzt.
Daraufhin übernahm die UBports-Community die Entwicklung von Unity8. Erste Alpha-Versionen für Ubuntu 16.04 LTS und Ubuntu 18.04 LTS stehen zum Testen bereit. Am 27. Februar 2020 gab UBports bekannt, dass Unity8 in Lomiri umbenannt wurde,- hauptsächlich, um künftig Verwechslungen mit der Unity Spiel-Engine zu vermeiden.

## Ayatana-Projekt

Unity war Teil des Ayatana-Projektes, einer Initiative zur Verbesserung der sogenannten User Experience innerhalb von Ubuntu. Neben Unity sind hierunter bspw. auch die Projekte MeMenu, das Benachrichtigungssystem NotifyOSD und die Application Indicators versammelt. Außerhalb von Ubuntu bekam Ayatana bisher auch vom openSUSE-Projekt Unterstützung.

## Technische Grundlagen

Die Unity-Version, die mit Ubuntu 10.10 mitgeliefert wurde, ist in der Programmiersprache Vala geschrieben und nutzt die von Intel stammende Programmbibliothek Clutter für die Oberfläche. Seit Ubuntu 11.04 basiert Unity jedoch auf Compiz. Diese Version ersetzt einen Großteil des Vala-Codes durch C++ und setzt eine Programmbibliothek namens Nux statt Clutter ein. Unity setzt einen kompatiblen 3D-Beschleuniger voraus.
Unity nutzt Gnome-Anwendungen, baut auf Bibliotheken von Gnome und Middleware aus dem Freedesktop.org-Umfeld (unter anderem D-Bus, UPower, Udisks, ConsoleKit) und andere Frameworks wie zum Beispiel Zeitgeist.
Darüber hinaus entwickelte Canonical eine „2D“-Variante auf Basis von Qt und QML, welche am 14. Januar 2011 in einer Entwicklungsversion veröffentlicht wurde. Für diese Version ist keine 3D-Beschleunigung notwendig. Unity 2D arbeitet mit Metacity zusammen. Mittlerweile wurde die 2D-Variante zugunsten der klassischen 3D-Variante verworfen, nachdem der Hauptprogrammierer von Unity 2D Canonical verlassen hatte und außerdem der primär von Red Hat für Gnome Shell entwickelte Software-Renderer LLVMpipe ausreichend schnell genug für die Darstellung von Arbeitsoberflächen sei.
Ab Unity 8 wird standardmäßig nicht mehr X11 als Displayserver verwendet, sondern Canonicals Eigenentwicklung Mir. Unity 8 läuft bereits seit 2013 auf Ubuntu Touch, seit Ubuntu 16.10 kann es optional auch in der Desktop-Version verwendet werden.
Da Unity zunächst ausschließlich vom Linux-Distributor Canonical entwickelt wurde, wird derzeit offiziell nur Linux unterstützt. Versionen für andere Unix-ähnliche Betriebssysteme sind derzeit nicht verfügbar.

## Kritik

Die Entscheidung Canonicals, Unity als Compiz-Plugin zu entwickeln, wurde kontrovers aufgenommen. Der von Canonical angestellte Compiz-Entwickler Sam Spilsbury zum Beispiel begrüßte sie. Andere kritisierten sie aus verschiedenen Gründen, z. B. weil die erforderliche Rechenleistung hoch sei.
Canonicals Vorgabe, dass Freiwillige zur Mitarbeit an Canonical-Projekten das eigene Urheberrecht abtreten müssen, um proprietäres Relizenzieren zu ermöglichen, wird ebenfalls kritisiert.
Seit der Ubuntu-Version 12.10 in Verbindung mit Unity sind Probleme bezüglich des Datenschutzes bekannt geworden. Diese beziehen sich auf die voreingestellte Online-Weiterleitung von Suchbegriffen bei der Nutzung der „Dash“-Funktion. Ab Ubuntu 16.04 ist die Online-Suche im Dash standardmäßig deaktiviert.