Multimedia

Ein gutes Betriebssystem ist ein Allrounder. Auf dem System, mit dem ich programmiere, möchte ich nebenbei auch noch Musik hören oder in einer entspannten Pause einen schönen Film anschauen. Nun ist es so, dass man dafür Software benötigt. Zum einen die Codecs und zum anderen die Abspielprogramme. Freie Formate, wie Ogg Vorbis und FLAC funktionieren von Haus aus aber schon bei MP3 ist Schluss mit Lustig.

Wo ist das Problem? Von einem derart umfangreichen Repository, wie Fedora es hat, erwarte ich doch, das alles enthalten ist und die notwendigen Dinge bestenfalls schon vorinstalliert sind. Aber leider ist das nicht so und der Grund sind Softwarepatente auf bestimmte Algorithmen und Mechanismen in Multimedia-Codecs und natürlich kommen da auch Lizenzen ins Spiel, für die man zahlen muss (Das würde ein Linuxer ja nie tun! ;-). Und da Software-Patente gerade in den USA ein großes Thema sind, kann Red Hat diese Codecs nicht ohne weiteres ausliefern. Das gleiche hatten wir auch beim Thema Font-Rendering. Und ebenso wie dort, hilft uns auch hier das RPM Fusion Repository weiter. Falls Ihr es noch nicht eingebunden habt, holt es ganz schnell nach:

Terminal (Konsole) öffnen und folgenden Befehl ausführen:

sudo dnf install --nogpgcheck http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm http://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm

Die Installation der beiden Pakete bestätigen und schon sollte (fast) alles da sein, was wir im offiziellen Repository vermissen.

Codecs

Die Voraussetzungen sind geschaffen, jetzt müssen die Bibliotheken und Codecs selbst noch installiert werden. Das besorgt der folgende Befehl:

sudo dnf install gstreamer1-plugins-base gstreamer1-plugins-good gstreamer1-plugins-ugly gstreamer1-plugins-bad-free gstreamer1-plugins-bad-freeworld gstreamer1-plugins-bad-free-extras ffmpeg

Ihr seht, dass ein ganzer Haufen Pakete (samt Abhängigkeiten) installiert wird. Insbesondere die, die mit -bad oder -ugly enden, enthalten die patentbehafteten Codecs.

Player

Die Codecs hätten wir damit installiert, fehlt nur noch ein guter Player. Während bei KDE für Musik meist Amarok verwendet wird, fehlt ein gescheiter Video-Player (den mitgelieferten Dragon-Player habe ich nie zufriedenstellend in Betrieb nehmen können). Ein sehr empfehlenswerter Allrounder ist VLC, den Ihr wahrscheinlich schon von Windows kennt (wer hat den nicht installiert?).

sudo dnf install vlc

DVD

Jetzt haben wir einige Codecs installiert und fast sämtliche gängigen Videoformate damit abgedeckt. Nur DVDs können wir immer noch nicht abspielen, denn es fehlt die Bibliothek libdvdcss manchmal auch libdvdcss2 genannt. Hier ist die Situation nochmal komplizierter, wer dazu mehr wissen möchte, sei auf den Artikel in der deutschen Wikipedia verwiesen.

Aber natürlich kommen wir auch da ran. Dafür binden wir das negativo17 Multimedia-Repository ein und installieren das entsprechende Paket. Man sollte normalerweise nicht wahllos Repositories hinzufügen aber diese beiden sind quasi renommiert. Ich nutze sie auch und kann sie bedenkenlos empfehlen. Wer einen Nvidia Grafikchip hat wird negativo17 wegen des angebotenen Treibers auch schätzen.

sudo dnf config-manager --add-repo=http://negativo17.org/repos/fedora-handbrake.repo
sudo dnf install libdvdcss

