Eine kleine Einführung in die Bioinformatik und warum Linux dort so weit verbreitet ist

Wie ich in meinem Blog irgendwann mal erwähnt habe, studiere ich im Moment Bioinformatik an der THM und JLU in Gießen. Da ich nebenbei auch  noch einen Job in einer der Arbeitsgruppen habe, bekomme ich einen Recht guten Eindruck davon, was aktuell Forschungsgebiet in der Bioinformatik ist und vor allem welche Software und Hardware dort eingesetzt wird. Einen Überblick über beispielsweise die Hardware des Bioinformatikfachbereichs an der THM liefert der z.B. folgende Link:

mni.thm.de: Bioinformatik erweitert Infrastruktur

Ubuntu ist im Bioinformatik-Umfeld sehr weit verbreitet. Ich würde sogar sagen, dass knapp 80% aller Bioinformatiker Ubuntu (Mit verschiedenen Desktops) einsetzen. Der Rest verteilt sich auf Debian und Arch-Linux. Es gibt auch Windows-Nutzer, aber diese sind deutlich in der Unterzahl. Ein sehr nettes Feature seitens Ubuntu und Debian ist die Tatsache, dass nahezu alle wichtigen Bioinformatik-Tools direkt in den Paketquellen vorhanden sind. Das ist auch einer der Hauptgründe für die weite Verbreitung.

Die Bioinformatik ist grundsätzlich sehr Unix-affin. Nahezu alle Server, die irgendwas mit Bioinformatik und verwandten Gebieten zu tun haben, laufen unter einem Unix-System (Heutzutage hauptsächlich eine Linux-Distribution). Und wer tagtäglich auf einem Unix-System unterwegs ist, arbeitet auch privat eher mit so einem System.

„Eine kleine Einführung in die Bioinformatik und warum Linux dort so weit verbreitet ist“ weiterlesen

Firefox unter Ubuntu vernünftige Schriften beibringen

Mit der Freigabe von Freetype 2.7, kam bei mir wieder das Thema Schriftdarstellung unter Linux in den Focus. Ich hatte vor Jahren auf meinem alten, stillgelegten Blog das Thema schon einmal behandelt. Dieser Artikel ist eine Überarbeitung des alten Artikels von 2010:

Vor ein paar Jahren (2009) fragte ein Webdesigner im Forum von ubuntuusers.de nach Screenshots seiner Website (Der Link benötigt einen Account bei Ubuntuusers.de, da der Thread in der „Lounge“ liegt) welche mit Linux-Browsern aufgerufen wurde. In einem anderen Thread wurde vom gleichen Webdesigner nachgefragt welche Schriftarten standardmäßig unter den diversen Linux-Distributionen installiert sind bzw. mit welchen man in Normalfall immer rechnen kann. Daraus entwickelte sich eine Diskussion über gutes Webdesign bzw. die Abhängigkeit eines Webdesigners von den vorhandenen Schriftarten.

Das Problem ist seit der Einführung von Webfonts grundsätzlich nicht mehr so stark ausgeprägt, da ein Webdesigner heutzutage einfach per CSS und/oder Javascript fehlende Schriftarten nachladen lassen kann. Aber nicht jede Webseite bindet Webfonts ein, da viele Webdesigner immer noch davon ausgehen, dass Besucher der Seite entweder Windows oder OSX benutzen (Was oft heißt entweder „Helvetica (Neue)“ oder „Arial“ vorzugeben).

Ich hatte im Forum eine kurze Erklärung verfasst, warum manche Webseiten unter Linux sehr oft recht bescheiden ausschauen (Komische Schrift, zerrissenes Layout usw.) und wie man dieses Problem recht einfach beseitigen kann (Aus Nutzer -und aus Webdesignersicht).

Wie wählt mein Browser die Schriftarten aus?

Zuerst möchte ich die Grundlagen, wie ein Browser unter Linux seine Schriftarten auswählt, erläutern:

Jeder moderne Browser bietet in seinen Konfigurationsdialogen eine Möglichkeit an die Schriften, welche zum Darstellen der Webseiten benutzt werden sollen, auszuwählen. In den meisten Fällen beschränkt sich die Auswahl auf drei Möglichkeiten :

  • Serif
  • Sans Serif
  • Monospace

