elementaryOS und die Indikatoricons

elementaryOS verfügt über eine Status- und Menüleiste, ähnlich macOS. In dieser Leiste, welche sich am oberen Bildschirmrand befindet, befinden sich Indikatoren für das Netzwerk, den Sound und einige andere Dinge. Auch Applikationen, wie z. B. der Nextcloud-Client legen dort ihr Status-Icon ab. Wenn der Nextcloud-Client unter elementaryOS in der Version 6 (Odin) installiert wird, taucht allerdings kein Icon in der oberen Leiste auf. Grund hierfür ist das diese nicht Out-of-the-box unterstützt wird.

Die Einstellungen von elementaryOS

Allerdings kann hier Abhilfe geschaffen werden mit dem Wingpanel Ayatana-Compatibility Indicator. Um diesen in elementaryOS zu installieren, sollte im ersten Schritt das Terminal geöffnet und einige Abhängigkeiten installiert werden:

install libglib2.0-dev libgranite-dev libindicator3-dev libwingpanel-dev indicator-application

Anschließend kann der Download der entsprechenden DEB-Datei angestoßen werden:

wget -c "https://github.com/Lafydev/wingpanel-indicator-ayatana/blob/master/com.github.lafydev.wingpanel-indicator-ayatana_2.0.7_amd64.deb?raw=true" -O wingpanel-indicator.deb

Danach wird das heruntergeladene Paket installiert:

dpkg -i wingpanel-indicator.deb

Nun muss dafür gesorgt werden, dass der Wingpanel Ayatana-Compatibility Indicator beim Systemstart geladen wird. Dies kann unter elementaryOS über die Systemeinstellungen und dort den Punkt Anwendungen bewerkstelligt werden. Dort findet sich der Punkt Beim Anmelden automatisch gestartete Anwendungen. Unter diesem Punkt wird nun unten links eine neue Anwendung hinzugefügt und dort ein benutzerdefinierter Befehl eingegeben:

/usr/lib/x86_64-linux-gnu/indicator-application/indicator-application-service

Im Terminal muss nun noch eine Änderung an der Datei indicator-application.desktop vorgenommen werden:

nano /etc/xdg/autostart/indicator-application.desktop

Dort muss nun der Parameter Pantheon; hinzugefügt werden, sodass die Datei am Ende wie folgt aussieht:

[Desktop Entry]
Type=Application
Name=Indicator Application
Exec=/usr/lib/x86_64-linux-gnu/indicator-application/indicator-application-service
StartupNotify=false
Terminal=false
OnlyShowIn=Unity;GNOME;Pantheon;
NotShowIn=ubuntu;
NoDisplay=true
AutostartCondition=GNOME3 unless-session gnome

Nach einem Neustart des Systems funktioniert der neue Indikator, sodass z. B. das Status-Icon des Nextcloud-Clients ebenfalls auftauchen sollte.

Elasticsearch unter Ubuntu installieren

Elasticsearch ist eine Suchmaschine, welche in vielen Lösungen zum Einsatz kommt. Seit der Lizenzänderung vor ein paar Wochen ist Elasticsearch keine freie Software mehr, wird aber trotzdem in vielen Lösungen genutzt, welche noch nicht auf eventuelle freie Forks ausgewichen sind. Soll Elasticsearch unter Ubuntu installiert werden, so kann dies über den Paketmanager installiert werden. Im ersten Schritt muss das Paket apt-transport-https nachinstalliert werden:

apt install apt-transport-https

Anschließend kann die Fremdpaketquelle hinzugefügt werden:

echo "deb https://artifacts.elastic.co/packages/7.x/apt stable main" | sudo tee /etc/apt/sources.list.d/elastic-7.x.list

Diese wird benötigt, da Elasticsearch nicht in den offiziellen Paketquellen von Ubuntu enthalten ist. Damit die Installation über das Paket funktioniert, sollte der entsprechende Schlüssel hinzugefügt werden:

wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | apt-key add -

Sollte beim Aufruf des Kommandos die Meldung:

E: gnupg, gnupg2 and gnupg1 do not seem to be installed, but one of them is required for this operation

erscheinen, muss das entsprechende Paket nachinstalliert werden:

apt install gnupg2

Anschließend kann Elasticsearch installiert werden:

apt-get update && sudo apt-get install elasticsearch

Standardmäßig ist Elasticsearch nach der Installation nur über den Localhost am Port 9200 erreichbar. Um dies zu ändern, muss die Konfiguration angepasst werden. Diese befindet sich im Ordner /etc/elasticsearch/ – sollen hier Änderungen vorgenommen werden, sollte die entsprechende Dokumentation zurate gezogen werden.

apt-get Sperrdateien entfernen

Unter Umständen kann es unter Ubuntu, oder anderen Distributionen basierend auf Debian passieren, das ein apt-get Vorgang fehlschlägt. Dies kann sich darin äußern das apt-get nicht mehr genutzt werden kann – stattdessen bekommt man folgende Meldung zu sehen:

E: Could not get lock /var/lib/dpkg/lock - open (11 Resource temporarily unavailable)
E: Unable to lock the administration directory (/var/lib/dpkg/) is another process using it?

Hintergrund ist das dpkg Sperrdateien mit dem Name lock anlegt und sie nach getaner Arbeit wieder entfernt. Bei plötzlichen Unterbrechungen wie z.B. einem Stromausfall kann es passieren das die Dateien nicht mehr entfernt werden. Lösen kann man das Problem indem man die entsprechenden Sperrdateien entfernt:

rm /var/lib/dpkg/lock
rm /var/lib/apt/lists/lock
rm /var/cache/apt/archives/lock

Abschließend sollte dpkg bzw. apt-get wieder ohne Probleme funktionieren.