Jetzt können wir VLC auch für die Wiedergabe von DVDs nutzen. Wer es rechtlich aber ganz wasserdicht haben möchte, kann sich natürlich auch lizenzierte Codecs oder Player kaufen und damit nebenbei auch noch die Firma Fluendo unterstützen, die seit Jahren schon Multimedia-Software für Linux (und andere Systeme) anbietet.

Damit sollten wir ein System haben, welches jeglichen Multimedia-Ansprüchen genügt. Viel Erfolg beim Ausprobieren.

Plasma und GTK-Apps

Einheit in der Vielfalt

Wer den KDE Plasma Desktop installiert nutzt normalerweise auch die Tools, die dieser mitbringt, bzw. das, was in den KDE Applications enthalten ist. Damit ist ein gutes Zusammenspiel von Desktop und Apps garantiert, weil alles auf dem gleichen Toolkit bzw. Framework fußt. So haben dann auch alle Apps ein einheitliches Aussehen und verhalten sich bei Standardaufgaben auch ähnlich. Der Öffnen/Speichern-Dialog ist gleich, die Einstellungsdialoge sind nach dem gleichen Muster aufgebaut usw.

Nun gibt es aber auch Software, die eben nicht mit Qt, dem Toolkit, welches KDE Plasma zugrunde liegt, entwickelt wurde. Der weitaus größte Teil dieser Software nutzt GTK+ als Toolkit. Bekannte Beispiele sind GIMP, Inkscape, darktable, RawTherapee, Mozilla Firefox, Google Chrome und einige mehr.

Diese Applikationen wirken in der Standardeinstellung bei Fedora KDE wie Fremdkörper, da sie sich nicht in das Look & Feel einfügen.

Hier mal zwei Screenshots zum Vergleich. Es handelt sich hier um den Einstellungsdialog von GIMP, einmal in der Standardeinstellung:

gimp-adwaita

Und in der an KDE Plasma angepassten Darstellung:

gimp-breeze

So ist ein GTK-Programm vom Aussehen zumindest schon kaum mehr von einem Qt-Programm zu unterscheiden. Dass sich ein GTK-Programm an manchen Stellen noch anders „anfühlt“ und auch die Standard-Dialoge anders aussehen, lässt sich natürlich nicht abstellen.

Wie die Programme aussehen wird durch Themes geregelt. Das Standard-Theme bei Plasma (Qt) ist Breeze, während GNOME (GTK) Adwaita verwendet. Selbst wenn GNOME nicht installiert ist, wird dieser Theme für die GTK-Apps verwendet. Alles, was wir nun tun müssen, ist, dafür zu sorgen, dass auch für GTK-Apps das Breeze-Theme verwendet wird. Themes werden immer für ein bestimmtes Toolkit entwickelt und lassen sich natürlich nicht bei einem anderen anwenden aber man kann zumindest auf Basis anderer Toolkits Themes entwickeln, die genauso oder ähnlich aussehen. Ein solches Theme gibt es auch für Breeze, es ist nur leider nicht standardmäßig installiert. Das können wir einfach nachholen:

sudo dnf install breeze-gtk

Dann stellt Ihr sicher, dass dieser Theme auch für die GTK-Apps benutzt wird. Öffnet die Systemeinstellungen und dann unter Erscheinungsbild das Icon „Anwendungsstil“. Hier wählt Ihr den dritten Punkt „GNOME Anwendungsstil (GTK)“ und macht die Einstellungen, wie im Screenshot zu sehen.

breeze-gtk

Tooltips

Es gibt noch ein Problem mit Tooltips in GTK-Anwendungen. Und zwar sind diese im Breeze-Theme schlecht lesbar. Aber auch dafür gibt es eine Lösung: In den Systemeinstellungen wechselt Ihr zu „Farbe“. Unter dem Reiter Optionen deaktiviert Ihr einfach „Farben auf Nicht-Qt-Programme anwenden“. Dann sind auch die Tooltips bei GIMP wieder lesbar.

breeze-farben

