30. August 2013

Arch Linux: Der Weg zu "meinem" GNOME - Die Darstellung von Schrift verbessern (Teil 5)

In diesem Artikel soll gezeigt werden, wie die Darstellung von Schrift innerhalb der GNOME-Shell, bzw. der Programme, die unter dieser betrieben werden, verbessert werden kann. Hierfür wird ein sogenanntes "Patchset" namens Infinality genutzt, das das Rendering von Freetype2-Schriftarten verbessert. Dieses Patchset verändert die vom System verwendete Library zur Schriftarten-Darstellung und wirkt sich somit auf alle Anwendungen aus, die diese benutzen. Die beiden unten zu sehenden Screenshots zeigen einen Vergleich des Standard- und des Infinality-Renderings.

Der Nautilus-Dateimanager unter GNOME 3 mit Standard-Rendering (links) und Infinality-Rendering (rechts) im Vergleich (Klicken zum Vergrößern)

1 Installation aus Custom Repository


Infinality kann sowohl über das AUR installiert werden, als auch über ein Custom Repository, dessen Verwendung aufgrund der einfacheren Installation und Konfiguration in diesem Artikel bevorzugt werden soll. Um dieses Repository in die Konfiguration des Paketmanagers Pacman einzubeziehen, müssen die folgenden Zeilen in die Datei /etc/pacman.conf eingefügt werden:
 [infinality-bundle]  
 Server = http://ibn.net63.net/infinality-bundle/$arch  
Falls außerdem die multilib-Pakete zur Unterstützung von 32-Bit-Programmen auf 64-Bit-Systemen installiert werden sollen, muss in die selbe Datei zusätzlich folgender Eintrag eingefügt werden:
 [infinality-bundle-multilib]  
 Server = http://ibn.net63.net/infinality-bundle-multilib/$arch  
Anschließend müssen über die folgenden Konsolenbefehle ein Schlüssel importiert und signiert werden und die Paketquellen von Pacman aktualisiert werden:
 $ sudo pacman-key -r 962DDE58  
 $ sudo pacman-key --lsign-key 962DDE58  
Das auf diese Weise hinzugefügte Infinality-Repository enthält die Pakete freetype2-infinality-ultimate, fontconfig-infinality-ultimate und cairo-infinality-ultimate. Diese können über den folgenden Befehl installiert werden. Falls dabei ein Fehler auftritt, der über einen Konflikt informiert, so kann dieser umgangen werden, indem statt -S der Parameter -Sd genutzt wird, oder indem die Fehlermeldung mit der y-Taste quittiert wird:
 $ sudo pacman -S freetype2-infinality-ultimate fontconfig-infinality-ultimate cairo-infinality-ultimate  
Durch die Installation dieser Pakete werden die von Arch Linux standardmäßig verwendeten Pakete zur Schriftarten-Darstellung ersetzt. Die geänderte Darstellung sollte sofort, ohne weitere Einstellungen vorzunehmen, sichtbar werden. Die aktuelle Konfiguration von Infinality ist in der Datei /etc/profile.d/infinality-settings.sh enthalten. In dieser Konfigurationsdatei können auch durch Setzen der USE_STYLE-Variable bestimmte Voreinstellungen gewählt werden.

In diesem Artikel des englischsprachigen Arch-Wikis werden weitere Konfigurationsmöglichkeiten zur Schritftarten-Darstellung, sowie Alternativen zu Infinality dargestellt.

2 Standard-Packages wiederherstellen


Um die standardmäßig von Arch Linux verwendeten Pakete wiederherzustellen, genügt die Ausführung des folgenden Befehls:
 $ sudo pacman -S --asdeps freetype2 cairo fontconfig  

Weiterführende Links:

21. August 2013

Arch Linux: Der Weg zu "meinem" GNOME - Multi-Monitor-Betrieb (Teil 4)

In dieser Serie über die Konfiguration meiner GNOME-Shell soll ein kleiner Tipp, der die Benutzung mit mehreren Monitoren für einige Benutzer erleichtern könnte, nicht fehlen. Wenn man unter GNOME 3 im Multi-Monitor-Betrieb den Workspace wechselt, so hat dies standardmäßig nur Auswirkungen auf den primären Monitor. Auf dem sekundären Monitor bleiben dagegen alle angezeigten Fenster bestehen und stellen somit quasi einen eigenen Workspace dar, der von jeglichem Wechsel ausgeschlossen ist. Dieses Verhalten, das bei so manchem Benutzer auf Widerwillen stößt, lässt sich jedoch glücklicherweise sehr simpel ändern, so dass ein Workspace-Wechsel beide Monitore umfasst. Hierfür muss lediglich der unten stehende Konsolenbefehl ausgeführt werden:
 $ gsettings set org.gnome.shell.overrides workspaces-only-on-primary false  

Arch Linux: Der Weg zu "meinem" GNOME - Shell-Extensions (Teil 3)

Die GNOME-Shell lässt sich über sogenannte Extensions in ihrem Verhalten und Aussehen anpassen. In diesem dritten Artikel über die Veränderungen, die ich an der GNOME-Shell meines Arch Linux-Systems vorgenommen habe, möchte ich diejenigen Extensions vorstellen, die ich genutzt habe um Änderungen an GNOME 3 vorzunehmen.

GNOME-Extensions lassen sich über die Webseite https://extensions.gnome.org/ auffinden und direkt aus dem Browser heraus installieren, insofern das Browser-Plugin "Gnome Shell Integration" installiert ist. Installierte Extensions sind dann jeweils als Ordner in dem Verzeichnis ~/.local/share/gnome-shell/extensions zu finden. Auch das Programm "Gnome Tweak Tool", das erweiterte Einstellungsmöglichkeiten für die GNOME-Shell anbietet und bereits in den beiden vorherigen Artikeln dieser Serie vorgestellt wurde, bietet in der Kategorie "Shell-Erweiterungen" die Möglichkeit, Extensions zu konfigurieren, deaktivieren und zu entfernen. 

Optionen zu installierten GNOME-Extensions im Programm "Gnome Tweak Tool" (Klicken zum Vergrößern)

Im folgenden werden die einzelnen, von mir verwendeten, GNOME-Extensions, sowie ihre jeweiligen Funktionalitäten vorgestellt:

Activities Configurator


Die Extension Activities Configurator erlaubt es, erweiterte Einstellungen über die Aktivitäten-Schaltfläche im GNOME-Panel zu treffen. Ich nutze die Extension um diese Schaltfläche komplett auszublenden. Der Grund hierfür liegt darin, dass ich an deren Stelle links im Panel die Fenster-Schaltflächen von maximierten Fenstern anzeigen lasse. Wie dies erreicht werden kann wurde in diesem vorherigen Artikel dieser Serie bereits erläutert.

Alternatetab


Standardmäßig werden beim Fensterwechsel über die Tastenkombination Alt + Tab mehrere geöffnete Instanzen des gleichen Programms gruppiert dargestellt und die Fenster aller Arbeitsflächen zur Auswahl angeboten. Über die Extension Alternatetab lässt sich stattdessen erreichen, dass nur die Fenster auf der aktuellen Arbeitsfläche angezeigt werden und die verschiedenen Instanzen eines Programms einzeln aufgeführt werden. Außerdem lässt sich die Auswahl treffen, ob nur ein Vorschaubild der Fenster, nur deren Anwendungssysmbol oder beides angezeigt wird. Im folgenden Screenshot ist die von mir getroffene Konfiguration zu sehen.

