26. Dezember 2013

GNOME: Chrome Web Apps in App-Launcher anzeigen

In diesem Artikel soll eine Möglichkeit vorgestellt werden, wie sogenannte "Google Chrome Apps" im App-Launcher der GNOME 3 Shell, der innerhalb des Aktivitäten-Menüs zur Verfügung steht, als Favoriten hinzugefügt werden können. Dadurch ist es möglich, Apps, wie z.B. Google Keep, Google Kalender oder Google Drive, unabhängig Google Chrome zu starten, wobei der Browser jedoch trotzdem auf dem System installiert sein muss. Der unten dargestellte Screenshot zeigt das Resultat der, im weiteren Verlauf dieses Artikels beschriebenen, Schritte.

Die Chrome-Apps Google Drive, Google Kalender und Google Keep im App-Launcher der GNOME-Shell (Klicken zum Vergrößern)

Die folgenden Schritte sind notwendig, um Google Chrome Apps im App-Launcher der GNOME-Shell als Favoriten anzuzeigen. Als Beispiel hierfür wird die App "Google Keep" herangezogen, die es erlaubt, in der Google-Cloud gespeicherte, Notizen zu erstellen.
  • Zunächst ist es notwendig die App, die zukünftig über den App-Launcher der GNOME-Shell unabhängig von Google Chrome gestartet werden soll, innerhalb des Browsers zu installieren.Verfügbare Chrome-Apps können in "Chrome Web Store", der unter dieser Adresse verfügbar ist, gefunden und installiert werden. Google Keep ist beispielweise innerhalb des Stores unter diesem Direktlink verfügbar und kann auf der entsprechenden Seite einfach per Klick auf die dementsprechende Schaltfläche installiert werden.
Die Chrome Web App "Google Keep" innerhalb des Google Web Stores (Klicken zum Vergrößern)
  • Alle installierten Chrome-Apps werden auf der Startseite des Chrome-Browsers angezeigt und können über die entsprechenden Icons innerhalb des Browsers gestartet werden. Um stattdessen eine Desktop-Verknüpfung anzulegen, über die die App außerhalb des Browsers gestartet werden kann, muss der Menüeintrag "Verknüpfung anlegen..." des Kontextmenüs gewählt werden, das über einen Rechtsklick auf ein solches Icon verfügbar ist. 
Kontextmenü einer Chrome-App innerhalb der Startseite des Browsers
  • In dem daraufhin angezeigten Dialog sollte die Option "Desktop" ausgewählt sein, die dafür sorgt, dass nach einem Klick auf die Schaltfläche "Erstellen" eine Datei mit der Endung .desktop in Verzeichnis, das den Desktop des aktuellen Benutzers repräsentiert, erstellt wird. In diesem Beispiel handelt es sich hierbei um das Verzeichnis "Schreibtisch" innerhalb des Home-Verzeichnisses.
Dialog zum Erstellen einer Desktop-Verknüpfung zu einer Chrome Web App (Klicken zum Vergrößern)
  • Der Dateiname der auf diese Weise erstellten Verknüpfung enthält eine unleserliche Kombination von Buchstaben und Zahlen und sollte daher umbenannt werden. Der Dateiname kann hierbei beliebig gewählt werden, wobei jedoch die Dateiendung .desktop erhalten bleiben muss. Der folgende Befehl zeigt, wie eine solche Datei mit Hilfe der Konsole umbenannt werden kann:
     $ mv ~/Schreibtisch/chrome-hmjkmjkepdijhoojdojkdfohbdgmmhki-Default.desktop ~/Schreibtisch/google-keep.desktop  
    
  • Anschließend muss die umbenannte Datei in das Verzeichnis ~/.local/share/applications/ verschoben werden, was über den folgenden Konsolenbefehl bewerkstelligt werden kann:
     $ mv ~/Schreibtisch/google-keep.desktop ~/.local/share/applications/   
  • Um diese Verknüpfungen als Icons innerhalb des App-Launchers der GNOME-Shell anzuzeigen, muss in diesem letzten Schritt der Konfigurationseditor "dconf" genutzt werden. Hierzu müssen die Dateinamen der zuvor erstellten Datei zu dem Wert favorite-apps, der sich unter dem Eintrag org/gnome/shell befindet, hinzugefügt werden. In diesem Beispiel handelt es sich hierbei um den Dateinamen google-keep.desktop, der durch ein Komma getrennt und in Anführungsstrichen ('...') innerhalb der eckigen Klammern ([...]) angegeben werden muss. Der neue Eintrag sollte anschließend unmittelbar in dem App-Launcher der Shell sichtbar werden.
    Der Eintrag "org/gnome/shell/favorite-apps" im dconf-Editor (Klicken zum Vergrößern)
Die hier beschriebene Möglichkeit hat außerdem den positiven Nebeneffekt, dass alle Verknüpfungen zu Chrome-Apps, die sich innerhalb des Verzeichnisses ~/.local/share/applications/ befinden, auch über die Suche der GNOME-Shell auffindbar sind, wie es durch den unten stehenden Screenshot gezeigt wird. 

Chrome Web Apps als Suchergebnisse innerhalb der GNOME-Shell (Klicken zum Vergrößern)

Wird eine Chrome-App wie Google Keep über eine solche Verknüpfung, entweder über den App-Launcher oder die GNOME-Suche, gestartet, wird diese unabhängig von eventuell geöffneten Instanzen des Chrome-Browsers angezeigt. Es somit also nicht weiterhin nötig, den Browser zu starten um den entsprechenden Service nutzen zu können. Der unten stehende Screenshot zeigt das Erscheinungsbild von Google Keep, wenn es über eine solche Verknüpfung gestartet wurde.

Google Keep als eigenständige Anwendung (Klicken zum Vergößern)

Weiterführende Links:

7. November 2013

Linux: Datei in Terminal rekursiv nach ihrem Namen finden

Im Folgenden soll ein kurzer Tipp vorgestellt werden, der die alltägliche Arbeit im dem Terminal unter Linux erleichtern kann. Es geht dabei darum, wie ein Ordner und seine Unterordner über einen einfachen Befehl nach einer Datei durchsucht werden kann, wenn deren Name oder Teile von diesem bekannt sind.

Der folgende Befehl durchsucht alle Unterordner des aktuellen Verzeichnisses nach einer Datei mit dem Namen "test.txt":
 $ find . -name "test.txt"  
Um die Suche in einem anderen Wurzelverzeichnis zu starten, kann folgendermaßen ein entsprechender Pfad angegeben werden:
 $ find /home/user -name "test.txt"  
Wenn nur Teile des Dateinamens der gesuchten Datei bekannt sind oder mehrere Dateien gefunden werden sollen, deren Dateinamen ähnlich sind, kann dies durch Setzen des Zeichens * erreicht werden. Durch Verwendung des *-Zeichens werden alle Dateien in das Suchergebnis einbezogen, deren Dateiname an der Stelle, an der das Zeichen steht, beliebige Zeichen enthält. Der folgende Befehl wird beispielsweise alle Dateien als Ergebnis zurückliefern, die mit der Dateiendung ".txt" enden:
 $ find . -name "*.txt"  
Für die Angabe des gesuchten Dateinamens können desweiteren beliebige reguläre Ausdrücke verwendet werden. Es existieren außerdem weitere alternative Parameter zu "-name", die es beispielsweise erlauben, nach Dateien mit einer bestimmten Größe zu suchen. Eine ausführlichere Anleitung zu der Verwendung des find-Befehls findet sich unter dieser Adresse.

Beispielhafte Verwendung des find-Befehls in einem Linux-Terminal (Klicken zum Vergrößern)

Weiterführende Links:

2. Oktober 2013

Linux: Backup einer Festplatte erstellen mit dd

Um unter Linux ein Backup einer Festplatte zu erstellen bietet sich der Befehl dd (Abk. für Diskdump) an. Das Programm erstellt eine 1:1-Kopie der kompletten Festplatte indem es diese Byte für Byte in eine Image-Datei kopiert.

Erstellen eines Festplatten-Backups


Um eine Festplatte mittels dd zu spiegeln darf diese nicht in das Dateisystem eingehängt sein. Es ist also nicht möglich von einem System aus diejenige Festplatte zu sichern auf der das Linux-Betriebssystem installiert ist. Für einen solchen Fall kann das Backup etwa von einer Live-CD ausgeführt werden. Die Festplatte auf der das Backup-Image erstellt werden soll muss dagegen mit Schreibrechten eingehängt sein und über mindestens so viel Speicherplatz verfügen wie die zu sichernde Platte. Um alle vorhandenen Festplatten und Partitionen anzuzeigen ist der folgende Befehl nützlich, der mit Root-Rechten ausgeführt werden muss:
 # fdisk -l  
Um stattdessen nur diejenigen Partitionen anzuzeigen, die momentan in das Dateisystem eingehängt sind, kann der folgende Befehl genutzt werden:
 $ mount -l  
Falls Partitionen der Festplatte, die gesichert werden soll, noch gemountet sind, lassen sich diese über den folgenden Befehl aushängen. Die Bezeichnung /dev/sdb1 ist dabei durch die tatsächliche Bezeichnung der Partition zu ersetzen.
 # umount /dev/sdb1  
Um die Festplatte, auf der das Backup gespeichert werden soll, einzuhängen kann der folgende Befehl genutzt werden. Bei /dev/sdc1 handelt es sich dabei um die Bezeichnung der Partition, die gemountet werden soll, /media/sdc1 definiert das Verzeichnis unter dem die Partition eingehängt werden soll.
 # mount -t ext3 /dev/sdc1 /media/sdc1  
Nähere Informationen über das Mounten, bzw. Unmounten von Partitionen unter Linux finden sich unter diesem Link.

Beispielhafte Ausgabe des Befehls fdsisk -l (Klicken zum Vergrößern) 

Erstellen eines unkomprimierten Backups


Nachdem die Bezeichnungen der zu sichernden Festplatte und der Partition, auf der das Backup-Image erstellt werden soll, identifiziert wurde und sichergestellt ist, dass die betroffenen Partitionen wie bereits beschrieben aus-, bzw. eingehängt sind, kann ein unkomprimiertes Backup über den folgenden Konsolenbefehl erstellt werden:
 # dd if=/dev/sdb of=/media/sdc1/backup.img bs=4M  
Der Parameter if gibt die Festplatte an, die gesichert werden soll, of bezeichnet die Partition auf die die Sicherung kopiert werden soll und bs legt fest, wie groß die Blöcke sein sollen, die auf einmal kopiert werden. Dieser Wert bestimmt die Geschwindigkeit des Kopiervorgangs, wobei ausprobiert werden sollte, mit welchem Wert die Sicherung am schnellsten abläuft. Der Backup-Vorgang dauert je nach Festplattengröße eine bestimmte Zeit, während der es so scheint, als würde das Programm nicht mehr reagieren.


Erstellen eines komprimierten Backups


Um das Backup zusätzlich mittels gzip zu komprimieren kann der folgende Befehl genutzt werden:
 # dd if=/dev/sdb bs=4M | gzip > /media/sdc1/backup.img.gz  
Somit kann der Speicherplatz, den das Backup benötigt, verringert werden, was jedoch zu einer zeitaufwändigeren Erstellung führt.

Wiederherstellen eines Backups


Ein unkomprimiertes Backup lässt sich über den folgenden Befehl wiederherstellen. Die Partition auf der sich die Sicherung befindet muss hierfür gemountet sein (in diesem Beispiel unter /media/sdc1), während die Festplatte auf die das Backup zurückgespielt werden soll (hier /dev/sdb) ausgehängt sein muss.
 # dd if=/media/sdc1/backup.img of=/dev/sdb bs=4M  
Um stattdessen ein Backup wiederherzustellen, das wie oben beschrieben komprimiert wurde, kann der folgende Befehl genutzt werden:
 # gunzip -c /media/sdc1/backup.img.gz | dd of=/dev/sdb bs=4M  

Weiterführende Links:

24. September 2013

GNOME: Titelleiste von maximierten Fenstern ausblenden auf Multi-Monitor-Systemen

Bereits in diesem Artikel wurde eine Möglichkeit vorgestellt, wie die Titelleisten von maximierten Fenstern ausgeblendet und deren Titel und Schaltflächen stattdessen in dem Top-Panel der GNOME-Shell angezeigt werden können, um wertvollen vertikalen Platz auf dem Bildschirm zu sparen. Wie jedoch anschließend im Fazit der Artikelserie, zu der dieser Artikel gehört, festgestellt wurde, eignet sich diese Möglichkeit weniger für Systeme, die Gebrauch von mehreren Monitoren machen, da die Titelleisten von maximierten Fenstern, die sich auf Monitoren befinden auf denen kein Panel angezeigt wird, ebenfalls ausgeblendet werden und deren Titel und Fenster-Schaltflächen dadurch verloren gehen. Aus diesem Grund habe ich einige bereits existieren Gnome Shell Extensions so modifiziert, dass es möglich ist, dass die Titelleisten von maximierten Fenstern, die sich auf dem Monitor befinden auf dem das Top-Panel der GNOME-Shell angezeigt wird, ausgeblendet werden, während die Titelleisten von Fenstern auf den übrigen Monitoren erhalten bleiben. In diesem Artikel sollen diese Shell-Erweiterungen vorgestellt werden und ihre Verwendung erläutert werden. Auf den unten dargestellten Screenshots ist das Ergebnis zu sehen, das dadurch erreicht werden kann.

Maximierte Fenster auf einem Dual-Monitor-System (Klicken zum Vergrößern)

Die Darstellung des GNOME-Panels wenn auf dem entsprechenden Monitor kein Fenster maximiert ist (Klicken zum Vergrößern)

Die Erweiterung "Hide Titelbar"


Die Gnome Shell Extension "Hide Titlebar" ist ein Fork der bereits bestehenden Extension "Maximus", die es erlaubt die Titelleisten von maximierten Fenstern auszublenden. Deren Konfigurationsdialog wurde, wie es auf dem unter diesem Abschnitt dargestellten Screenshot zu sehen ist, um Einstellungsmöglichkeiten erweitert, die es erlauben, dass nur Fenster berücksichtigt werden, die sich auf dem Monitor befinden, der das Top-Panel der GNOME-Shell beinhaltet. Außerdem lässt sich festlegen um welchen Monitor es sich dabei handelt.

Der Konfigurationsdialog der Gnome Shell Extension "Hide Titlebar" (Klicken zum Vergrößern)

Wenn die entsprechende Option aktiviert ist, werden nur die Titelleisten von Fenstern, die sich auf dem Monitor, der das GNOME-Panel beinhaltet, befinden, ausgeblendet. Die übrigen Fenster bleiben unangetastet und deren Titelleisten, samt Titel und Schaltflächen, werden somit weiterhin angezeigt. Die Gnome Shell Extension bietet ihrem Original entsprechend außerdem die Möglichkeiten auch die Titelleisten von teilweise maximierte Fenster auszublenden und eine Black- bzw. Whitelist für bestimmte Fenster zu definieren.

Da die hier genannten Erweiterungen zum Zeitpunkt der Veröffentlichung dieses Artikels noch nicht auf der Webseite extensions.gnome.org, von der aus Gnome Shell Extensions bequem aus dem Broweser heraus installiert werden können, freigegeben wurden, muss die Extension stattdessen über diesen Link als zip-Archiv manuell heruntergeladen und installiert werden. Unter dieser Adresse ist der Source-Code der Erweiterung außerdem auf Sourceforge verfügbar. Nachdem die Datei heruntergeladen wurde, kann sie über die folgenden Konsolenbefehle entpackt und installiert werden, wobei die Extension exklusiv für den aktuellen Benutzer in dem Verzeichnis ~/.local/share/gnome-shell/extensions installiert wird. Der Dateiname des zip-Archivs muss hierbei eventuell an die jeweilige Version angepasst werden.
 $ unzip gnome-shell-extension-hide-titlebar-v.1.0.zip  
 $ cd gnome-shell-extension-hide-titlebar  
 $ ./INSTALL.sh  
Nach die Shell-Erweiterung auf diese Weise installiert wurde, kann sie über ein Programm wie beispielsweise "Gnome Tweak Tool" aktiviert werden und deren Konfiguration angepasst werden.

Die Erweiterung "Buttons to Panel"


Um nicht nur die Titelleisten von maximierten Fenstern auszublenden, sondern auch deren Schaltflächen im Top-Panel der GNOME-Shell anzuzeigen kann die Gnome Shell Extension "Buttons to Panel" genutzt werden, bei der es sich um einen Fork der Extension "Window Buttons" handelt. Auch diese Shell-Extension wurde so erweitert, dass es möglich ist, dass nur Fenster berücksichtigt werden, die sich auf dem Monitor befinden, der das GNOME-Panel beinhaltet. Der entsprechende Konfigurationsdialog ist auf dem unten dargestellten Screenshot zu sehen.

Der Konfigurationsdialog der Gnome Shell Extension "Buttons to Panel" (Klicken zum Vergrößern)

Für Auswahl, wann die Fenster-Schaltflächen im Top-Panel der GNOME-Shell dargestellt werden sollen, sollte die Option "any window maximized" gewählt werden, so dass diese immer angezeigt werden wenn ein Fenster auf dem entsprechenden Monitor maximiert ist, selbst wenn es sich hinter einem nicht maximierten Fenster befindet. Außerdem bietet der Konfigurationsdialog die Möglichkeit die Position der Schaltflächen im Panel zu bestimmen und ein bestimmtes Button-Thema zu wählen.

Die Gnome Shell Extension "Buttons to Panel" kann unter diesem Downloadlink heruntergeladen werden und ist darüber hinaus unter dieser Adresse auf Sourceforge verfügbar. Nachdem das zip-Archiv heruntergeladen wurde, kann es über die folgenden Konsole, die in einem Terminal ausgeführt werden müssen, entpackt und die Erweiterung installiert werden.Der konkrete Dateiname des zip-Archivs muss dabei eventuell angepasst werden.
 $ unzip gnome-shell-extension-buttons-to-panel-v.1.0.zip  
 $ cd gnome-shell-extension-buttons-to-panel  
 $ ./INSTALL.sh  
Um die Shell-Extension zu aktivieren bedarf es ebenfalls eines Programms wie z.B. "Gnome Tweak Tool", über das auch deren Einstellungen erreichbar sind.

Die Erweiterung "Title to Panel"


Standardmäßig wird im Top-Panel der GNOME-Shell lediglich der Name der aktuell aktiven Anwendung angezeigt. Um stattdessen den kompletten Titel des aktuell maximierten Fensters dort anzuzeigen, kann die Gnome Shell Extension "Title to Panel" genutzt werden, bei der es sich um einen Fork der Extension "Status Title Bar" handelt. Die Einstellungsmöglichkeiten der Shell-Erweiterungen wurden im Vergleich zum Original um Möglichkeiten ergänzt, nur maximierte Fenster, die sich auf dem Monitor befinden, der das GNOME-Panel beinhaltet, zu berücksichtigen. Der Einstellungsdialog der Extension ist auf dem unten dargestellten Screenshot zu sehen. Die Standardeinstellungen der Erweiterung entsprechen bereits der empfohlenen Konfiguration.

Der Konfigurationsdialog der Gnome Shell Extension "Title to Panel" (Klicken zum Vergrößern)

Um die Gnome Shell Extension zu installieren ist es zunächst notwendig die entsprechende zip-Datei unter diesem Link herunterzuladen. Sie ist außerdem unter dieser Adresse auf Sourceforge frei verfügbar. Über die folgenden Konsolenbefehle kann die Extension installiert werden. Der Dateiname der zip-Datei muss hierbei eventuell angepasst werden.
 $ unzip gnome-shell-extension-title-to-panel-v.1.0.zip  
 $ cd gnome-shell-extension-title-to-panel  
 $ ./INSTALL.sh  
Für die Aktivierung der Extension ist ein Programm wie "Gnome Tweak Tool" notwendig, über das auch deren Einstellungen erreichbar sind.

Zur Verwendung der Extension "Title to Panel" werden außerdem die Extensions "Extend Left Box" und "Frippery Move Clock" empfohlen. Erstere sorgt dafür, dass der Titel, der in dem Top-Panel der GNOME-Shell dargestellt wird, den kompletten verfügbaren horizontalen Platz einnehmen kann, letztere verschiebt die Uhr, die standardmäßig in der Mitte des Panel dargestellt wird, nach rechts um weiteren Platz zu schaffen.

Weiterführende Links:

16. September 2013

Arch Linux: Der Weg zu "meinem" GNOME - Fazit (Teil 7)

Abschließend zu dieser Serie, in der ich einige Anpassungen vorgestellt habe, die ich an meiner GNOME-Shell unter Arch Linux vorgenommen habe, möchte ich nun in diesem letzten Artikel ein persönliches Fazit zu GNOME 3 ziehen.

Als GNOME in der Version 3.0 erschienen ist, habe ich mir die Desktopumgebung bereits angeschaut, jedoch ziemlich schnell beschlossen, dass sie mir überhaupt nicht gefällt. Im Zuge meines Umstiegs auf Arch Linux, über den ich auch in diesem Blog berichtet habe, habe ich es allerdings erneut gewagt einen Blick auf die aktuelle GNOME-Shell zu werfen, da ich mit der Entwicklung von Canonical's Unity-Oberfläche, die ich zuvor unter Ubuntu genutzt habe, nicht mehr zufrieden war. Und wider Erwarten hat das aktelle GNOME einen deutlich besseren Eindruck bei mir hinterlassen, als ich ihn in Erinnerung hatte. Ich kann nicht genau sagen, was sich seitdem geändert hat, jedoch muss die Desktopumgebung einen deutlich gereifteren Eindruck gemacht haben und somit mir für den täglichen Gebrauch als besser geeignet erschienen sein. Zwar gibt es eine ganze Reihe von Designentscheidungen, die ich für falsch halte, jedoch bietet die Anpassbarkeit über Gnome Shell Extensions eine Möglichkeit diese auszugleichen.

Das Erscheinungsbild


Mein erster Gedanke, wenn ich die Standard-GNOME-Shell sehe, ist, dass mir das Standard-Thema überhaupt nicht gefällt, weil die Titelleisten von Fenstern meiner Meinung nach ziemlich hässlich aussehen und viel zu groß sind. Überhaupt scheinen die Entwickler an unnötigen Stellen an Platz zu sparen um ihn stattdessen an anderen Stellen regelrecht zu verschwenden. So kann ich die Entscheidung nicht nachvollziehen, warum standardmäßig nur noch die Schließen-Schaltfläche in der Titelleiste von Fenstern angezeigt wird, wo doch dort genug Raum für alle drei herkömmlichen Schaltflächen wäre, während die Aktivitäten-Schaltfläche im Top-Panel dauerhaft angezeigt wird, obwohl der Benutzer bereits nach einer sehr kurzen Eingewöhnungsphase weiß, wie man das Aktivitäten-Menü erreicht und welche Funktion es besitzt. Glücklicherweise lässt sich das Fenster-Thema sehr leicht anpassen und auch die Fenster-Schaltflächen lassen sich auf den gewohnten Zustand zurück versetzen. Und für andere Anpassungen, wie etwa dem Ausblenden der Aktivitäten-Schaltfläche, gibt es, wie bereits erwähnt, zahlreiche Shell-Erweiterungen.

Das Benachrichtigungssystem


Über das neue Benachrichtigungssytem kann man sich sicherlich streiten. Die Entwicklung auch bei anderen Desktopumgebungen, wie z.B. Unity, geht weg von einem System-Tray, hin zu einem alternativen System, wie der Benachrichtungsleiste von GNOME. Ich bin ebenfalls der Meinung, dass ein System-Tray, in dem jedes Programm seine Benachrichtigungen und Icons ablegen darf, nicht mehr zeitgemäß ist, weil es schnell überfüllt ist. Jedoch möchte ich mir die Möglichkeit offen halten, wenige ausgewählte Programm dort stets zugänglich anzuzeigen. Die Tray-Icons übriger Anwendungen kann man in deren Einstellungen üblicherweise deaktivieren. Um dieses Verhalten zu erreichen gibt es ebenfalls einen relativ einfachen Weg, der in dieser Serie von Artikeln vorgestellt wurde.

Das Aktivitäten-Menü


Ansonsten machte die GNOME-Shell bei mir einen sehr stabilen Eindruck und läuft stets flüssig. Auch die  von vielen geäußerte Kritik über das Fehlen einer Übersicht der aktuell geöffneten Programme, kann ich nicht teilen, da dies durch das Aktivitäten-Menü meiner Meinung nach ausreichend abbildet wird. Abgesehen davon lässt sich diese fehlende Funktion ebenfalls über eine Shell-Erweiterung in Form einer Task-Leiste nachrüsten. Ich würde mir lediglich wünschen, dass zwischen den Programmen, die in der Aktivitäten-Übersicht angezeigt werden, mit der Tastatur umgeschalten werden kann. Überhaupt gefällt mir das Konzept des Aktivitäten-Menüs sehr gut und beispielsweise besser als das des Dashboards in Unity, welches ich nur sehr ungern benutzt habe. Es bietet eine Übersicht über alle geöffneten Programme, die aktuellen Workspaces und erlaubt es, die meist genutzten Programme zu starten, womit es für mich alle Funktionen abdeckt, die ich von einer solchen Funktion erwarte. Insbesondere die Suche funktioniert sehr zuverlässig und schnell und im Vergleich mit Unity muss lobenswert erwähnt werden, dass dort glücklicherweise auf die Einbeziehung von zweifelhaften Online-Suchergebnissen verzichtet wird. Als weitere Verbesserung des Aktivitäten-Menüs könnte darüber nachgedacht werden, ob das Dock, über das die favorisierten Programme gestartet werden können, nicht auch durch eine Bewegung der Maus an den linken Bildschirmrand angezeigt werden können soll. Dies ist ebenfalls über eine Erweiterung namens "Dash to Dock" möglich, die es darüber hinaus auch erlaubt, die aktuell geöffneten Programm ebenfalls anzuzeigen. Damit würde das Dock der Sidebar von Unity ähneln und den Kritikern, die das Fehlen einer Task-Leiste bemängeln, könnte der Wind aus den Segeln genommen werden.

Globale Titelleisten


Was mir ebenfalls sehr bald negativ auffiel war, dass die Titelleisten der meisten Programm unnötig Platz wegnehmen, wenn sie maximiert sind. Meiner Meinung bietet es sich bei einer Desktopumgebung, die über ein Top-Panel verfügt, an, dass die Fenster-Schaltflächen und der Fenstertitel von maximierten Programmen in eben diesem Panel angezeigt wird, was, insbesonders bei den heute üblichen breitformatigen Monitoren, wertvollen vertikalen Platz einsparen würde. Ich halte die Wahrscheinlichkeit, dass ein solches Verhalten Einzug in kommende Versionen von GNOME finden wird, jedoch für ziemlich gering, da der Top-Leiste von Seiten der Entwickler, durch das Anzeigen der Aktivitäten-Schaltfläche und der Uhrzeit in der Mitte des Panels, eine andere Funktion eingeräumt wurde. In einem Artikel dieser Serie habe ich eine Möglichkeit vorgestellt, wie eine solche Nutzung des Top-Panels als globale Titelleiste, erreicht werden kann. Dieses Vorgehen besitzt jedoch, wie ich zugeben muss, deutliche Nachteile bei der Verwendung mit mehreren Monitoren, da die Titelleisten von Fenstern, die sich nicht auf dem primären Monitor befinden, ebenfalls ausgeblendet werden und diese deshalb nur über die Schaltflächen im Panel, das sich auf einem anderen Monitor befindet, geschlossen werden können. Falls ich eine Möglichkeit finden sollte, wie dieses Problem behoben werden kann, werde ich einen dementsprechenden Artikel auf diesem Blog veröffentlichen.

Fazit