An solcherlei Punkten merkt man leider, dass die Distributoren mehr tun könnten, was die Integration des KDE-Desktops ins Betriebssystem betrifft. Und das ist leider nicht nur bei Fedora so. Eine gute Vorkonfiguration erspart dem neuen Benutzer viel Arbeit und gibt gleich ein besseres Bild ab. Aber zum Glück ist es nichts, was man nicht doch noch nachträglich einstellen könnte.

Vielleicht habt Ihr ja auch noch Tipps und Tricks, wie man den Plasma-Desktop weiter tweaken kann. Ansonsten hoffe ich, dass dieser Artikel jemandem weiterhilft.

Schriftdarstellung optimieren

Die Schriftdarstellung bei Betriebssystemen ist ein Thema, mit dem ich mich schon seit Jahren beschäftige. Auch Artikel hier im Blog zeugen davon. Es ist aber auch ein hoch-subjektives Thema. Manche installieren ein Betriebssystem und scheren sich nicht darum, wie die Schrift aussieht. Mir jedoch ist noch keine Linux-Distribution begegnet, bei der für mich in der Standardeinstellung alles optimal war. Dabei sitze ich – selbst auf der Arbeit – stundenlang vor einem Linux-Desktop. Da muss man es doch den Augen so angenehm wie möglich machen.

Am gefälligsten wirkt die Darstellung der Schrift wohl bei Ubuntu und den vielen Derivaten. Dort ist das Subpixel-Rendering (mit einigen Patches von Canonical) in der FreeType-Bibliothek enthalten und auch standardmäßig aktiviert. Bei Fedora und einigen anderen Distributionen ist das nicht so und das hat damit zu tun, dass Microsoft in den USA einige Patente auf die Technologie angemeldet hat. Da nun Red Hat auch eine amerikanische Firma ist, kann man die Funktion also nicht ohne weiteres ausliefern. Glücklicherweise ist es nicht schwierig, Subpixel-Rendering trotzdem unter Fedora zu aktivieren.

Da ich zu faul bin, nochmal vergleichende Screenshots zu machen verweise ich auf einen anderen interessanten Artikel in einem sehr empfehlenswerten Blog zu Linux. Es geht zwar eigentlich um eine Eigenart in GIMP aber dort könnt Ihr auch ganz anschaulich unterschiedliche Rendering-Algorithmen sehen. Ansonsten gibt es auch einen Vergleich im weiter oben verlinkten Artikel in diesem Blog.

FreeType in a free world

Das in den Repositories von Fedora enthaltene FreeType-Paket wird ohne aktiviertes Subpixel-Rendering kompiliert. Es hilft also erstmal auch keine Konfiguration um es zu aktivieren. Wir brauchen dazu ein Paket, wo die Unterstützung einkompiliert wurde. An dieser Stelle kommt RPM Fusion ins Spiel, das ist ein semi-offizielles Zusatz-Repopsitory für Betriebssysteme von Red Hat, also Fedora, CentOS und auch Red Hat Enterprise Linux selbst. Pakete, bei denen aus patentrechtlichen Gründen, Funktionen ausgeklammert werden müssen, stehen hier mit dem vollen Umfang zur Verfügung. Sie heißen dann genau wie die Standardpakete aber mit dem Zusatz „-freeworld“ und kommen sich damit nicht mit den Standardpaketen ins Gehege. Natürlich gibt es auch viele weitere Pakete, die Fedora gar nicht ausliefern darf. Dazu zählen insbesondere Multimedia-Codecs.

Um hier nicht alles nochmal aufschreiben zu müssen, verweise ich einfach mal auf den bereits bestehenden Artikel, der beschreibt, wie ihr RPM Fusion in Fedora einbindet. Dem könnt Ihr ganz einfach folgen. Da wir es hier aber mit KDE Plasma zu tun haben, lassen wir beim zweiten Befehl logischerweise das gnome-tweak-tool weg, da KDE seinen eigenen Einstellungsdialog dafür hat. So bleibt nur das freetype-freeworld Paket zu installieren:

sudo dnf install freetype-freeworld

Jetzt könnt Ihr dem Artikel weiter folgen und die Datei .fonts.conf im Homeverzeichnis mit dem angegebenen Inhalt anlegen. Eigentlich sollte damit alles erledigt sein. Sicherheitshalber machen wir noch eine Einstellung in der Schriftartenkonfiguration, damit es auch wirklich jedes Programm mitbekommt. Zu folgendem Dialog kommt Ihr, indem Ihr im Anwendungsmenü Systemeinstellungen aufruft und dann auf Schriftart.

font-settings

Hier setzt Ihr „Kantenglättung verwenden:“ auf „Aktiviert“ und wendet die Einstellungen an.

Machen wir’s hübscher

Ihr seht im Screenshot auch, dass ich nicht Fedoras Standardschriftart verwende, sondern Noto Sans. Das ist der eigentliche Standardfont von KDE Plasma 5. Dieser wird unter Fedora nicht standardmäßig eingestellt, weil er nicht den vollen Zeichensatz bei allen wichtigen Sprachen unterstützt. Das ist uns aber egal, denn für die meisten Sprachen, vor allem Deutsch, funktioniert alles bestens. Wenn Ihr die Schriftart auch nutzen möchtet, müsst ihr das entsprechende Paket erst installieren.

sudo dnf install google-noto-sans-fonts

Jetzt müsst Ihr allerdings die Schriftarteinstellung nochmal aufrufen, sonst weiß der Dialog nichts von den soeben installierten Schriften. Dann könnt Ihr der Einfachheit halber den Button „Alle Schriftarten anpassen …“ klicken und die Einstellung wie im folgenden Screenshot machen:

font-settings-noto

Der Font für „Feste Breite“ bleibt davon unberührt und müsste gesondert eingestellt werden. Aber der kann auch ruhig so bleiben. Damit die Einstellungen auch wirklich komplett übernommen werden, empfehle ich, Euch einmal neu anzumelden.

Die Fonts von Microsoft

Es gibt noch einen weiteren Schritt, den Ihr optional ausführen könnt, damit die Schrift auf Webseiten so aussieht, wie ihr es von Windows her gewohnt seid: Die wichtigsten Schriftarten von Microsoft, die sogenannten Core Web Fonts, stehen frei zur Verfügung und können daher auch unter Linux genutzt werden. Wenn Ihr das wollt sind sie nur diese beiden Befehle entfernt:

sudo dnf install cabextract
sudo rpm -i https://downloads.sourceforge.net/project/mscorefonts2/rpms/msttcore-fonts-installer-2.6-1.noarch.rpm

Voila! So ist auch im Web alles wie gehabt. Es bleibt zu betonen, dass dieser Schritt nicht zwingend notwendig ist um eine schöne Darstellung auf Webseiten zu bekommen. Bei allen Linux-Distributionen werden Schriftarten ausgeliefert, die die gleichen Metriken haben, wie die von Microsoft, die Liberation Fonts. So bleibt das Layout von Webseiten zumindest auf beiden Systemen gleich auch wenn sich die Schriftarten leicht unterscheiden.

Das wäre fürs Erste alles, was ich zu Schriftarten sagen kann. Nochmal: Die Schriftarten und das Rendering sind ein stückweit Geschmacksache und was ich hier beschreibe ist mein persönlicher Workflow beim Einrichten von Fedora KDE. Es steht Euch natürlich frei, andere Einstellungen zu machen. Ich zeige nur, was möglich ist. Da ich mich z. T. auf einen anderen Artikel bezogen habe ist vielleicht etwas unklar oder unvollständig geblieben. Schreibt mir Anregungen in die Kommentare. Und wie immer: Viel Erfolg!