Einstellungsmöglichkeiten der GNOME-Extension "Alternatetab" (Klicken zum Vergrößern)

Alternative Status Menu


Die Extension Alternative Status Menu sorgt dafür, dass die Option, um den Computer in den Bereitschafts-Modus zu versetzen, im Panel-Menü angezeigt wird. Der folgende Screenshot verdeutlicht den Unterschied zwischen Standard-Menü und modifiziertem Menü.

Das Gnome-Panel-Menü mit (links) und ohne (rechts) die Erweiterung "Alternative status menu" (Klicken zum Vergrößern)

Dash to Dock


Die Extension Dash to Dock bietet die Möglichkeit, den App-Launcher des GNOME-Dashs zu konfigurieren. Dadurch lässt sich ein Launcher realisieren, der dem der Unity-Desktopumgebung entspricht. Das bedeutet, dass sich nicht nur dessen Aussehen und Animation konfigurieren lässt, sondern auch Optionen angeboten werden, um neben den Favoriten auch die aktuell gestarteten Anwendungen anzuzeigen und den Launcher permanent sichtbar zu machen. Ich nutze die Erweiterung jedoch lediglich dazu, die Höhe des Launchers auf einen höheren Wert zu setzen, als es standardmäßig der Fall ist.

Drop Down Terminal


Die Funktion der Extension Drop Down Terminal liegt darin, per konfigurierbarem Shortcut ein Terminal, wie man es beispielsweise vom Ego-Shooter "Quake" kennt, am oberen Bildschirmrand einzublenden. Dabei lässt sich bestimmen, ob das Terminal transparent dargestellt wird, ob das Einblenden über eine Animation geschehen soll und welche Höhe das Terminal haben soll.

Das Konsolenprogramm "Archey" im "Drop down terminal" (Klicken zum Vergrößern)

Frippery Move Clock


Die sehr simple Extension Frippery Move Clock besitzt lediglich die Funktion, die Uhr, die standardmäßig in der Mitte des GNOME-Panels angezeigt wird, nach rechts zu bewegen, wo sie zwischen Tray-Icons und Panel-Menü dargestellt wird.

Quit Button


Auch die Extension Quit Button verfolgt ein recht simples Ziel, nämlich den, den User-Namen, der standardmäßig ganz rechts im GNOME-Panel angezeigt wird, durch ein Icon zu ersetzen.

Remove Rounded Corners


Die Extension Remove Rounded Corners erlaubt es, dass die obere linke Ecke des GNOME-Panels nicht abgerundet dargestellt werden, wie es standardmäßig der Fall ist. Diese Funktionalität ist sehr praktisch wenn ein Theme verwendet wird, bei dem die Kanten von Fenstern nicht abgerundet dargestellt werden. In einem solchen Fall wirken die abgerundeten Ecken, wie sie standardmäßig dargestellt werden, bei maximierten Fenstern sehr störend. Der unten stehende Screenshot verdeutlicht den Unterschied, den die Extension herbeiführt. Die bereits erwähnte Extension "Activities configurator" bietet nebenbei eine Option an, die zu dem selben Ergebnis führt.

Das GNOME-Panel ohne (oben) und mit (unten) der Extension "Remove rounded corners" (Klicken zum Vergrößern)

Remove Button Bar


Die Extension Remove Button Bar verhindert, dass die Benachrichtigungsleiste angezeigt wird, wenn der Mauszeiger zur unteren Bildschirmkante bewegt wird. 

Show Desktop from Overview


Die Extension Show Desktop from Overview erlaubt es, alle Fenster zu minimieren und den Desktop anzuzeigen, wenn im Dashboard auf einen leeren Zwischenraum zwischen den geöffneten Fenstern geklickt wird.

Status Title Bar


Die Extension Status Title Bar bewirkt, dass der komplette Titel des aktuell fokussierten Fensters im Top-Panel angezeigt wird.

TopIcons


Mit GNOME 3 wurde ein Benachrichtungssystem eingeführt mit dem die Tray-Icons von Programmen nicht mehr im GNOME-Panel angezeigt werden. Durch die Extension TopIcons lässt sich eben diese Darstellung der Tray-Icons im Panel wiederherstellen. Im unten stehenden Screenshot sind von links nach rechts die Tray-Icons von  Banshee, Pidgin, Thunderbird und Dropbox zu sehen.

Programm-Tray-Icons im GNOME-Panel (Klicken zum Vergrößern)

User Themes


Die Extension User Themes muss installiert sein, um benutzerdefinierte Shell-Themes verwenden zu können. Auf die Verwendung von Shell-Themes wurde bereits in diesem ersten Artikel dieser Serie eingegangen.

Window Buttons


Die Extension Window Buttons erlaubt es, die Fenster-Schaltflächen des aktuell fokussierten Fensters im Gnome Panel anzuzeigen. Wie diese Extension dazu verwendet werden kann, die Schaltflächen von maximierten Fenstern im GNOME-Panel statt in deren Titelleiste anzuzeigen wurde bereits in diesem Artikel gezeigt.

Weiterführende Links:

19. August 2013

Linux: Externe Festplatte automatisch mounten

Wenn man häufig eine externe Festplatte an einem Linux-System verwendet, lohnt sich eventuell der Konfigurationsaufwand, um ein automatisches Mounten der darauf vorhandenen Partitionen einzurichten, so dass diese nicht nach jedem Neustart des Systems erneut manuell gemountet werden muss. Hierfür eignet sich die Datei /etc/fstab, in die Partitionen eingetragen werden können, die automatisiert beim Booten des Systems eingehängt werden sollen. Im folgenden werden die Schritte gezeigt, die nötig sind, um diese Datei dementsprechend zu konfigurieren. 

Identifizierung der relevanten Partitionen


An ein Linux-System angeschlossene Geräte sind durch einen entsprechenden Eintrag in dem Verzeichnis /dev/ identifizierbar. So lautet der Name der ersten Partition auf der ersten angeschlossenen Festplatte /dev/sda1. Da diese Bezeichnungen aber je nach angeschlossener Peripherie variieren können, sollten die automatisch einzuhängenden Partitionen über ihre sogenannte UUID angesprochen werden, wodurch sie stets eindeutig identifizierbar sind. Um die UUIDs aller verfügbaren Partitionen anzuzeigen, kann der folgende Befehl genutzt werden. Er muss hierfür mit Root-Rechten ausgeführt werden.
 $ sudo blkid  

Editieren der fstab


Anschließend muss die Konfigurationsdatei /etc/fstab editiert werden. Hierfür muss sie mit Root-Rechten in einem Editor geöffnet werden, was beispielsweise über den folgenden Befehl möglich ist:
 $ sudo nano /etc/fstab  
Jede beim Systemstart automatisch einzuhängende Partition wird in einer einzelnen Zeile eingetragen, die jeweils aus fünf Spalten besteht. Die Spalten werden dabei durch Tabs, bzw. Leerzeichen getrennt, weshalb innerhalb einer einzelnen Spalte kein Leerzeichen vorkommen darf. 
    Ein neuer Eintrag zum Mounten einer Partition einer externen Festplatte in der fstab über ihre UUID könnte beispielsweise wie folgt aussehen:
     UUID=88a9db9c-6d01-491b-adff-dad347f0ba07    /mnt/media    ext4    defaults,nofail    0    2  
    
    In diesem Beispiel wird die Partition unter dem Verzeichnis /mnt/media eingehängt. Dieses Verzeichnis muss zunächst einmalig manuell angelegt werden. Außerdem wurde angegeben, dass die Partition mit dem ext4-Dateisystem formatiert wurde. Die Mount-Option "defaults" entspricht den üblichen Werten, die Option "nofail" verhindert zusätzlich, dass der Bootvorgang von einem Fehler unterbrochen wird, wenn die externe Festplatte einmal nicht angeschlossen sein sollte. In einem solchen Fall wird das Einhängen der betroffenen Partition einfach übersprungen.

    Um eine mittels LVM verschlüsselte Partition zu mounten, muss diese zuvor entschlüsselt werden. Wie dies automatisch während des Bootvorgangs geschehen kann, wurde bereits in diesem Artikel gezeigt. In einem solchen Fall muss die UUID des entschlüsselnden LVM-Volumes statt des Partition auf der sich dieses befindet, angegeben werden.

    Eine beispielhafte fstab-Datei (Klicken zum Vergrößern)

    Um die Änderungen anzuwenden und die neu angegebene Partition einzuhängen, genügt anschließend ein Neustart des Systems oder ein Erzwingen des Mountvorgangs über den folgenden Befehl:
     $ sudo mount -a  
    

    Mounten von einzelnen Ordnern


    In manchen Fällen kann es außerdem sinnvoll sein, bestimmte Ordner auf der bereits gemounteten Partition zusätzlich noch an einer anderen Stelle in das Dateisystem einzuhängen. So wäre beispielsweise denkbar, dass ein Ordner auf einer externen Festplatte, der Musik enthält, in den Musik-Ordner des Home-Verzeichnisses eines Benutzers eingehängt werden soll. Hierfür ist ein zusätzlicher Eintrag in der fstab notwendig, der wie folgt aussehen könnte:
     /mnt/media/Musik  /home/michael/Musik  none  bind,nofail  0  0  
    
    Statt einer UUID wird hierfür der Pfad des einzuhängenden Ordners angegeben, der in diesem Beispiel /mnt/media/Musik lautet. Der Einhängepunkt, in dem dieser Ordner gemountet werden soll, ist /home/michael/Musik. Als Dateisystem muss "none" angegeben werden und die Option "bind" übergeben werden. Wie bereits zuvor beschrieben, sorgt die Option "nofail" zusätzlich dafür, dass der Bootvorgang nicht durch einen Fehler unterbrochen wird, wenn die externe Festplatte und damit auch der einzuhängende Ordner einmal nicht verfügbar sein sollte.

    Aushängen der Partitionen


    Die während des Bootvorgangs automatisch eingehängten Partitionen werden beim Herunterfahren des Systems ebenfalls selbstständig wieder ausgehängt. Wenn jedoch eine Partition zuvor manuell ausgehängt werden soll, ist dies über den folgenden Befehl unter Angabe der jeweiligen Bezeichnung, wie z.B. /dev/sdb1 oder der UUID, möglich. Dies kann beispielsweise sinnvoll sein, wenn eine externe Festplatte vom System getrennt werden soll.
     $ sudo umount <Bezeichnung>  
    

    Weiterführende Links:

    Linux: Verschlüsselte LVM-Volumes automatisch entsperren

    In diesem Post soll gezeigt werden, wie verschlüsselte LVM-Volumes beim Booten eines Linux-Systems automatisch entsperrt werden können. Dies ist beispielsweise sinnvoll, um eine externe Festplatte, deren Partitionen mittels LVM verschlüsselt wurden, automatisch zu entsperren, so dass sie ohne explizite Eingabe eines Passworts sofort zu Verfügung steht. Statt der manuellen Entschlüsselung durch eine Passwortabfrage wird hierfür eine Datei genutzt, die einen entsprechenden Schlüssel enthält. Um die Sicherheit zu bewahren muss diese Datei ebenfalls verschlüsselt auf der Root-Partition des Systems abgespeichert werden. Der Zugang zu einem System mit verschlüsselter Root-Partition wird in der Regel über eine Passwortabfrage abgesichert, weshalb die Sicherheit erhalten bleibt. Lediglich weitere manuelle Passworteingaben können auf diese Weise vermieden werden.

    Erstellen des Schlüssels


    Der Schlüssel, der das manuell einzugebende Passwort ersetzt wird in einer Datei auf der Root-Partition abgespeichert. Es bietet sich an, diesen Schlüssel durch zufällige Werte zu generieren. Der folgende Befehl erzeugt hierfür eine Datei mit einer Größe von 4 kB, die unter /root/keyfile abgelegt wird:
     $ sudo dd if=/dev/urandom of=/root/keyfile bs=1024 count=4  
    
    Um die Sicherheit weiter zu erhöhen, sollte diese Datei nur durch den Root-Benutzer lesbar sein. Um die Zugriffsrechte dementsprechend anzupassen kann der folgende Befehl genutzt werden:
     $ sudo chmod 0400 /root/keyfile  
    

    Verwendung des Schlüssels


    Um anschließend zu konfigurieren, dass das entsprechende LVM-Volume nicht nur durch das Passwort, sondern ebenfalls durch den, im vorherigen Schritt erzeugten, Schlüssel entschlüsselt werden kann, muss nun der folgende Befehl ausgeführt werden. Der Vorgang muss dabei durch Eingabe des Passworts des LVM-Volumes authorisiert werden.
     $ sudo cryptsetup luksAddKey /dev/sdb1 /root/keyfile  
    
    Die Bezeichnung /dev/sdb1 entspricht dabei der Bezeichnung der Partition, die entschlüsselt werden soll. Auf diese Weise können bis zu 10 Schlüssel hinzugefügt werden.

    Crypttab konfigurieren


    Um das LVM-Volume automatisch beim Booten des Systems anhand des Schlüssels zu entsperren, ist es notwendig, eine entsprechende Konfiguration in der Datei /etc/crypttab vorzunehmen. Diese Datei kann über den folgenden Befehl in einem Editor geöffnet werden:
     $ sudo nano /etc/crypttab
    
    Anschließend muss ein neuer Eintrag in die Datei hinzugefügt werden. Dieser könnte etwa folgendermaßen aussehen:
     name  /dev/sdb1  /root/keyfile  luks,nofail  
    
    Die Spalte mit dem Wert "name" kann dabei durch einen beliebigen Namen ersetzt werden und der Wert /dev/sdb1 enthält wiederum die Bezeichnung zu entschlüsselnden Partition. In der dritten Spalte wird auf die zuvor erstellte Datei mit dem Schlüssel verwiesen und die letzte Spalte definiert, dass es sich um eine Verschlüsselung mittels Luks handelt und dass eventuelle Fehler ignoriert werden sollen. Dies bietet sich besonders für die automatische Entschlüsselung von externen Festplatten an, bei denen es vorkommen kann, dass sie während des Bootens auch manchmal nicht angeschlossen sind.

    Statt einer Bezeichnung wie /dev/sdb1 für die zu entschlüsselnde Partition kann auch deren UUID verwendet werden. Dies hat den Vorteil, dass diese eindeutig ist und auch erhalten bleibt, wenn eine unterschiedliche Konstellation von Peripherie an dem System angeschlossen ist. Hierfür muss die Spalte "/dev/sdb1" durch den Wert "/dev/disk/by-uuid/<UUID>" ersetzt werden. Die jeweilige UUID der Partition erhält man beispielsweise über den folgenden Befehl, der alle UUIDs der vorhandenen Partitionen ausgibt.
     $ sudo blkid  
    

    Eine beispielhafte Crypttab-Konfiguration (Klicken zum Vergrößern)

    Beim nächsten Bootvorgang sollte die jeweilige Partition automatisch entschlüsselt werden, ohne dass eine Passworteingabe notwendig ist. Dies ist dadurch zu sehen, dass ein entsprechender Eintrag in dem Verzeichnis /dev/mapper vorhanden ist. Sie kann anschließend gemountet werden, um auf die darauf enthaltenen Dateien zuzugreifen. Wie die entschlüsselte Partition ebenfalls während des Bootvorgangs automatisch gemountet werden kann, wird in diesem Artikel erklärt.

    Weiterführende Links:

    12. August 2013

    Arch Linux: Der Weg zu "meinem" GNOME - Titelleiste von maximierten Fenstern verbergen (Teil 2)

    In diesem zweiten Teil der Serie, die sich darum dreht, welche Veränderungen ich an der GNOME-Shell meines Arch Linux-Systems vorgenommen habe, soll gezeigt werden, wie es möglich ist die Titelleiste von maximierten Fenstern auszublenden. Dieses Verhalten ist z.B. aus der Desktopumgebung "Unity" unter Ubuntu bekannt. Dabei werden die Titelleisten von Fenstern ausgeblendet um vertikalen Platz auf dem Bildschirm zu sparen, sobald sie maximiert werden. Die Schaltflächen zum Minimieren, Maximieren und Schließen eines Fensters, die üblicherweise in dessen Titelleiste angezeigt werden, werden dann stattdessen in das Panel der Desktopumgebung, das sich am oberen Bildschirmrand befindet, verschoben. Für ein einheitliches Erscheinungsbild ist es außerdem sinnvoll, die Fenster-Schaltflächen, die sich unter GNOME 3 standardmäßig rechts befinden, nach links zu verschieben, da sie im Panel ebenfalls nur links dargestellt werden können, da sich auf der rechten Seite der System-Tray befindet. Außerdem bietet es sich an, die Aktivitäten-Schaltfläche, die unter GNOME 3 standardmäßig links im Panel angezeigt wird, auszublenden, so dass die Schaltflächen direkt am linken Bildschirmrand angezeigt werden können. Die unten stehende Abbildung verdeutlicht dieses Verhalten.

    Darstellung der Fenster-Schaltflächen im GNOME-Panel am Beispiel von Chromium (Klicken zum Vergrößern)

    1 Fenster-Schaltflächen nach links verschieben


    Unter GNOME 3 werden die Fenster-Schaltflächen standardmäßig rechts in der Titelleiste angezeigt. Außerdem sind der Minimieren- und Maximieren-Button von Haus aus ausgeblendet. Durch Ausführen des folgenden Befehls können alle drei Schaltflächen zum Minimieren, Maximieren und Schließen eines Fensters auf der linken Seite dessen Titelleiste angezeigt werden:
     $ dconf write /org/gnome/shell/overrides/button-layout "'close,minimize,maximize:'"
    
    Die Reihenfolge, in der die Buttons dem Befehl übergeben werden, bestimmt hierbei auch die Reihenfolge, in der sie von links nach rechts dargestellt werden.

    Die Fenster-Schaltflächen nach der GNOME Standard-Einstellung
    Die Fenster-Schaltflächen nach der hier vorgestellten Modifikation

    2 Titelleiste von maximierten Fenstern ausblenden


    Anschließend muss bewerkstelligt werden, dass die Titelleiste ausgeblendet wird, wenn das zugehörige Fenster maximiert wird. Dies ist möglich, indem die Konfigurationsdatei des genutzten Fenster-Themes editiert wird. Bei der betroffenen Datei handelt es sich um die metacity-theme-3.xml, die sich in dem Verzeichnis metacity-1 innerhalb des Ordners des jeweiligen Themes befindet. Da der Name des hier verwendeten Themes "Numix" lautet, lautet der komplette Pfad zu der betroffenen Datei dementsprechend /usr/share/themes/Numix/metacity-1/metacity-theme-3.xml. Diese XML-Datei muss nun mit Root-Rechten in einem Editor geöffnet werden. Hierfür eignet sich z.B. der folgende Befehl:
     $ sudo nano /usr/share/themes/Numix/metacity-1/metacity-theme-3.xml  
    
    Dann muss in der Datei die Zeile, die mit "<frame_geometry name="max" [...]" beginnt ausfindig gemacht werden. In das betroffene frame_geometry-Tag muss dann das Attribute has_title="false" und das Kind-Element <distance name="title_vertical_pad" value="0" /> eingefügt werden. Ersteres dient zum eigentlichen Ausblenden der Titelleiste, zweiteres muss gesetzt werden, um zu verhindern, dass ein vertikaler Abstand zwischen dem Fensterinhalt und dem GNOME-Panel entsteht. Außerdem sollte sichergestellt sein, dass alle übrigen Kind-Element den Wert 0 besitzen. Der folgende Ausschnitt aus einer solchen XML-Datei zeigt, wie der betroffene Abschnitt nach dem Editieren aussehen könnte. Die relevanten Stellen sind dabei fett hervorgehoben.
     <frame_geometry name="max" has_title="false" title_scale="medium" parent="normal" rounded_top_left="false" rounded_top_right="false">  
         <distance name="left_width" value="0" />  
         <distance name="right_width" value="0" />  
         <distance name="title_vertical_pad" value="0" />  
         <distance name="bottom_height" value="0" />  
     </frame_geometry>
    
    Um bei der Verwendung des Numix-Themes in Verbindung mit dem Shell-Theme "Elegance Colors" einen hellen, störenden Streifen zwischen GNOME-Panel und Fenster zu verhindern, sollte außerdem der Wert der Option "Border width" in der Kategorie "Panel" der Elegance Colors-Konfiguration auf 0 gesetzt werden. Der unten abgebildete Screenshot zeigt eine dementsprechende Konfiguration.

    Konfiguration des GNOME-Panels über das Shell-Theme "Elegance Colors" (Klicken zum Vergrößern)

    3 Aktivitäten-Schaltfläche ausblenden


    Standardmäßig wird am linken Rand des GNOME-Panels eine Schaltfläche mit entsprechender Beschriftung dargestellt, die es erlaubt das Aktivitäten-Menü zu öffnen. Da jedoch die Schaltflächen eines maximierten Fensters an dieser Stelle angezeigt werden soll, empfiehlt es sich aus optischen Gründen, diese Schaltfläche auszublenden. Meiner Meinung nach stellt dies keine Einschränkung der Usability dar, da das Aktivitäten-Menü trotz Ausblenden der Schaltfläche weiterhin über die Super-Taste oder über die Bewegung der Maus in die linke, obere Ecke geöffnet werden kann.

    Um die Aktivitäten-Schaltfläche auszublenden kann die GNOME-Extension "Activities Configurator" genutzt werden, die unter dieser Adresse installiert werden kann, insofern das Plugin "Gnome Shell Integration" im Browser aktiviert ist. Um die Schaltfläche auszublenden muss die Option "Aktivitäten-Schaltfläche entfernen" in den Einstellungen der Extension aktiviert werden. Die Einstellungen einer Extension lassen sich z.B. über die Kategorie "Shell-Erweiterungen" des Gnome Tweak Tools öffnen. Eine dementsprechende Konfiguration der Extension ist auf dem unten stehenden Screenshot zu sehen.

    Die Konfiguration der GNOME-Extension "Activities Configurator" zum Ausblenden der Aktivitäten-Schaltfläche (Klicken zum Vergrößern)

    4 Schaltflächen im GNOME-Panel anzeigen


    Zuletzt müssen die Schaltflächen des maximierten Fensters im GNOME-Panel statt in der versteckten Titelleiste angezeigt werden. Auch hierfür existiert eine GNOME-Extension namens "Window Buttons", die unter diesem Link installiert werden kann. Der unten stehende Screenshot zeigt die Einstellungen der Extension, die getroffen werden müssen, um die Fenster-Schaltflächen in der korrekten Reihenfolge am linken Rand des GNOME-Panels anzuzeigen, wenn das aktuell aktive Fenster maximiert ist. 

    Einstellungen der GNOME-Extension "Window Buttons" (Klicken zum Vergrößern)

    Um als zu verwendendes Theme "Numix" auswählen zu können und dementsprechend das Aussehen der Schaltflächen identisch zu denen des Fenster-Themes zu gestalten, muss dieses Theme zuerst manuell angelegt werden. Hierfür muss der Ordner "Numix" unter dem Verzeichnis ~/.local/share/gnome-shell/extensions/window_buttons@biox.github.com/themes angelegt werden. In diesem Verzeichnis müssen dann Grafiken für die einzelnen Buttons in ihren verschiedenen Zuständen (normal, fokusiert, angeklickt), sowie eine XML-Datei zur Definition des Themes enthalten sein. 

    Die notwendigen Grafiken können aus dem Numix-Theme kopiert werden. Sie befinden sich im Verzeichnis /usr/share/themes/Numix/metacity-1. Es handelt sich dabei um alle, in dem Verzeichnis enthaltenen png-Dateien. 

    Die XML-Datei zur Definition des Themes muss style.css heißen und enthält die Zuweisung der einzelnen Grafiken zu den verschiedenen Zuständen der einzelnen Schaltflächen. Sie kann von einem der bereits verfügbaren Themes der GNOME-Extension kopiert werden. Hierfür eignet sich beispielsweise die CSS-Datei des Themes "Ambiance", da dies gleichnamige Grafiken enthält, weshalb die Datei nicht weiter angepasst werden muss. Lediglich der Wert der Eigenschaft "spacing" der Klasse "button-box" sollte auf 4px gesetzt werden und die Werte der Eigenschaften "width" und "height der Klasse "window-button" sollten auf jeweils 24px geändert werden, um ein identisches Aussehen wie beim Fenster-Theme zu erreichen. Diese Breiten- und Höhenangabe entspricht dabei den Abmessungen der Grafiken in Pixeln.

    Die Dateien eines eigenen Themes für die GNOME-Extension "Window Buttons" (Klicken zum Vergrößern)

    Weiterführende Links:

    Arch Linux: Der Weg zu "meinem" GNOME - Themes verwenden (Teil 1)

    Wie bereits in diesem Blog berichtet, bin ich kürzlich von Ubuntu auf Arch Linux umgestiegen. Bei dieser Gelegenheit habe ich darüber hinaus den Wechsel von der Desktopumgebung Unity zu GNOME 3 gewagt. Da die Desktopumgebung einen maßgeblichen Anteil am Userkomfort eines Systems hat, will ich nun zusätzlich zu den bisherigen Artikeln über den Wechsel der Distribution eine kleine Serie über die Veränderungen, die ich an der GNOME-Shell vorgenommen habe, um sie nach meinen Wünschen zu gestalten, starten. In diesem ersten Teil dieser neuen Serie will ich die Themes, die ich zur Anpassung des Fensterdesigns, des Shell-Designs, der Icons und des Cursors gewählt habe, vorstellen und dessen Installation erläutern. Das Ergebnis der Umgestaltung ist auf dem folgenden Screenshot zu erkennen.

    Das "Numix"-Theme unter GNOME 3 (Klicken zum Vergrößern)

    1 Das Fenster-Theme


    Bei dem von mir gewählten Fenster-Theme handelt es sich um das GTK3-Theme "Numix", das unter diesem Link verfügbar ist. Neben der Möglichkeit, das Theme als zip-Archiv herunterzuladen, wird es für Arch-User auch im AUR angeboten und kann somit über den folgenden Konsolenbefehl mittels Yaourt installiert werden. Wie Yaourt auf einem Arch-System eingerichtet werden kann wurde bereits in diesem Artikel erläutert.
     $ yaourt -S gtk-theme-numix  
    
    Weitere Themes findet man z.B. unter GNOME-Look.org. Falls ein Theme, das manuell heruntergeladen wurde, verwendet werden soll, müssen die entsprechenden Dateien in das Verzeichnis /usr/share/themes/ kopiert werden.

    Um das Theme anzuwenden verwendet man am besten ein dafür geeignetes Tool, wie z.B. das "Gnome Tweak Tool", welches folgendermaßen über den Paketmanager Pacman installiert werden kann:
     $ sudo pacman -S gnome-tweak-tool  
    
    Nachdem das Programm gestartet wurde findet man in der Kategorie "Thema" Möglichkeiten um die verschiedenenen Themes auszuwählen. Für die Anpassung des Fenster-Themes sind dabei die Optionen "GTK+-Thema" und "Fenster-Thema" relevant. Um das Theme zu setzen, muss in den entsprechenden Auswahl-Boxen der Eintrag "Numix" gewählt werden.

    Scheinbar kann es vorkommen, dass durch einen Bug im Gnome Tweak Tool die Option "Fenster-Thema" fehlt. Dadurch kann das Design der Titelleisten von Fenstern nicht angepasst werden. Falls dieses Problem, wie in meinem Fall, auftritt, schafft der folgende Konsolenbefehl, durch den das Fenster-Theme manuell gesetzt werden kann, Abhilfe:
     $ gsettings set org.gnome.desktop.wm.preferences theme "Numix"   
    

    Optionen zur Theme-Auswahl im Gnome Tweak Tool, wobei die Option "Fenster-Thema" durch einen Bug fehlt (Klicken zum Vergrößern)

    2 Das Shell-Theme


    Bei dem Shell-Theme handelt es sich um ein weiteres Theme, das das Aussehen von Elementen der GNOME-Shell, wie etwa des Panels oder des Aktivitäten-Menüs, bestimmt. In Kombination mit den Numix-Fenster-Thema wird hierfür das Shell-Theme "Elegance Colors" empfohlen, das es erlaubt, die Darstellung der Shell-Elemente der des aktuell gesetzten Fenster-Themas anzupassen.

    Das Theme "Elegance Colors" steht unter diesem Link zum Download zur Verfügung. Alternativ ist es ebenfalls über das AUR verfügbar. Der folgende Befehl installiert es mittels Yaourt:
     $ yaourt -S gnome-shell-themes-elegance-colors  
    
    Nach der Installation kann das dazugehörige Konfigurations-Tool über die Suche gefunden und gestartet werden. Das Theme sollte anschließend im Gnome Tweak Tool unter der Kategorie "Thema", wie in dem oben gezeigten Screenshot dargestellt, für die Option "Shell-Thema" auswählbar sein. Dabei ist zu beachten, dass für die Verwendung von Shell-Themes die GNOME-Extension User Themes installiert sein muss. Falls ein Shell-Thema manuell installiert wurde, findet sich neben dieser Option ein Button über den manuell das Verzeichnis, in dem dieses Theme zu finden ist, gewählt werden kann.

    Im Konfigartions-Tool von Elegance Colors kann über die Option "Load config from preset" ein Fenster-Thema ausgewählt werden, dessen Aussehen für das Shell-Theme übernommen werden sollen. In diesem Fall muss hier dementsprechen "Numix" ausgewählt werden. Das Ergebnis sieht bereits sehr gut aus, wobei Kleinigkeiten anschließend manuell über das Tool angepasst werden können.

    Das Konfigurations-Tool des Shell-Themes "Elegance Colors" (Klicken zum Vergrößern)

    3 Das Icon-Theme


    Für das Fenster-Thema "Numix" werden mit dem "Numix-uTouch"-Icon-Theme, das unter diesem Link oder ebenfalls über das AUR zu finden ist, passende Icons angeboten. Außerdem gibt es eine zweite, schlichtere Variante dieses Icon-Themes, das mir persönlich besser gefällt und über den folgende Yaourt-Befehl installiert werden kann:
     $ yaourt -S numix-icon-theme-git  
    
    Wie alle Themes in diesem Artikel kann auch das Icon-Theme über die "Thema"-Kategorie des Gnome Tweak Tools gesetzt werden. Die dementsprechende Option lautet "Symbol-Thema". Falls ein Icon-Theme manuell heruntergeladen wurde, muss der entsprechende Ordner in das Verzeichnis /usr/share/icons/ kopiert werden, damit es in der Auswahl erscheint.

    4 Das Cursor-Theme


    Um das Aussehen der Desktopumgebung abzurunden, habe ich außerdem noch ein alternatives Cursor-Theme installiert, das den standardmäßigen, schwarzen Cursor durch eine hellere Variante ersetzt. Der Name dieses Themes lautet "Vanilla-DMZ". Es ist über den folgenden Befehl aus dem AUR installierbar:
     $ yaourt -S xcursor-vanilla-dmz  
    
    Anschließend kann es über die Option "Zeiger-Thema" der Kategorie "Thema" des Gnome Tweak Tools gesetzt werden. Manuell heruntergeladene Cursor-Themes müssen hierfür, wie auch Icon-Themes, in das Verzeichnis /usr/share/icons/ kopiert werden.

    5 Chrome-Theme


    Ergänzend soll an dieser Stelle erwähnt werden, dass ebenfalls ein Numix-Theme für den Chrome-Browser verfügbar ist. Wer also Chrome, bzw. Chromium im Zusammenspiel mit Numix verwendet, sollte einen Blick auf dieses Theme werfen, das hier zum Download bereit steht und den Browser optisch an das Fenster-Thema anpasst.

    Weiterführende Links:

    10. August 2013

    Arch Linux: Umstieg von Ubuntu auf Arch Linux - Fazit (Teil 7)

    In diesem finalen Artikel meiner Serie über den Umstieg von Ubuntu auf Arch Linux will ich nun ein persönliches Fazit und einen Ausblick auf meinen weiteren Weg mit der Distribution abgeben. Dabei kann gleich zu Anfang festgehalten werden: Arch hat mich überzeugt!

    1 Die Vorgeschichte


    Mein Weg zu Arch Linux war anfangs, wie wahrscheinlich für viele andere auch, sehr von Unerfahrenheit geprägt. Die ganze Geschichte fing an, als für mich, aufgrund von neuer Hardware, eine Neuinstallation meines Ubuntu-Systems bevorstand. Dieses System war über Jahre gelaufen und hatte so einige Update-Zyklen mitmachen müssen. Besonders nach dem Update auf Ubuntu 12.10 wurde es merklich unstabiler. Neben zunehmenden Abstürzen von Programmen und Diensten machte sich dies auch in einer spürbar schlechteren Performance bemerkbar. So konnte es nichts schaden, eine komplette Neuinstallation in Angriff zu nehmen, wo doch das Betriebssystem sowieso auf eine SSD verlagert werden sollte.

    Bei dieser Gelegenheit kam mir der Gedanke, ob es nicht an der Zeit wäre, auf eine andere Linux-Distribution, die sich mehr an fortgeschrittene Benutzer richtet und nicht so sehr unter der Vorherrschaft von Canonical und dessen zweifelhaften Entscheidungen leidet, zu wechseln. Denn, dass ich bei Linux bleiben werde, stand nie zur Debatte, nachdem mich Ubuntu vor Jahren erfolgreich aus dem Windows-Milieu befreit hatte. Die einzelnen Punkte, die mich an Ubuntu störten, habe ich bereits im ersten Teil dieser Serie erwähnt, weshalb ich an dieser Stelle nicht noch ein weiteres Mal darauf eingehen will. Es sei nur so viel gesagt, dass ich bereits von einigen anderen Umsteigern gelesen habe, die aus ähnlichen Gründen den Schritt von Ubuntu zu Arch gewagt haben, weshalb meine Aufmerksamkeit auf diese Distribution gefallen ist. Nach einigem inneren Gerangel und ersten Nachforschungen darüber, welche Vorteile ein solcher Wechsel für mich haben könnte, habe ich mich dann letztendlich dafür entschieden, Arch Linux zumindest einmal eine Chance zu geben, denn der Schritt zurück zu Ubuntu wäre zur Not schnell gemacht und wer sich einen fortgeschrittenen Linux-User nennen will, muss auch mal einen Blick auf andere Distributionen wagen.

    2 Erste Schritte


    So ging ich relativ unbedarft an die Installation meines neuen Arch-Systems, wobei ich dabei der schrittweisen Anleitung des Arch-Wikis gefolgt bin. Auf diese Weise ist die Installation nicht weiter schwierig und man lernt einige der wesentliche Bestandteile kennen, aus denen sich ein Linux-System zusammensetzt. Lediglich, wenn man von der Anleitung abweichende Anforderungen, wie etwa in meinem Fall die Verschlüsselung mittels LVM hat, muss man sich aus anderen Wiki-Artikeln die notwendigen Informationen zusammensuchen. Aufgrund der doch sehr langwierigen Anleitung, die jedoch sehr umfangreich ist und viele verschiedene Szenarios abdeckt, und eventuellen weiteren Nachforschungen im Wiki, dauert die Installation von Arch beim ersten Mal doch sehr lange im Vergleich mit anderen Distributionen. Insbesondere, wenn man sich dann mit unerwarteten Problemen konfrontiert sieht, in meinem Fall gab es beispielsweise eine Fehlermeldung bei der Installation von GRUB über die keine hilfreichen Informationen zu finden waren, weshalb ich letztendlich auf Syslinux umgestiegen bin, muss man einiges an Ausdauer und den Willen beweisen, selbst für die Funktionalität des Systems verantwortlich zu sein.

    Auch wenn man schließlich ein lauffähiges Arch Linux vor sich hat, wird man noch mit Problemen konfrontiert, die man so von anderen Distributionen nicht kennt, wie etwa, wenn sich Flash-Videos nach der manuellen Installation von eines Flash-Players nicht im Vollbildmodus abspielen lassen. Insbesondere, wenn man zuvor Ubuntu genutzt hat, das dem Benutzer die Installation solcher grundlegenden Funktionalitäten, wie Flash oder Audio-, bzw. Video-Codecs, abnimmt, sind diese zusätzlichen Aufgaben zur Konfiguration des Systems eher ungewohnt. Ein Blick in das sehr umfangreiche Arch-Wiki, welches an dieser Stelle ausdrücklich gelobt werden soll, schafft jedoch meist Abhilfe und bietet auch Lösungen für häufig auftretende Probleme. Dabei ist zu beachten, dass die englischsprachige Ausgabe deutlich umfangreicher ist als die deutsche, weshalb sie nach Möglichkeit vorzuziehen ist.

    3 Die Desktopumgebung als Kriterium


    Wenn man, wie ich, zuvor Ubuntu mit der Unity-Oberfläche genutzt hat, macht es bei einem solchen Umstieg Sinn, darüber nachzudenken, ob es nicht sinnvoll wäre, neben dem Basissystem auch die Desktopumgebung zu wechseln. Zunächst hatte ich vor, auch unter Arch Linux auf Unity als Benutzeroberfläche zu setzen, jedoch wurde mir klar, dass einige der kritischen Punkte, die ich und viele andere Linux-User bei der Entwicklung von Ubuntu beobachteten, mit der Einführung von Unity zusammenhängen. Damit meine ich nicht das Bedienkonzept, das zwar ebenfalls vielen nicht gefällt, mir persönlich aber weiterhin zusagt, sondern Kritikpunkte wie der leichtfertige Umgang mit Userdaten bei der integrierten Suche oder fehlende Einstellungsmöglichkeiten. Außerdem ist es zwar prinzipiell möglich, Unity unter Arch Linux zu installieren, jedoch traten in meinem Fall Probleme im Betrieb auf, die mir den Eindruck vermittelten, dass Unity explizit dafür entwickelt wurde, unter Ubuntu zu funktionieren, während die Unterstützung anderer Distributionen auf der Strecke blieb.

    Aus diesen Gründen entschied ich mich für den Wechsel zu einer anderen Desktopumgebung, wobei mir die Wahl hierfür nicht leicht fiel. Letztendlich habe ich mich für GNOME 3 entschieden und nach einigen Anpassungen, die zugegebenermaßen dazu dienen, Unity-Eigenschaften nachzuahmen, bin ich mit dieser Wahl sehr zufrieden. Zwar hat die Desktopumgebung nur entfernt etwas mit Arch Linux zu tun, jedoch ist sie die maßgebliche Schnittstelle zum Benutzer, mit der man Tag für Tag konfrontiert wird. Aus diesem Grund kann für einen Ubuntu-User, der den Umgang mit Unity gewohnt ist, der Umstieg auf Arch Linux unattraktiv werden, wenn die Desktopumgebung nicht ohne Probleme darauf lauffähig ist. GNOME konnte ich dagegen ohne Probleme installieren und starten, was wohl auch für die restlichen Desktopumgebungen der Fall sein wird. Letztendlich kann man diese vorbildliche Unterstützung als eine positive Eigenschaft von Arch Linux werten, während man unter Ubuntu eine solche Flexibilität zwar prinzipiell ebenfalls gegeben hat, die Erfahrung aber zeigt, dass die Verwendung alternativer Desktopumgebungen zu Problemen führen kann.

    Der GNOME-Desktop meines Arch Linux-Systems (Klicken zum Vergrößern)
    Die hier präsentierten Screenshots zeigen die von mir angepasste GNOME-Shell meines Arch Linux-Systems. Das verwendete Shell- und Icon-Theme heißt "Numix" und ist über die, am Ende dieses Artikels angegebenen, Links verfügbar. Die Downloads können jeweils auch über das AUR bezogen und installiert werden. Um solche Themes anzuwenden, verwendet man am Besten ein Programm wie z.B. das "gnome-tweak-tool", das über die offiziellen Repositories verfügbar ist.

    Das Aktivitäten-Menü von GNOME 3 (Klicken zum Vergrößern)

    Neben dem verwendeten Theme habe ich die GNOME-Shell auch über einige sogenannte GNOME-Extensions angepasst. Zu den so erreichten Modifikationen gehören z.B. das Ausblenden des Aktivitäten-Buttons, das Verschieben der Datums-Anzeige nach rechts, die Vergrößerung des App-Launchers oder das Anzeigen der Schaltflächen von maximierten Fenstern im GNOME-Panel. Dies ist notwendig, da durch eine Anpassung des verwendeten Themes die Titelleisten von maximierten Fenstern ausgeblendet werden. Passend zu diesem Verhalten, das man von Unity kennt und das auf dem folgenden Screenshot zu sehen ist, wurden die Fensterschaltflächen von rechts nach links verschoben.

    Darstellung eines maximierten Fensters, wobei die Titelleiste durch das GNOME-Panel ersetzt wird (Klicken zum Vergrößern)

    Bei Bedarf kann ich in einem gesonderten Artikel näher auf die einzelnen Maßnahmen eingehen, die nötig sind um die GNOME-Shell auf diese Weise anzupassen.

    4 Mein Fazit


    Zusammenfassend kann man sagen, dass der Weg zu einer selbst konfigurierten Arch-Installation besonders beim ersten Mal durchaus mühsam und langwierig sein kann. Wer jedoch gewillt ist, diese Mühen auf sich zu nehmen, bekommt am Ende ein selbst konfiguriertes, schlankes System, das nach individuellen Vorstellungen gestaltet werden kann und keinen unnötigen Ballast mit sich bringt. Für dieses Vorhaben sollte man neben ausreichend Zeit jedoch auch einiges an Linux-Erfahrung mit sich bringen, grundlegende Funktionsweisen von Linux kennen und sich insbesondere in einer Kommandozeilen-Umgebung gut zurecht finden. 

    Neben der höheren Einstiegshürde gilt auch, dass die Lernkurve im Umgang mit Arch am Anfang stärker ansteigend ist, als bei anderen Distributionen, wie etwa Ubuntu, die dafür ausgelegt sind, eine höhere Benutzerfreundlichkeit zu erreichen. Wenn man allerdings die anfänglichen Probleme überwunden hat und gängige Vorgehensweisen, wie etwa die Verwendung des Paketmanagers Pacman oder des AURs, verinnerlicht hat, ist die Bedienung von Arch Linux nicht komplizierter als von anderen Distributionen. Wenn man außerdem gerne weitreichende Veränderungen nach den eigenen Wünschen an der Desktopumgebung, aber auch besonders an grundlegenden Systemfunktionalitäten, vornimmt, bekommt man durch Arch Linux eine viel höhere Flexibilität in die Hand gelegt, denn man muss sich bewusst sein, dass die Benutzerfreundlichkeit von anderen Systemen dadurch erreicht wird, dass dem Benutzer standardmäßig viele Entscheidungen abgenommen werden für die darüber hinaus auch oftmals die Einstellungsmöglichkeiten fehlen.

    Dennoch verliert Ubuntu durch diese Vorteile keineswegs seine Daseinsberechtigung. Denn für Einsteiger und Durchschnittsbenutzer ist das Prinzip der Distribution durchaus besser geeignet. Lediglich, wenn man als fortgeschrittener Benutzer gewillt ist, Zeit und Mühen in ein selbst konfiguriertes System zu stecken, lohnt sich der Einsatz von Arch Linux. Für alle Anderen bleibt Ubuntu eine der besten Distributionen, die sich nicht umsonst einen großen, wenn nicht sogar den größten, Namen in der Linux-Landschaft gemacht hat.

    Ich habe dagegen für mich beschlossen, dass Arch Linux in Zukunft Ubuntu, zumindest als Produktivsystem, ablösen wird. Demzufolge werden in diesem Blog zukünftig wohl eher Artikel über Arch- statt über Ubuntu-Themen zu finden sein und auch über GNOME, welches ich durch den Wechsel neuerdings verwende, wird wahrscheinlich einiges folgen. Trotzdem werde ich die Entwicklung von Ubuntu weiterhin aufmerksam verfolgen und ich hoffe, dass sich Canonical der häufig geäußerten Kritikpunkte annimmt, so dass Ubuntu weiterhin uneingeschränkt empfohlen werden kann.

    Weiterführende Links:

    5. August 2013

    Arch Linux: Umstieg von Ubuntu auf Arch Linux - Das AUR nutzen (Teil 6)

    Nachdem im letzten Artikel dieser Serie über den Umstieg auf Arch Linux bereits dessen Paketmanager Pacman, mit dem sich Software aus Repositories installieren lässt, betrachtet wurde, soll sich dieser Artikel darum drehen, wie Software aus dem sogenannten AUR bezogen werden kann. Das AUR, oder "Arch User Repository" ist ein von der Community gepflegtes, weiteres Repository, in dem sogenannte PKGBUILDS angeboten werden, die es erlauben Programme zu bauen und anschließend zu installieren. Auf diese Weise ist es möglich, eine riesige Anzahl von zusätzlichen Programmen bequem zu beziehen.

    Die Webseite des Arch User Repositories (Klicken zum Vergrößern)

    Um Software elegant im AUR aufzufinden und installieren zu können, bietet sich das Kommandozeilen-Tool Yaourt an, das einen Wrapper für Pacman darstellt und dadurch die exakt gleichen Befehle unterstützt. Im Folgenden soll die Installation von Programmen aus dem AUR mit Hilfe von Yaourt anhand eines Beispiels erläutert werden.

    1 Installation von Yaourt


    Bevor man Yaourt nutzen kann, muss dieses zunächst installiert werden. Es ist selbst über das AUR zu beziehen, weshalb man dessen Installation ein erstes Mal manuell durchführen muss. Dies trägt zum Verständnis bei, wie Software aus dem AUR heruntergeladen, gebaut und installiert werden kann und verdeutlicht, welche Arbeitsschritte Yaourt später selbständig übernehmen wird.

    Zunächst muss sichergestellt sein, dass alle Pakete der Paketgruppe base-devel installiert sind. Anderenfalls lassen sie sich durch den folgenden Befehl über Pacman installieren:
     $ sudo pacman -S base-devel  
    
    Anschließend muss in ein Verzeichnis navigiert werden, in dem die Dateien heruntergeladen und gebaut werden sollen. In diesem Beispiel dient dafür das Verzeichnis "builds" innerhalb des Home-Ordners des Benutzers:
     $ cd ~/builds  
    

    Herunterladen der Build-Dateien


    Bei den Build-Dateien, die heruntergeladen werden müssen, handelt es sich um eine .tar.gz-Datei, die über die Webseite des AURs, bzw. dessen Suchfunktion gefunden werden kann. Die beiden Pakete, die für die Installation von Yaourt notwendig sind, sind package-query und yaourt selbst. Die jeweiligen Dateien können entweder jeweils über den Link "Tar-Archiv herunterladen" auf der rechten Seite der jeweiligen AUR-Seiteen heruntergeladen und anschließend in das zuvor gewählte Verzeichnis kopiert werden, oder per Konsole über die folgenden beiden Befehle unter Angabe einer URL bezogen werden:
     $ curl -0 https://aur.archlinux.org/packages/pa/package-query/package-query.tar.gz  
     $ curl -O https://aur.archlinux.org/packages/ya/yaourt/yaourt.tar.gz  

    Bauen und installieren des Pakets


    Die beiden heruntergeladenen Archive müssen zunächst folgendermaßen entpackt werden, wobei jeweils ein neuer Unterordner angelegt werden sollte:
     $ tar -xvzf package-query.tar.gz  
     $ tar -xvzf yaourt.tar.gz  
    
    Über den cd-Befehl muss nun zunächst in das Verzeichnis des Paketes package-query gewechselt werden:
     $ cd package-query
    
    Anschließend kann das Paket über folgenden Befehl gebaut werden:
     $ makepkg -s
    
    Dabei sollte eine Datei mit der Endung ".pkg.tar.gz" angelegt worden sein, die anschließend über Pacman installiert werden kann:
     $ sudo pacman -U package-query-1.2-2-x86_64.pkg.tar.xz  
    
    Mit der selben Vorgehensweise kann anschließend das Paket yaourt installiert werden. Zu dessen Installation muss das Paket package-query bereits installiert worden sein, da es als Abhängigkeit benötigt wird.
     $ cd ../yaourt  
     $ makepkg -s  
     $ sudo pacman -U yaourt-1.3-1-any.pkg.tar.xz  
    

    Benutzung von Yaourt


    Da Yaourt die selben Befehle nutzt wie Pacman, ist dessen Handhabung identisch. Im Folgenden soll die Installation eines Paketes aus dem AUR beispielhaft anhand des Programms "adb" (Android Debug Bridge), das die Kommunikation mit einem Android-Gerät erlaubt, gezeigt werden.

    Zunächst kann der Name des zu installierenden Pakets mithilfe des folgenden Befehls ausfindig gemacht werden:
     $ yaourt -Ss android debug bridge  
    
    Die Ausgabe dieses Befehls, der sowohl Paketnamen, als auch -beschreibungen durchsucht, lautet dabei wie folgt:
     aur/adb-git 20130531-1 [installed] (23)  
       adb (Android Debug Bridge CLI tool), an Android platform tool  
    
    Anschließend kann das gefundene Paket mit dem Namen "adb-git" über den folgenden Yaourt-Aufruf installiert werden:
     yaourt -S adb-git  
    
    Es wird dabei die Option angeboten, die jeweilige PKGBUILD-Datei zunächst in einem Editor zu öffnen, was über die Taste "n" in der Regel verneint werden kann. Nach einer Bestätigung über die "y"-Taste wird das Paket gebaut und anschließend über Pacman installiert.

    Installation des Pakets "adb-git" über Yaourt (Klicken zum Vergrößern)

    Mit Yaourt bietet sie unter Arch Linux ein eleganten Weg, über Source-Quellen bezogene, Programme zu installieren und anschließend zu aktualisieren. Es sollte jedoch beachtet werden, dass die zum Bauen verwendeten Skripte prinzipiell auch schädliche Befehle ausführen können, weshalb ein Yaourt- oder makepkg-Befehl niemals mit Root-Rechten ausgeführt werden sollte.

    Weiterführende Links: