Posts mit dem Label .desktop werden angezeigt. Alle Posts anzeigen
Posts mit dem Label .desktop werden angezeigt. Alle Posts anzeigen

22. April 2014

GNOME: Ausführung von beliebigen Skripts bei Systemstart ohne "gnome-session-properties"

Überraschend für viele GNOME-User und wahrscheinlich auch zu Missgunsten eines fast genauso großen Teils von ihnen, wurde in Version 3.12 der Linux-Shell das Programm "gnome-session-properties" entfernt, was sogar zunächst als Bug verstanden wurde (siehe dieser Bug-Report). Wer dieses Tool bisher verwendete, um eigene Skripte oder Befehle beim Systemstart automatisch auszuführen, steht nun vor dem Problem, dass das Tool "gnome-tweak-tool", das diese Funktionalität zukünftig übernehmen soll, es nicht erlaubt, benutzerdefinierte Autostart-Befehle auszuführen. Stattdessen wird lediglich das automatische Starten von entsprechend installierten Anwendungen erlaubt. Bis das "gnome-tweak-tool" diese Funktionalität erfüllt und damit die neu entstandene Lücke füllt, falls dies denn je geschehen wird, kann man sich damit behelfen, die .desktop-Dateien, die zuvor elegant über die, von  der Anwendung "gnome-session-properties" angebotenen, Benutzeroberfläche erstellt werden konnten und jeweils einen Autostart-Eintrag repräsentieren, manuell zu erstellen. Im Folgenden soll beispielhaft gezeigt werden, wie eine solche Datei aufgebaut sein muss.

Anlegen eines Autostart-Eintrags über das Tool "gnome-session-properties" (Klicken zum Vergrößern, Quelle: itechlog.com)

Eine Suche nach den .desktop-Dateien, die das Tool "gnome-session-properties" in vorherigen GNOME-Versionen auf meinem System erstellt hat, ergab, dass sich diese Dateien in dem Verzeichnis ~/.config/autostart/ befinden. Der Aufbau einer solchen Datei, die sich dementsprechend in diesem Verzeichnis befindet, soll an dem folgenden Beispiel erläutert werden, wobei die Datei beispielsweise script.desktop genannt werden könnte:
 [Desktop Entry]  
 Type=Application  
 Exec=/path/to/script.sh
 X-GNOME-Autostart-enabled=true
 Name=Mein Skript
 Comment=Führt ein benutzerdefiniertes Skript aus
Wie in dem oben dargestellten Beispiel zu sehen ist, beginnt die Datei mit der Zeile [Desktop Entry], gefolgt von Parameter-Werte-Paaren, die jeweils in einer neuen Zeile aufgeführt werden. Der Wert "Application" des Parameters "Type" definiert dabei, dass es sich bei dem Ziel der Datei um eine Anwendung handelt (mögliche andere Werte sind "Link" und "Directory"). Der zweite Parameter "Exec" beinhaltet den auszuführenden Befehl, der in diesem Fall auf ein Skript verweist, das durch den Autostart-Eintrag ausgeführt werden soll. Durch die dritte Zeile "X-GNOME-Autostart-enabled=true" wird gekennzeichnet, dass der Autostart-Eintrag beim Start der GNOME-Shell ausgeführt werden soll. Falls auf dem System eine abweichende Desktopumgebung gestartet wird, wird der Eintrag dagegen ignoriert werden. Darüber hinaus kann über die Parameter "Name" und "Comment" eine zusätzliche Beschreibungen des Autostart-Eintrages in die Datei erfolgen. 

Neben den dargestellten Parametern existieren eine Vielzahl von weiteren möglichen Parameter-Werte-Paaren, die an dieser Stelle nicht ausführlich erläutert werden sollen, da durch eine Datei nach dem oben dargestellten Aufbau bereits die meisten aller erforderlichen Autostart-Einträge abgedeckt werden können sollten. Eine ausführliche Dokumentation findet sich dagegen unter diesem Link.

Weiterführende Links:

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:

22. März 2013

Ubuntu: Zu große Dashboard-Icons *Workaround*

Unter Ubuntu 12.10 gibt es offenbar einen Bug, der dazu führt, dass über *.desktop-Files manuell definierte Anwendungs-Icons im Unity-Dashboard unskaliert und damit eventuell viel zu groß dargestellt werden. Die Erstellung solcher Icons wurde bereits in diesem Post, der sich um die Installation der Eclipse-IDE drehte, erläutert. Allgemeine Information über solche Icons sind unter diesem Link zu finden.

Zu großes Icon im Unity-Dashboard (Klicken zum Vergrößern)

Im Folgenden soll ein einfacher Workaround vorgestellt werden, der es ermöglicht dass auch die Icons manuell definierter *.dektop-Files in der korrekten Größe angezeigt werden.

  • Zunächst muss die *.xpm-Datei, die als Icon definiert wurde in das Verzeichnis ~/.local/share/icons kopiert werden.
  • Anschließend muss die *.desktop-Datei in der das Anwendungs-Icon definiert wurde editiert werden. Diese Dateien befinden sich in dem Verzeichnis /usr/share/applications. In der Zeile, die mit "Icon=" beginnt, muss hinter dem "=" der Dateinamen der *.xml-Datei ohne Dateiendung eingetragen werden.

Das Icon im Unity-Dashboard nach Anwendung des Workarounds (Klicken zum Vergrößern)