Ersteres sind Serifenschriften (z.B. Times New Roman, Liberation Serif, Courier, usw.)  des weiteren Schriften ohne („sans“) Serifen (z.B. Arial, Liberation Sans, Helvetica, usw.) und und am Ende Schriften mit fester Buchstabenbreite (z.B. Courier New, Liberation Mono, usw.). Zusätzlich lässt sich noch die Größe der Schriften und die Minimalgröße der Schriften festlegen.

Warum zeigt mir der Browser dann trotz allem einige Seiten mit einer anderen Schrift an?

Hier kommt nun ein Element von HTML bzw. CSS ins Spiel :

Wird im HTML-Code explizit eine bestimmte Schriftart vorgegeben (z.B. „Liberation Sans“ auf ubuntuusers.de), übergeht der Browser die vorgegebenen Schriftarten und benutzt die im HTML-Code angegebenen. Hier ein Beispiel wie ein „font-family“-Eintrag oft ausschaut:

font-family: "Helvetica","Arial",sans-serif;

Zuerst versucht der Browser die Seite mit der Schriftart “Helvetica” anzuzeigen. Falls diese nicht vorhanden ist, soll “Arial” benutzt werden. Falls diese wiederum nicht vorhanden ist soll die im Browser unter “sans-serif” vorgegebene Schriftart benutzt werden.

Warum sieht dann stellenweise die Schrift in meinen Browser immer noch so bescheiden aus?

Jetzt könnte man als Benutzer meinen das alles in Butter ist. In der Regel hat man ja auch unter Linux  bzw. Ubuntu die Windows-Schriftarten und damit “Arial” installiert (z.B. durch das Paket “msttcorefonts” bzw. “ttf-mscorefonts-installer”). Leider ist das nicht immer der Fall. So ist z.B. in der Grundinstallation der meisten Distributionen aus Lizenz-technischen Gründen dieses Paket nicht enthalten. Normalerweise wäre auch das kein Problem, da der Browser im Zweifelsfall einfach die unter “sans-serif” angegebene Schriftart benutzt. In der Auswahl der Schriften im Browser taucht ja kein „Helvetica“ auf, also ist diese auch nicht auf dem System vorhanden.

Jedoch besitzen alle Linux-Distributionen ein Schrift-Konfigurationssystem namens “Fontconfig”, welches dafür sorgt das das System auch bei  nicht vorhandenen Schriftarten eine (mehr oder weniger) fehlerfreie Ausgabe auf dem Bildschirm liefert. Dieses lässt sich sehr flexibel anpassen, hat in der Grundkonfiguration aber eine, gelinde gesagt, hirnrissige Einstellung, welche für die schlechte Darstellung der Schriften sorgt:

Fontconfig substituiert die fehlende Schriftart „Helvetica“ standardmäßig mit der Postscript-Schriftart „Nimbus Sans L„. Da CUPS als Abhängigkeit Ghostscript definiert und letztere diese Schriftart als Abhängigkeit mitbringt, ist die Schrift so gut wie immer installiert (Außer man verzichtet auf CUPS). Da die Schriftart “Helvetica” somit vorhanden ist, gibt es auch kein Ausweichen auf „Arial“ oder “sans-serif”.

Unter Fontconfig ist zusätzlich noch eine Substituierung von „Arial“ eingestellt. Standardmäßig wird beim Nichtvorhandensein diese gegen „DejaVu Sans“ ersetzt. Diese entspricht von der Schrifthöhe -und Breite nicht Arial, wodurch Webseiten die Standardmäßig „Arial“ einsetzen eine größere Darstellung des Inhaltes haben.

Und „Nimbus Sans“ ist nicht gerade für ihr gutes Aussehen auf Bildschirmen bekannt („Nimbus Sans“ ist als Druckerschriftart entwickelt worden). Die meisten Benutzer greifen dann einfach zur Radikalmethode und verbieten dem Browser per Konfigurationsoption das Benutzen aller anderen Schriftarten. Doch es geht auch eleganter:

Fontconfig die “Nimbus Sans”-Schriftart abgewöhnen

Um Fontconfig, Firefox und allen anderen Anwendungen das Ersetzen der Schriftart “Helvetica” gegen “Nimbus Sans” abzugewöhnen, ohne die Schriften löschen oder den Browser umkonfigurieren zu müssen, gibt es eine relativ einfache Methode:

Man ersetzt einfach alle Vorkommen von “Nimbus” in den Dateien unter “/etc/fonts/conf.avail” gegen eine andere Schriftart (z.B. „Liberation Sans“). Unter Ubuntu kommt dieser Name nur in drei Dateien vor (Bei anderen Distributionen sollten die Dateinamen und Vorkommen identisch sein):

  • 30-metric-aliases.conf
  • 45-latin.conf
  • 60-latin.conf

Um die Sache etwas zu vereinfachen, biete ich die geänderten Dateien zum Download an :

fontconfig.tar.bz2

Im TAR-Archiv sind die drei oben genannten Dateien enthalten (Eben nur mit den Liberation Fonts als Fallback) sowie ein kleines Skript, welches mit Root-Rechten ausgeführt werden muss. Dieses legt mit Hilfe von „dpkg-divert“ eine Umleitung der Original-Dateien und und kopiert die neuen Dateien dann nach „/etc/fonts/conf.avail“. Die Umleitung ist deshalb notwendig, da bei jedem möglichen Update des Fontconfig-Pakets ansonsten die Änderungen verloren gehen würden. So schreibt der Paketmanager die Änderungen in die umgeleiteten Original-Dateien und lässt die veränderten Dateien in Ruhe.

Startet man jetzt den Browser neu bzw. loggt sich neu ein, wird die Schriftart “Nimbus Sans” nicht mehr als Ersatz für den Schrifttyp “Helvetica” verwendet, sondern “Liberation Sans”. Die Schrift ist quasi eine Kopie von „Arial“, welches selbst eine (dreiste) Kopie von „Helvetica“ ist und entspricht fast 100% dem Schriftbild (Breite und Höhe) dem Vorbild.

Somit benutzen Firefox und andere Browser endlich vernünftige Bildschirmschriften und man muss sich als Benutzer nicht mehr mit einem schlechten Schriftbild herumärgern.

„bootctl“ als Alternative zu GRUB2

Seit Jahren ist der „Grand Unified Bootloader“ kurz „GRUB“ bzw. dessen Nachfolger GRUB2 bei den allermeisten Distributionen der Standard-Bootloader. Beide funktionieren sehr gut, wirken aber in Zeitalter von UEFI und auf normalen PCs, die nur von Festplatte booten, irgendwie aus der Zeit gefallen. Während GRUB Version 1 noch relativ übersichtlich und einfach zu konfigurieren war, benötigt man bei GRUB2 schon fast ein Hochschulstudium um durchzublicken.

PCs mit UEFI-Firmware benötigen keinen komplexen Bootloader mehr. Man kann die Firmware direkt den Kernel booten lassen. Ein dezidierter Bootloader ist in den meisten Fällen überflüssig und nur noch in Spezialfällen notwendig. Leider ist das Verfahren nicht ganz einfach umzusetzen, da man der Firmware die benötigten Kerneloptionen von Hand übergeben muss. Dazu können noch weitere Probleme kommen (Siehe z.B. ArchWiki – EFISTUB). Dazu kommt, dass bei einem Reset der Firmware alle Einträge verloren gehen und man mit einem nicht-bootfähigen System dasteht.

Es geht aber auch sehr viel einfacher:

Man benutzt einfach den, von systemd mitgelieferten, Bootloader „bootctl“. Der Loader ist kein neues Projekt, sondern hieß vor der Integrierung in systemd „gummiboot“ (Welcher wiederum nur als Referenzimplementierung gedacht war).

Installation von „bootctl“

Bitte die Anleitung einmal komplett durchlesen, bevor man sich darauf stürzt „bootctl“ einzusetzen!

Die Installation des Bootloaders ist sehr einfach (Ubuntu 16.04 und höher):

sudo apt-get purge grub* (Deinstalliert GRUB2 komplett)
sudo rm -r /boot/grub (GRUB2-Dateien aus dem boot-Verzeichnis/Partition löschen)
sudo efibootmgr -b 0000 -B (Entfernt den "ubuntu"-Eintrag aus der Firmare)
sudo bootctl install ("bootctl" in der Firmware hinterlegen)

Bitte setzt den Befehl „efibootmgr“ nur ein, wenn ihr 100% sicher seid, dass ihr dadurch nicht die Firmware-Einträge zerstört. Normalerweise ist der Ubuntu-Eintrag die Nummer 0000. Man sollte aber vor dem Löschen zur Sicherheit die Nummer überprüfen. Im Zweifelsfall lässt man den Eintrag in der Firmware und ändert im „BIOS-Setup“ die Reihenfolge von Hand und setzt den neuen Eintrag „Linux Boot Manager“ ganz nach vorne.

Leider gibt es einen kleinen Makel:

Im Gegensatz zum Vorgänger „gummiboot“ bzw. dessen Paket in Ubuntu, installiert bzw. aktualisiert der Loader nicht automatisch die Kerneleinträge. Diese müssen leider von Hand angelegt werden. Aus diesem Grund habe ich die Dateien aus dem Paket „gummiboot“ extrahiert, welche diese Funktionalität unter „gummiboot“ bereitgestellt haben. Im Prinzip ist es nur eine kleine Konfigurationsdatei und ein kleines Shell-Skript, welche dafür sorgen, dass nach jedem Kernel bzw. Initrd-Update der Bootloader entsprechend konfiguriert wird. Hier mal der Link zur DEB-Datei:

bootctl_0-1-ubuntu1_amd64

Liste der Dateien im Paket:

/etc/default/bootctl (Konfigurationsdatei für den Bootloader. Hier werden die Kerneloptionen eingefügt)
/etc/initramfs/post-update.d/zz-update-bootctl (Wird aufgerufen, wenn eine Initial-Ramdisk installiert bzw. aktualisiert wird).
/etc/kernel/postinst.d/zz-update-bootctl (Wird bei einer Kernel-Installation aufgerufen)
/etc/kernel/postrm.d/zz-update-bootctl (Wird bei einer Kernel-Deinstallation aufgerufen)
/usr/sbin/update-bootctl (Das eigentliche Update-Skript. Kopiert den Kernel und die Initial-Ramdisk auf die EFI-Partition und legt im Loader die Einträge an).

Bei den meisten Systemen sollte es ausreichen das Paket zu installieren um den Bootloader fertig zu konfigurieren. Falls die EFI-Partition nicht unter „/boot/efi“ gemountet ist, muss man noch den Parameter „–path=PATH“ zum bootctl-Kommando hinzufügen und in der Datei „/etc/default/bootctl“ die Variable „BOOTCTL_EFI“ nach der Installation des Pakets entsprechend anpassen.

Warum das Ganze?

Wie schon am Anfang angesprochen, ist „bootctl“ deutlich einfacher aufgebaut als GRUB2. Es gibt im Grunde nur zwei Dateien die man bearbeiten muss, um den Loader zu konfigurieren. Dazu kommt, dass der Loader keine Probleme mit verschiedenen root-Dateisystemen hat. Auf meinem Desktop-PC liegt „root“ auf einem XFS-Dateisystem und ich musste meine „boot“-Partition explizit auf ein „ext4“-Dateisystem legen damit GRUB2 das System überhaupt booten konnte (Getestet unter Ubuntu 16.04, 16.10, Debian Testing). Eigentlich sollte GRUB2 mit XFS umgehen können, aber egal was ich versucht habe, es hat nicht funktioniert.

„bootctl“ sind die Dateisysteme vollkommen egal, da der Loader und die Kerneldateien immer auf der EFI-Partition liegen und ersterer nur dafür sorgt, dass der Kernel direkt von der Firmware geladen wird. Das heißt man kann grundsätzlich jedes Dateisystem als „root“-Partition einsetzen, solange der Kernel und die Initial-Ramdisk damit umgehen können. Bei Grub muss man sich daran orientieren, was dieses selbst an Dateisystemen unterstützt.

Tipps für das Thinkpad T460 und Ubuntu 16.04

Nach einigen Wochen mit dem Thinkpad T460 und Ubuntu 16.04, habe ich meine Probleme mit dem Notebook komplett lösen können.

Dazu benötigt es vier Dinge:

  1. Mindestens die Kernelversion 4.7.0rc7 aus dem Mainline-PPA
  2. Eine aktuellere Version des „linux-firmware“-Pakets, da der i915-Treiber eine aktuellere Version der Skylake-Firmware benötigt.
  3. Das Paket „TLP“

Zusätzlich habe ich die Proposed-Quellen aktiviert, um schneller Bugfixes zu erhalten.

Ich habe ich noch eine Datei names „iwl.conf“ im Verzeichnis „/etc/modprobe.d“ erstellt und mit folgendem Inhalt gefüllt:

options iwlwifi power_save=1 power_level=5

Durch diese kleine Maßnahme sinkt das Stromverbrauch der WLAN-Karte um einiges gesunken und ich erreiche dadurch im Alltagsbetrieb Laufzeiten von mehr als 8h.

Ich habe außerdem noch das oibaf-PPA aktiviert, welches Git-Versionen des Intel-Grafikktreibers und des Mesa-Stacks enthält. Dieses sollte man nur aktivieren, wenn bereit ist auch mal kleinere Fehler im Mesa-Stack zu akzeptieren. Ich benutze es seit einigen Wochen und bisher hatte ich noch keine Probleme (Alles läuft stabil, auch solche Brocken wie MOE).

Update: Thinkpad T460 und Ubuntu 16.04

Ich habe in den letzten Tagen ein wenig mit aktuelleren Kernel-Versionen herumexperimentiert. Dabei hat sich für mich herauskristallisiert, dass der DRM-Intel-Nightly-Kernel aus dem Ubuntu-Mainline-PPA die Grafik-Glitches beseitigt und zudem die Laufzeit noch ein wenig erhöht, da die Stromspareigenschaften des Systems noch besser genutzt werden.

Ich benutze aktuell die Version vom 07. Mai und bin bisher auf keine Probleme gestoßen.

Es gibt nur eine Einschränkung bei der Verwendung des obigen Kernels:

Man benötigt zwingend eine aktuellere Version des „linux-firmware“-Pakets, da der i915-Treiber eine aktuellere Version der Skylake-Firmware benötigt.

 

Thinkpad T460 und Ubuntu 16.04

Thinkpad T460Nach einem mehrjährigen Abstecher in die Mac-Welt (MacBook Air 13 seit Mitte 2013) bin ich am Montag mit meinem neuen Thinkpad T460 wieder in die „normale PC-Welt“ zurückgekehrt.

Das Thinkpad enthält sehr viele aktuelle Technik (Skylake-CPU, NVMe SSD, usw.) und wie fast jeder Linux-Benutzer weiß, sind aktuelle PC bzw. Notebook-Technik und Linux eigentlich keine gute Kombination (In diesem Fall ist das Notebook erst seit Mitte März auf dem Markt).

Trotzdem habe ich mir das Gerät zugelegt, da es sich im Gegensatz zu anderen „Ultrabooks“ gut aufrüsten lässt (Zwei DDR3L-Steckplätze) und als Business-Notebook einige nette Features enthält (Zwei Akkus (Einer intern fest verbaut, einer ist zum Wechseln), Docking-Anschluss, langer Ersatzteil-Support, mattes Display) und zudem spottbillig war (Gemessen an der Ausstattung). Als Student, Schüler oder Lehrer bekommt man die 1400€-Variante mit 256GB NVMe SSD, 8GB RAM und mattem FullHD-IPS-Display in diversen Online-Shops für knapp 900€. Das kein Betriebssystem mitgeliefert wird, spielte für mich keine Rolle.

Jedenfalls hatte ich erst ein paar Bauchschmerzen ob es mir überhaupt gelingen würde Linux bzw. Ubuntu 16.04 sauber zum Laufen zu bekommen. Meine Befürchtungen waren grundsätzlich unbegründet:

Alles was an Hardware verbaut ist funktioniert OotB. Ubuntu 16.04 lies sich völlig problemlos installieren und starten, nur für den Fingerabdruck-Scanner muss man ein zusätzliches PPA einrichten. Auf diesen habe ich aber verzichtet, da es in meinen Augen schneller geht sein Passwort einzugeben als den Finger jedes Mal über den Scanner zu ziehen.

Einige Benutzer haben sich im Zusammenhang mit Ubuntu 16.04 und dem HDMI-Anschluss über abstürzende Systeme beschwert. Ich konnte diesen Fehler nicht nachvollziehen. Vielleicht wurde er mit einem Kernel-Update in der Zwischenzeit gefixt (Ich habe aus den Proposed-Quellen die Version 4.4.0-22 installiert). Den Display-Port-Anschluss habe ich noch nicht getestet.

Das wichtigste überhaupt:

Die Akkulaufzeit ist sehr gut. Laut PowerTop benötigt das Notebook ca. 3,5W im Idle-Modus und installiertem TLP. Durch die beiden 23Wh-Akkus ist eine Laufzeit von über 12h möglich, realistisch sind aber eher 6-7h (Vor allem beim Einsatz von IntelliJ IDEA) Einen Tag an der Hochschule hält das Notebook auf jeden Fall locker durch.

Der Standby-Modus funktioniert ebenfalls problemlos. Nur hin und wieder muss der WLAN-Treiber händisch nach dem Aufwachen Ent -und Wiedergeladen werden, da der NetworkManager keine Netzwerke mehr findet bzw. eine Verbindung aufbaut, aber keine Netzwerke mehr anzeigt. Diesen Mechanismus versuche ich gerade zu automatisieren, damit dieser Schritt bei jedem Schlafenlegen und Aufwachen durchgeführt wird.

Das einzige Manko stellt der GNOME-Power-Manager dar, der immer nur die Restlaufzeit eines Akkus anzeigt. Dadurch bekommt man immer wieder den Eindruck, dass der Rechner mehr Strom verbraucht bzw. die Laufzeit kürzer als es tatsächlich der Fall ist. Es wird nämlich immer zuerst ein Akku komplett geleert bevor der andere an der Reihe ist. Leider kapiert das G-P-M nicht, weshalb man tunlichst vermeiden sollte, das automatische Herunterfahren bei niedrigerem Akkustand ausschalten.

Das einzig echte Problem sind die hin und wieder auftauchenden Grafik-Glitches (Bildschirm zuckt kurz), welche aber nur im Akkumodus auftauchen. Damit kann ich aber leben, da sie wirklich nur selten und kurz auftreten und dadurch nicht wirklich stören.

Alles in allem war das Notebook ein perfekter Kauf für mich und ich muss nicht auf Windows ausweichen um das Notebook vernünftig benutzen zu können.

Firefox 46 unter Linux standardmäßig als Gtk3-Build

Nach Jahren des Wartens wird seit Firefox 46 endlich standardmäßig Gtk3 als Toolkit benutzt. Dadurch passt sich Firefox besser an moderne Oberflächen an und benutzt z.B. die integrierten Scrollbars von Gtk3. Zusätzlich scheint Firefox ein wenig performanter in der Grafikdarstellung geworden zu sein, wobei das ein rein subjektiver Eindruck meinerseits ist.

Neben dem offiziellen Paket von der Mozilla-Seite wird in allen noch unterstützten Ubuntu-Versionen (14.04, 15.10 & 16.04) Firefox 46 ebenfalls als Gtk3-Build ausgeliefert.

Leider hat es die Multiprozess-Architektur noch nicht in Firefox 46 geschafft. Diese soll ab Version 48 dann für alle Benutzer aktiviert werden.

Kurztipp: Fehlende deutsche Übersetzung von Evolution 3.18

Ich benutze schon seit Jahren Evolution als E-Mail bzw. Groupware-Client. Leider fehlt in Ubuntu 16.04 seit einigen Wochen die deutsche Übersetzung des Programms.

Da eine Besserung im Moment noch nicht in Sicht ist, habe ich kurzerhand diese händisch „nachgerüstet“.

Ich habe aus dem GNOME3-Staging-PPA das „evolution-common“-Paket für Wily heruntergeladen und daraus die Datei „evolution-3.18.mo“ extrahiert und danach händisch nach „/usr/share/locale-langpack/de/LC_MESSAGES“ kopiert. Danach musste ich nur noch die Dateirechte anpassen.

Danach ist Evolution wieder auf Deutsch.

Unity in Ubuntu 16.04 erlaubt Verschieben der Dash

Seit heute (18.03.16) ist es (endlich) möglich die Dash von Unity an den unteren Rand des Bildschirms zu bewegen. Im Moment funktioniert das nur durch das Setzen eines dconf-Eintrages mit Hilfe von „gsettings“ oder dem „dconf-editor“:

gsettings set com.canonical.Unity.Launcher launcher-position "Bottom" # Setzt den Launcher nach unten
gsettings set com.canonical.Unity.Launcher launcher-position "Left" # Setzt den Launcher nach links

Im Moment ist die Unity-Version (7.4.0+16.04.20160318-0ubuntu1) noch in den Proposed-Quellen von Xenial, wird aber mit ziemlicher Sicherheit spätestens in ein paar Tagen auch in die offiziellen Quellen aufgenommen.

Unity mit Dash am unteren Rand