Als letztendliches Fazit über GNOME 3 kann gesagt werden, dass ich wohl bei dieser Desktopumgebung bleiben werde. Man bekommt eine moderne, performante Shell angeboten, die über eine Vielzahl von verfügbaren Shell-Erweiterungen an die eigenen Wünsche angepasst werden kann. Diese Möglichkeit ist für mich der Punkt, weshalb sich die GNOME-Shell, trotz weitreichender Kritik, relativ großer Beliebtheit erfreut. Der Ehrlichkeit wegen muss ich jedoch zugeben, dass ich GNOME nicht nutzen würde, wenn diese Möglichkeit nicht bestehen würde.

Als Abschluss dieser Artikelserie über die Veränderungen, die ich an meiner GNOME-Shell vorgenommen habe, sind im Folgenden noch einige Screenshots als Impressionen zu sehen.

Der Desktop meiner GNOME-Shell (Klicken zum Vergrößern)

Das Dock meiner GNOME-Shell (Klicken zum Vergrößern)

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

Darstellung der Titelleiste eines maximierten Fensters im Top-Panel (Klicken zum Vergrößern)

Arch Linux: Der Weg zu "meinem" GNOME - Benutzerdefinierte Tray-Icons (Teil 6)

Seit GNOME 3 werden von der Desktopumgebung keine Programm-Icons mehr im Top-Panel erlaubt, stattdessen wurde ein alternatives Benachrichtungssystem implementiert, das vorsieht, dass Benachrichtigungen von Programmen in einer speziell dafür geschaffenen Benachrichtungsleiste am unteren Bildschirmrand angezeigt wird. Hinweise über vorliegende Benachrichtigungen in dieser Leiste werden im Aktivitäten-Menü und auf dem Sperrbildschirm angezeigt und die Leiste selbst wird sichtbar, indem man den Mauszeiger an den unteren Bildschirmrand bewegt. Im Top-Panel werden dagegen nur noch wenige ausgewählte Icons angezeigt, wie z.B. diejenigen zum aktuellen Netzwerkstatus, der Lautstärken-Kontrolle oder dem Akku-Zustand.

Die Benachrichtigungsleiste von GNOME 3 (Klicken zum Vergrößern)

Mir persönlich gefällt dieses Verhalten nicht, da ich stattdessen lieber diejenigen wenigen Programme, die dauerhaft im Hintergrund laufen und von denen ich regelmäßig Benachrichtigungen erwarte, über ein Tray-Icon im Top-Panel zur Verfügung habe und auch dort gerne sofort sichtbar über vorliegende Benachrichtigungen informiert werde. Aus diesem Grund sollen in diesem sechsten Artikel der Serie über die Veränderungen, die ich unter der GNOME-Shell meines Arch Linux-Systems vorgenommen habe, gezeigt werden, wie man die Benachrichtungsleiste von GNOME 3 deaktivieren kann und stattdessen die Tray-Icons ausgewählter Programme dauerhaft im Top-Panel anzeigen lassen kann. Zu diesen, im Folgenden angesprochenen Programmen, die automatisch beim Systemstart im Hintergrund gestartet werden sollen und in dem Top-Panel als Icon verfügbar sein sollen, gehören der Media Player "Banshee", der Mail-Client "Thunderbird", der Instant Messenger "Pidgin" und der Cloud-Speicher-Client "Dropbox".  Die PopUp-Benachrichtigungen, die von allen Programmen ausgegeben werden können, sollen von den vorgenommenen Änderungen nicht unterbunden werden. 

Tray-Icons im Top-Panel erlauben


Um trotz des Paradigmenwechsels, der mit GNOME 3 Einzug fand, Tray-Icons im Top-Panel zu erlauben, existieren verschiedene GNOME Shell Extensions. Ich habe mich für die Extension "TopIcons" entschieden, die bereits in dem vergangenen Artikel, über die von mir verwendeten Shell-Erweiterungen, erwähnt wurde. Sie ist über diesen Link verfügbar und kann bei installiertem "Gnome Shell Integration"-PlugIn direkt aus dem Browser heraus aktiviert werden. Die Erweiterung verfügt über keinerlei Einstellungsmöglichkeiten und sorgt dafür, dass die Tray-Icons aller Anwendungen, die eine solche Funktionalität mit sich bringen, im Top-Panel angezeigt werden.

Dropbox


Der Client für den Cloud-Speicher-Service "Dropbox", der es ermöglicht, die Dateien innerhalb eines lokalen Ordners auf dem System autmatisch mit den Daten in der Cloud zu snychronisieren, ist über das AUR verfügbar. Laut der Installationsanleitung in diesem Artikel des Arch-Wikis soll neben dem Paket dropbox auch nautilus-dropbox installiert werden um eine bessere Integration in den GNOME-Dateimanager "Nautilus" zu erreichen. Die beiden Pakete können mittels des Kommandozeilentools "yaourt" über den folgenden Befehl installiert werden.
 $ yaourt -S dropbox nautilus-dropbox  
Wenn das Paket nautilus-dropbox ebenfalls installiert wurde, sollte ein neuer Autostart-Eintrag angelegt worden sein, der Dropbox beim Systemstart automatisch über den Befehl dropboxd im Hintergrund startet. In diesem Fall sollte Dropbox nach einem Neustart des Systems gestartet werden und nach der Anmeldung mit den persönlichen Benutzerdaten sollte die Synchronisation zwischen dem lokalen Ordner und der Cloud funktionieren. Die Existenz eines solchen Autostart-Eintrags lässt sich über die GNOME-Startprogrammeinstellungen überprüfen, die über den folgenden Befehl gestartet werden können. Falls in der Liste der Startprogramme kein solcher Befehl existiert muss er manuell angelegt werden.
 $ gnome-session-properties  
Bei aktivierter TopIcons-Erweiterung sollte nach dem Start des Services das Dropbox-Symbol im Top-Panel angezeigt werden. Wie zu Beginn dieser Artikelserie bereits erwähnt nutze ich das Fenster- und Icon-Thema "Numix" im Zusammenspiel mit dem Shell-Thema "EleganceColors", das das GNOME-Top-Panel farblich passend in einem sehr dunklen Grau erscheinen lässt. Im "Numix"-Icon Thema sind bereits Tray-Icons für Dropbox enthalten aber diese passen aufgrund ihrer Helligkeit leider nicht zu einem solch dunklen Panel. Aus diesem Grund habe ich diese Icons so angepasst, dass sie auch in einem dunklen Panel sehr gut sichtbar sind. Unter diesem Download-Link ist das "Numix - Dropbox Tray Icons" genannte Icon-Pack als zip-Archiv verfügbar. Nach dem Herunterladen des Archivs, lässt es sich über die folgenden Konsolenbefehle entpacken und anschließend installieren, wobei der Dateinamen der zip-Datei eventuell an die jeweilige Version anzupassen ist. Die originalen Icons des "Numix"-Icon Themas werden dadurch überschrieben.
 $ unzip numix-dropbox-tray-icons-v.1.0.zip  
 $ cd numix-dropbox-tray-icons  
 $ sudo ./INSTALL.sh  
Die Änderungen werden eventuell erst nach einem Neustart der GNOME-Shell sichtbar. Ein solcher Neustart lässt sich erzwingen, indem man die Tastenkombination Alt + F2 drückt, in den erscheinenden Dialog den Befehl "r" eingibt und anschließend mit der Enter-Taste bestätigt.

Das Icon-Pack enthält drei verschiedene Icons, die unten abgebildet sind. Dazu gehören (von links nach rechts) ein Standard-Icon, ein Icon, das bei laufender Synchronisation angezeigt wird und ein Icon, das darauf hinweist, dass bei der Synchronisation ein Fehler aufgetreten ist.

Eine Vorschau über die, in "Numix - Dropbox Tray Icons" enthaltenen, Symbole

Banshee


Auch der Media-Player "Banshee" soll beim Start meines Arch Linux im Hintergrund gestartet werden und als Symbol im GNOME-Top-Panel verfügbar sein. Er ist über das offizielle Repository "extra" verfügbar und kann dementsprechend über folgenden Befehl über den Paketmanager "Pacman" installiert werden:
 $ sudo pacman -S banshee  
Insofern die Erweiterung "Symbol im Benachrichtigungsfeld" in den Einstellungen von Banshee aktiviert ist, zeigt auch Banshee ein Tray-Icon an. Um diese Einstellung zu überprüfen, können die Einstellungen über den Menüeintrag "Bearbeiten"  "Einstellungen" geöffnet werden. Unter dem Reiter "Erweiterungen" ist eine Liste aufgeführt, die alle installierten Erweiterungen enthält.

Liste aller installierten Erweiterungen in den Einstellungen von Banshee (Klicken zum Vergrößern)

Um Banshee beim Systemstart im Hintergrund zu starten muss ein neuer Autostart-Eintrag über den Dialog "Startprogrammeinstellungen" erstellt werden, der über den folgenden Befehl erreichbar ist. 
 $ gnome-session-properties  
Über die Schaltfläche hinzufügen kann ein neuer Eintrag erstellt werden, dem eine beliebige Bezeichnung und ein Befehl zugeordnet werden muss. Um Banshee minimiert im Hintergrund zu starten muss der folgende Befehl eingegeben werden. Das Programm wird dadurch erst 10 Sekunden nach Systemstart gestartet, was sinnvoll ist, da ansonsten Funktionen, die eine Internetverbindung benötigen, eventuell nicht funktionieren, wenn das Herstellen des Internetverbindung noch nicht abgeschlossen ist.
 bash -c "sleep 10;banshee --hide"  

Anlegen eines neuen Autostart-Eintrags, um Banshee im Hintergrund zu starten (Klicken zum Vergrößern)

Auch die Tray-Icons für Banshee sind bereits im "Numix"-Icon Thema enthalten und leider passen auch diese farblich nicht zu einem dunklen Top-Panel. Deshalb habe ich auch für diese Icons ein Icon Pack erstellt, das unter diesem Downloadlink heruntergeladen werden kann. Nach dem Herunterladen des zip-Archivs kann dieses über die folgenden Befehle entpackt und die Icons installiert werden, wobei der übergebene Dateinamen des zip-Archivs eventuell an die jeweilige Version angepasst werden muss:
 $ unzip numix-banshee-tray-icons-v.1.0.zip  
 $ cd numix-banshee-tray-icons  
 $ sudo ./INSTALL.sh  
Die geänderten Icons werden eventuell erst nach einem Neustart der GNOME-Shell sichtbar. Hierfür drückt man die Tastenkombination Alt + F2 und gibt in den erscheinenden Dialog den Befehl "r" ein.

Dieses "Numix - Banshee Tray Icons" genannte Icon-Pack enthält die drei, unten in einer Vorschau dargestellten, Symbole. Von links nach rechts stellen diese Symbole das Standard-Icon, das Icon, das angezeigt wird, wenn ein Audio- oder Video-Stream gepuffert wird und das Icon, das angezeigt wird, wenn die Wiedergabe gestoppt wurde, dar.

Eine Vorschau über die, im Icon-Pack "Numix - Banshee Tray Icons" enthaltenen Symbole

Thunderbird


Als Mail-Client für diverse E-Mail-Konten verwende ich seit jeher "Thunderbird". Leider bietet das Programm von Haus aus keine Möglichkeit an, minimiert gestartet zu werden, weshalb es nicht ganz so trivial ist, den Mail-Client beim Systemstart unsichtbar im Hintergrund zu starten. Auch das Anzeigen eines Tray-Icons wird standardmäßig nicht unterstützt. Diese beiden Funktionalitäten lassen sich jedoch über das AddOn "FireTray" nachrüsten, das die Möglichkeit mit sich bringt, Thunderbird aus dem System-Tray heraus zu nutzen. Das AddOn kann entweder von dieser Seite heruntergeladen und anschließend durch Ausführen der Datei installiert werden oder man installiert es direkt aus Thunderbird heraus, indem man dessen integrierte Suchfunktion nutzt, die über die Option "Add-ons" im Anwendungsmenü erreicht werden kann.

Über die Einstellungen des AddOns kann unter dem Reiter "Windows" die Option "Start application hidden to tray" aktiviert werden, die dafür sorgt, dass Thunderbird stets minimiert gestartet wird. Die übrigen Einstellungen, die ich unter diesem Reiter getroffen habe, sind auf dem unten dargestellten Screenshot zu sehen.

Einstellungen unter dem Reiter "Windows" des Thunderbird-AddOns "FireTray" (Klicken zum Vergrößern)

Um anschließend einen neuen Autostart-Eintrag anzulegen, der das Programm beim Systemstart startet, muss der entsprechende Einstellungs-Dialog über den folgenden Befehl gestartet werden:
 $ gnome-shell-properties  
Dem neu angelegten Eintrag muss dann der folgende Befehl zugeordnet werden, der Thunderbird 10 Sekunden nach dem Systemstart startet. Diese Verzögerung ist notwendig, da das Programm ansonsten eventuell eine Fehlermeldung ausgibt, dass keine Verbindung zu dem Server hergestellt werden konnte. Dies ist der Fall, wenn die Herstellung der Internetverbindung noch nicht abgeschlossen ist, wie es bei der Verwendung von WLAN der Fall sein kann.
 $ bash -c "sleep 10;thunderbird"

Unter dem Reiter "Icon" der Erweiterung "FireTray" kann außerdem das Tray-Icon ausgewählt werden, das standardmäßig im Top-Panel von der GNOME-Desktopumgebung angezeigt werden soll. Wenn man unter dem Reiter "Mail" außerdem noch die Option "Enable mail notification" aktiviert, kann man unter diesem Reiter zusätzlich noch ein zweites Tray-Icon wählen, welches angezeigt wird, wenn neue bzw. ungelesene Mails vorliegen. Standardmäßig werden für diese Icons Dateien verwendet, die dem ausgewählten Icon-Thema entnommen werden. Im Falle des Numix-Themas, das von mir verwendet wird, ist es wiederrum so, dass diese Icons nicht für die Verwendung in einem dunklen Top-Panel geeignet sind. Aus diesem Grund habe ich wie einmal ein Icon-Pack namens "Numix - Thunderbird Tray Icons" erstellt, das passende Icons enthält. Diese Icon-Pack kann unter diesem Downloadlink heruntergeladen werden und anschließend über die folgenden Konsolenbefehle entpackt und installiert werden. Der Dateiname des zip-Archivs muss hierbei eventuell an die jeweilige Version angepasst werden.
 $ unzip numix-thunderbird-tray-icons-v.1.0.zip  
 $ cd numix-thunderbird-tray-icons  
 $ sudo ./INSTALL.sh  
Um die Icons anschließend in FireTray auszuwählen, muss für das Standard-Icon der Pfad /usr/share/icons/Numix/status/22/thunderbird-default-tray-icon.svg und für das Icon, das bei ungelesenen Nachrichten angezeigt wird, der Pfad /usr/share/icons/Numix/status/22/thunderbird-indicator-tray-icon.svg ausgewählt werden. Das unten dargestellte Bild zeigt diese beiden Grafiken in einer Vorschau.

Eine Vorschau über die, im Icon-Pack "Numix - Thunderbird Tray Icons" enthaltenen Symbole.

Pidgin


Bei dem letzten Programm, für das ich gerne ein Tray-Icon auf meinem System darstellen möchte und das hier vorgestellt werden soll, handelt es sich um den Instant Messenger "Pidgin". Es kann aus den offiziellen Repositories über den folgenden Befehl installiert werden:
 $ sudo pacman -S pidgin  
Pidgin zeigt zwar standardmäßig ein Tray-Icon an, doch um das Programm minimiert zu starten benötigt man ein dementsprechendes PlugIn namens "Extended Preferences", das über das AUR installiert werden kann. Hierfür eignet sich beispielsweise der folgende Befehl, der das Kommandozeilentool "yaourt" nutzt:
 $ yaourt -S pidgin-extprefs  
Nach der Installation des PlugIns sollten dieses in Pidgin unter den Menüpunkt "Werkzeuge" → "Plugins" aufgeführt werden. Über die Schaltfläche "Plugin konfigurieren" lassen sich dann dessen Einstellungen anpassen. Um Pidgin minimiert zu starten, muss die Option "Hide buddy list at startup" aktiviert sein. Der folgende Screenshot zeigt den Einstellungsdialog des PlugIns.

Einstellungen des Pidgin-Plugins "Extended Preferences" (Klicken zum Vergrößern)

Anschließend kann ein neuer Autostart-Eintrag für Pidgin angelegt werden. Hierfür muss ein Weiteres mal der entsprechende Einstellungsdialog über den folgenden Befehl gestartet werden:
 $ gnome-session-properties
Dem neuen Eintrag muss als Befehl der folgende Wert übergeben werden. Da auch Pidgin eine bestehende Internetverbindung benötigt, wird das Programm auch dieses mal erst 10 Sekunden nach dem eigentlichen Systemstart ausgeführt.
 bash -c "sleep 10;pidgin"  
Die Tray-Icons, die standardmäßig von Pidgin angezeigt werden, passen optisch nicht zu dem, von mir verwendeten, Numix-Thema. Über diesen Downloadlink kann jedoch das von mir erstelltes Icon-Pack "Numix - Pidgin Tray Icons" heruntergeladen werden, dessen Icons grafisch auf das Numix-Thema abgestimmt sind. Das Icon-Pack enthält verschiedene Symbole, die den aktuellen Status des Benutzers visualisieren, ein Icon das angezeigt wird, wenn die Verbindung zum Server hergestellt wird, ein Icon, das über ungelesene Mails informiert, ein Icon, das über ungelesene Nachrichten informiert und ein Icon, das über unbeantwortete Freundschaftsanfragen informiert. Die unten dargestellte Abbildung zeigt eine Vorschau dieser Symbole.

Eine Vorschau über die, in dem Icon-Pack "Numix - Pidgin Tray Icons" enthalten Symbole (Klicken zum Vergrößern)

Nach dem Herunterladen kann das zip-Archiv über die folgenden Befehle entpackt und die Icons installiert werden. Der übergebene Dateiname des Archivs muss dabei eventuell an die konkrete Version angepasst werden.
 $ unzip numix-pidgin-tray-icons-v.1.0.zip  
 $ cd numix-pidgin-tray-icons  
 $ sudo ./INSTALL.sh  
Die Änderungen werden eventuell erst nach einem Neustart der GNOME-Shell oder von Pidgin sichtbar. Um die Shell neu zu starten drückt man die Tastenkombination Alt + F2. In den erscheinenden Dialog gibt man anschließend den Befehl "r" ein und bestätigt die Eingabe mit der Enter-Taste.

GNOME-Benachrichtigungsleiste deaktivieren


Mich störte außerdem die Benachrichtigungsleiste, die am unteren Bildschirmrand eingeblendet wird, wenn man den Mauszeiger dort hin bewegt, da ich sie des Öfteren aus Versehen aktivierte, die Benachrichtigungen die dort angezeigt wurden, jedoch nie benötigte. Alle Benachrichtigungen, die für mich von Interesse sind, werden durch die bereits angesprochenen Tray-Icons abgedeckt und weitere Statusmeldungen von diesen und anderen Programmen werden von den PopUp-Benachrichtigungen, die am unteren Rand des Bildschirms für kurze Zeit eingeblendet werden, ausreichend kenntlich gemacht.

Um aus diesem Grund die Benachrichtungsleiste zu deaktivieren existiert die GNOME Shell Extension "Remove Bottom Bar", die zwar scheinbar nicht über extensions.gnome.org, doch stattdessen über das AUR, verfügbar ist. Über den folgenden Befehl kann sie etwa über das Kommandozeilentool "yaourt" installiert werden:
 $ yaourt -S gnome-shell-extension-remove-bottom-bar  
Offiziell unterstützt die Extension aktuelle Versionen der GNOME-Shell nicht und daher wird sie nach der Installation auch nicht automatisch aktiviert und ist nicht in der Liste der installierten Extensions, wie sie beispielsweise das Programm "Gnome Tweak Tool" anbietet, sichtbar. Jedoch funktioniert die Extension technisch auch weiterhin problemlos und durch eine kleine Anpassung der Datei metadata.json, die sich im Installationsverzeichnis der Extension befindet und unter anderem festlegt, für welche Versionen der GNOME-Shell sie verwendbar ist, kann sie auch aktiviert werden. Um die Datei, die sich in dem Verzeichnis /usr/share/gnome-shell/extensions/remove_bottom_bar@k2z.com befindet mit dem Editor "nano" zu editieren kann beispielsweise der folgende Konsolenbefehl genutzt werden:
 $ sudo nano /usr/share/gnome-shell/extensions/remove_bottom_bar@k2z.com/metadata.json  
Zu den Werten der Zeile "shell-version", die alle unterstützen Versionen der GNOME-Shell beinhaltet, muss anschließend die Versionsnummer der genutzten Shell hinzugefügt werden. Um diese Versionsnummer herauszufinden kann der folgende Befehl in einem Terminal ausgeführt werden:
 $ gnome-shell --version  
Nach dem Hinzufügen der Shell-Version könnte die geänderte Datei z.B. wie folgt aussehen. Dabei wurde der Wert "3.8.4" zu der ersten Zeile hinzugefügt.
 {  
     "shell-version": ["3.0", "3.1.90", "3.1.91", "3.2", "3.4", "3.6", "3.8"],  
     "uuid": "remove_bottom_bar@k2z.com",  
     "name": "Remove bottom bar",  
     "description": "Removes the Message tray (bottom bar). I recommend to use with gnome-shell-gnome2-notifications.",  
     "url": "http://www.k2z.com"  
 }  
Anschließend sollte die Extension z.B. in dem Gnome Tweak Tool aktivieren aufgelistet sein und kann von dort aus aktiviert werden.

Die Extension verhindert, dass die Benachrichtigungsleiste beim Bewegen des Mauszeigers zur unteren Bildschirmkante angezeigt wird. Jedoch werden vom System weiterhin Benachrichtigungen dort abgelegt und wenn dies der Fall ist, wird am unteren Rand des Aktivitäten-Menüs ein entsprechender Hinweis angezeigt. Um dies zu verhindern, sollten außerdem die Benachrichtigungen der individuellen Programme deaktiviert werden. Man kann dies erreichen, indem man in den entsprechenden Einstellungen, die unter der Kategorie "Benachrichtigungen" der Systemeinstellungen erreichbar sind, den Regler "Benachrichtigungen" für jedes aufgeführte Programm auf den Wert "Aus" stellt. Über diesen Dialog kann man außerdem wählen, ob die Benachrichtigungen im Sperrbildschirm angezeigt werden sollen. Insofern man die Option "Einblend-Banner anzeigen" für die verschiedenen Programme aktiviert lässt, bleiben PopUp-Benachrichtigungen von der Änderung jedoch unangetastet und werden weiterhin angezeigt.

Die Einstellungen zu Benachrichtigungen in GNOME 3 (Klicken zum Vergrößern)

Weiterführende Links:

12. September 2013

Arch Linux: Automatische Google Drive-Synchronisation mit Grive

Obwohl schon lange von Google gefordert wird, einen Google Drive-Client für Linux bereit zu stellen, ist dies bisher noch nicht geschehen. Mit "Grive" existiert jedoch ein inoffizieller Client, der es erlaubt, die Dateien aus der Google Drive-Cloud mit einem lokalen Ordner unter Linux zu synchronisieren. Die Projektseite von Grive findet man unter diesem Link.

Grive installieren


Grive ist unter Arch Linux im AUR verfügbar und kann so z.B. über den folgenden Befehl über das Kommandozeilen-Tool "Yaourt" installiert werden:
 $ yaourt -S grive  
Anschließend muss ein Ordner erstellt werden, in dem die auf Google Drive befindlichen Dateien synchronisiert werden sollen. Um den Ordner "Google Drive" im Home-Verzeichnis zu erstellen kann etwa der folgende Konsolenbefehl genutzt werden:
 $ mkdir ~/Google\ Drive
Anschließend wechselt man über den folgenden Befehl in den neu angelegten Ordner:
 $ cd ~/Google\ Drive
Beim ersten Start von Grive muss das Programm mit dem Parameter -a ausgeführt werden, um den Zugriff auf Google Drive zu autorisieren (Wichtig ist dabei ist, dass das Programm aus dem Ordner heraus ausgeführt wird, der zur Synchronisation genutzt werden soll):
 $ grive -a
Durch den Befehl wird ein Link ausgegeben, der in einem Browser eingegeben wird. Dadurch wird eine Seite angezeigt über die man den Zugriff von Grive auf Google Drive autorisieren kann. Dadurch wird ein Code angezeigt, der wiederum in das Terminal eingefügt werden muss, über das zuvor der Befehl ausgeführt wurde. Nach dem Bestätigen der Eingabe über Enter wird der lokale Ordner mit Google Drive synchronisiert.

Autorisierung von Grive über einen Browser (Klicken zum Vergrößern)

Cronjob für automatische Synchronisation einrichten


Um den lokalen Ordner zu synchronisieren muss normalerweise aus einem Terminal heraus der Befehl "grive" in diesem Ordner ausgeführt werden. Um eine automatische Synchronisation zu erreichen kann alternativ ein Cronjob eingerichtet werden, der regelmäßig diesen Befehl ausführt und somit eine Synchronisation nach einem bestimmten Intervall anstößt.

Hierfür muss zunächst ein Bash-Skript erstellt werden, das die Grive-Synchronisation für den gewünschten Ordner ausführt. Um eine solches Skript mit dem Namen "grive-cron.sh" in dem Verzeichnis /bin über den Editor "nano" zu erstellen kann z.B. der folgende Befehl genutzt werden. Der Befehl muss dabei mit Root-Rechten ausgeführt werden, da nur der Root-Benutzer für dieses Verzeichnis Schreibrechte besitzt.
 $ sudo nano /bin/grive-cron.sh  
Als Inhalt der zu erstellenden Datei muss das folgende Shell-Skript eingegeben werden, das dafür sorgt, dass in den Ordner gewechselt wird, der synchronisiert werden soll und anschließend Grive ausgeführt wird. Ders absolute Pfad zu dem zu synchronisierenden Ordner muss natürlich je nach Anwendungsfall angepasst werden.
 #!/bin/bash  
 cd /home/user/Google\ Drive  
 grive  
Anschließend gilt es, einen neuen Cronjob zu erstellen, der in einem bestimmten Intervall dieses Skript ausführt. Um die Konfiguration der Cronjobs des aktuellen Benutzers beispielsweise mit dem Editor "nano" zu editieren kann der folgende Befehl genutzt werden.
 $ env EDITOR=nano crontab -e  
Die Datei die dadurch geöffnet wird, kann verschiedene Cronjobs enthalten, von denen jeder in einer neuen Zeile eingetragen wird. Jeder dieser Cronjobs bestehen aus sechs Spalten von denen die ersten fünf die Zeiten definieren zu denen der Job ausgeführt werden soll und die letzte Spalte den Befehl aufnimmt, der ausgeführt werden soll. Indem die folgende Zeile in die Datei eingefügt wird, wird ein neuer Cronjob definiert, der das zuvor erstellte Skript minütlich ausführt. Weitere Informationen über die Konfiguration der Ausführungszeit von Cronjobs finden sich unter diesem Wiki-Artikel.
 * * * * * /bin/grive-cron.sh
Nach dem Speichern der geänderten Datei über den Shortcut Strg+O und dem Schließen des Editors über Strg+X wird der neue Cronjob automatisch erstellt und gestartet. Über den folgenden Befehl kann man sich eine Liste der aktuell definierten Cronjobs anzeigen lassen:
 $ crontab -l
Über den erstellten Cronjob sollte die Synchronisierung des lokalen Ordners mit Google Drive minütlich oder je nach definiertem Intervall ausgeführt werden und dessen Inhalt somit stets abgeglichen sein.

Weiterführende Links: