App-Stores

Du bist hier: HomeÜber Linux ➥ App-Stores

Allgemeines

In der Realität sind sehr viele Apps nicht nutz- oder brauchbar, da sie, sofern sie überhaupt starten, nicht an den kleinen Bildschirm adaptiert sind, keine Eingaben über den Touchscreen akzeptieren oder diese falsch interpretieren.
Daher gestaltet es sich häufig wie die Suche nach der Nadel im Heuhaufen und man installiert und deinstalliert viele Apps, bis man eine findet, die funktioniert.
Getestet wurden natürlich mehr Apps, als die auf den jeweiligen Distributionsseiten aufgelisteten. Bei jenen handelt es sich um die, die sich als brauchbar herausgestellt haben.

Viele Apps werden durch die Community entwickelt, gepflegt und aktualisiert. Dabei handelt es sich manchmal um nur eine Person. Können oder wollen die Verantwortlichen eine App nicht weiter pflegen, wird diese mit der Zeit nicht mehr funktionieren. Aus diesem Grund gibt es hier ständig geringe Fluktuationen.

Deshalb ist es sinnvoll, für jede Anwendung auch eine Alternative in petto zu haben. Speziell was E-Mails betrifft, solltet ihr die Mails im Notfall via Browser abrufen können.

Große, bekannte Apps, die evtl. auch professionell entwickelt werden, entgehen dieser Dynamik natürlich. Man muss bspw. nicht um Programme wie die Libre Office Suite fürchten.

Gerade mit dem aufkommenden, mobilen Linux gibt es immer wieder ambitionierte Projekte, die dann doch fallengelassen werden.

In der Regel gibt es aber immer eine Lösung, also keine Sorge!

Auch erwähnen möchte ich, dass bei Apps und Webseiten, die sehr lange oder endlose Feeds haben wie bspw. News Reader oder Soziale Netzwerke, das Scrollen irgendwann hakelig werden kann.
Ursächlich dürfte hierfür das Nachladen der anzuzeigenden Informationen sein. Inwiefern der Arbeitsspeicher dabei eine Rolle spielt, kann ich nicht sagen.

Was Socialmedia-Apps betrifft, so gibt es einige Clients für z.B. Twitter oder Reddit, die man in der Regel beim entsprechenden Netzwerk registrieren muss. Hin und wieder entscheiden sich diese Netzwerke spontan dazu, diese Clients zu blocken.
Da der Zugriff über diese nicht offiziellen Clients unzuverlässig ist, widme ich mich diesen Apps weniger stark.
Soziale Netzwerke nutze ich über den Webbrowser. Auf Linux ist dies zwar weniger ein Thema, aber jede Webseite läuft innerhalb der Grenzen des Browsers und verletzt so weniger die Privatsphäre.

Woher bekomme ich Apps?

Es gibt verschiedene Quellen. Zunächst bringt eigentlich jede Distribution einen eigene Bezugsmöglichkeit mit, die sich unter der der Auswahl der vorinstallierten Apps befindet. Bei Ubuntu nennt sich dies „Ubuntu Software“ (als Einkaufstasche dargestellt), bei Ubuntu Touch ist es der Open Store, bei KDE „Discover“, usw.

Da Linux paketbasiert ist, benötigt man Softwarepakete passend zur genutzten grundlegenden Distribution (Basis-Distribution). Beispielsweise basiert Ubuntu auf Debian und benötigt prinzipiell „.deb“-Pakete.

Findet man dort nicht, was man sucht, so hat man weitere Optionen, auf die ich hier eingehen möchte. Die Übersicht wird sukzessive erstellt und erweitert, muss also nicht vollständig sein.

Distributionseigener Appstore

Wie bereits erwähnt, bringt in der Regel jede Distribution einen eigenen Appstore mit. Im Folgenden geht es um grafische Anwendungen.

KDE CE
Discover Icon

Der Appstore der KDE CE nennt sich „(Plasma) Discover“.

Die Apps in „Plasma Discover“ stammen aus den offiziellen Paketquellen von Manjaro ARM (core, extra und community) sowie Flathub. Sie können über den graphischen Installer „Discover“ oder im Terminal mittels pacman/flatpak installiert werden.

Mobian CE
Software Icon

Der Appstore der Mobian CE nennt sich „(GNOME) Software„.

Zugegriffen werden kann auf Software aus den installierten Paketquellen (Repositories), eventuell aktivierten Fremdquellen und PPAs (Personal Package Archive).

Gnome-Software kann, sofern die entsprechenden Plugins installiert sind, auch Software aus Snap- und Flatpak-Quellen verwalten. Das Snap-Plugin heißt
gnome-software-plugin-snap
und kann mittels:

$ sudo apt-get install gnome-software-plugin-snap

installiert werden.

Das Flatpak-Plugin nennt sich
gnome-software-plugin-flatpak (universe)
und kann mittels

$ sudo apt-get install gnome-software-plugin-flatpak

installiert werden.

  • KDE -> Discover
  • Ubuntu -> Snap Store
  • Ubuntu Touch -> Open Store

GNOME Apps

GNOME entwickelt Apps, die prinzipiell auf jedem Linux-System laufen. Viele gibt es auch im Snap Store oder via Flathub.

KDE Apps

Die KDE-Community entwickelt Apps, die prinzipiell auf jedem Linux-System laufen. Viele gibt es auch im Snap Store oder via Flathub.

Snap Store

Verschiedene Linux-Distributionen nutzen unterschiedliche Paketmanager und unterschiedliche Paketformate.
Somit gibt es keinen einheitlichen Weg, der es erlaubt, auf jeder Linux-Distribution Anwendungen auf dieselbe Art und Weise zu installieren.

Snap möchte genau das erreichen. Bei „Snap“ handelt es sich um ein maßgeblich von Canonical entwickeltes, universelles Paketformat, d.h. dass es auf den meisten Linux-Distributionen nutzbar ist.

Normalerweise nutzt ein Paket andere Pakete, das heißt, es ist abhängig von der Anwesenheit dieser Pakete (Paketstruktur), weshalb die Abhängigkeiten i.d.R. gleich mitinstalliert werden. Da man nicht davon ausgehen kann, dass alle Pakete, von denen das zu installierende abhängig ist, auf jeder Distribution verfügbar sind, beinhalten Snap-Pakete alle Abhängikeiten bereits. Sie sind also unabhängig.

Snap benötigt die Software-Suite „Systemd„, sprich es läuft auf allen Distributionen, die Systemd nutzen. postmarketOS nutzt bspw. „OpenRC“ und unterstützt somit Snap nicht.
Darauf läuft dann snapd, das die Grundlage für Snap-Anwendungen ist.

Der Snap Store ist eine grafische Anwendung zur Verwaltung von Snap-Paketen (Snaps).

Liste von Systemen, auf denen der Snap Store verfügbar ist (nicht final):

  • Ubuntu (vorinstalliert)

Nach der Installation werden Snaps vom Betriebssystem „eingehängt“, aber erst dann zur Nutzung dekomprimiert, wenn sie gestartet werden.
Dadurch benötigen große Anwendungen mehr Zeit zum starten, was anfangs für Irritationen sorgte, weil dieselbe Anwendung, als normales Paket installiert, deutlich schneller startete.
Der Vorteil ist jedoch der Festplattenspeicher, den das komprimierte Snap weniger einnimmt.

Snap-Pakete werden in gewissen Zeitabständen automatisch aktualisiert. Das kann durch den Benutzer auch nicht verhindert, lediglich verschoben werden.

Installation

Debian

snapd installieren mittels:

$ sudo apt install snapd
$ sudo snap install core
$ sudo systemctl enable snapd
$ sudo reboot

Den Snap Store installiert man dann mittels:

$ sudo snap install snap-store 

Vom Terminal aus lässt sich der Snap Store starten mittels:

$ snap-store 

Deinstallieren lässt sich Snap mittels:

$ sudo apt autoremove --purge snapd


Fedora

snapd installieren mittels:

$ sudo dnf install snapd

Arch

snapd installieren mittels pacman:

$ sudo pacman -S snapd
Arch AUR

snapd ist auch im Arch User Repository (AUR) verfügbar. Die Installation und Aktivierung erfolgt mittels:

$ yaourt -S snapd
$ sudo systemctl enable --now snapd.socket

OpenSUSE

OpenSUSE existiert in zwei Varianten, der klassischen statischen Variante mit LTS-Versionen (Leap) und als Rolling Release (Tumbleweed)
Folgendes bezieht sich auf OpenSUSE Leap 15.x und Tumbleweed.

Installation von snapd vorbereiten

Zunächst muss das snappy Repository hinzugefügt werden („openSUSE_Leap_15.2“ kann entsprechend durch „openSUSE_Leap_15.1“, „openSUSE_Leap_15.0“ oder „openSUSE_Tumbleweed“ ersetzt werden):

$ sudo zypper addrepo --refresh https://download.opensuse.org/repositories/system:/snappy/openSUSE_Leap_15.2 snappy

Anschließend den GPG-Schlüssel importieren:

$ sudo zypper --gpg-auto-import-keys refresh

Nun den Package-Cache aktualisieren, um diesem das neue Repository hinzuzufügen:

$ sudo zypper dup --from snappy

Aus diesem Repository kann snap nun installiert werden:

$ sudo zypper install snapd

An diesem Punkt muss man das System neu starten, sich ab- und wieder anmelden oder den Pfad „/snap/bin“ von Hand in „/etc/profile“ eintragen, um ihn der PATH-Variable hinzuzufügen.
Ist dies geschehen, müssen die Services snapd und snapd.apparmor aktiviert und gestartet werden:

$ sudo systemctl enable snapd
$ sudo systemctl start snapd

Tumbleweed-Nutzer müssen zusätzlich folgende Befehle ausführen:

$ sudo systemctl enable snapd.apparmor
$ sudo systemctl start snapd.apparmor
Installation von snapd

Zuguterletzt wird snapd installiert mittels:

$ sudo snap install snapd

Nutzung

Ein Snap finden

$ sudo snap find libreoffice

Ein Snap installieren

$ sudo snap install <snap_name>

Ein Snap starten

$ snap run <package-name>

Alle installierten Pakete auflisten

$ snap list

Ein Snap aktualisieren

… passiert periodisch automatisch, aber dennoch manuell möglich:

$ sudo snap refresh <snap_name>

Ein Snap entfernen

funktioniert nicht für Snap selbst:

$ sudo snap remove <package-name>

Deinstallation

Debian

Um snap vollständig von meinem Mobian System zu entfernen habe ich folgende Schritte ausgeführt:

Zunächst die snapd Services stoppen und deaktivieren:

$ sudo systemctl stop snapd && sudo systemctl disable snapd

System von snapd säubern:

$ sudo apt purge snapd

Die verbliebenen, nicht mehr benötigten Ordner löschen:

$ rm -rf ~/snap
$ sudo rm -rf /snap /var/snap /var/lib/snapd /var/cache/snapd /usr/lib/snapd

Man kann vollständig verhindern, dass Snap (re-) installiert wird. Der Chromium-Browser stellt bspw. snapd wieder her.
Hierfür erstellt man die Datei no-snap.pref z.B. mit dem Texteditor gedit auf folgendem Weg:

$ sudo -H gedit /etc/apt/preferences.d/no-snap.pref

Nun fügt man folgenden Inhalt ein:

# To install snapd, specify its version with 'apt install snapd=VERSION'
# where VERSION is the version of the snapd package you want to install.

Package: snapd
Pin: release a=*
Pin-Priority: -10

Flatpak

Wie auch Snap ist Flatpak distributionsübergreifend und bringt alle Abhängigkeiten mit.
Die Hauptbezugsquelle für Anwendungen ist Flathub.

Es gibt Unterschiede, was z.B. die Startdauer einer App betrifft (siehe 2. Snap Store). Auch ist Flatpak vollständig Open Source während das Backend der Snaps proprietär von Canonical ist.
Flathub ist zwar die hauptsächliche Bezugsquelle für Apps, erlaubt jedoch auch andere Quellen, während Snap vollständig auf den Snap Store von Canonical beschränkt ist.

Es gibt weitere Unterschiede, die aus Anwendersicht jedoch keine tragende Rolle spielen.

Hinweis:
Die Verwaltung von Flatpak-Paketen wird nicht vom betriebssystemeigenen Paketmanager übernommen. Jedoch gibt es erweiterte Anwendungen die dies übernehmen.
Z.B. aktualisiert pacman auf Arch Linux keine Flatpaks, die grafische Paketverwaltung „Discover“ jedoch informiert über Aktualisierungen.
Dementsprechend, wie man seine Pakete aktualisiert, muss man ggfs. die Flatpaks manuell aktualisieren.

Installation

Debian

$ sudo apt install flatpak

Flatpak lässt sich in den lokalen App Store der Distribution einbinden. Dadurch kann man die Apps bequem durch den lokalen App Store nutzen, ohne die Kommandozeile bemühen zu müssen:

$ sudo apt install gnome-software-plugin-flatpak

Die Hauptquelle für Flatpak-Anwendungen ist das Flathub-Repository. Dies fügt man hinzu mittels:

$ flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo

Um die Installation abzuschließen sollte das System neu gestartet werden.

Nutzung

Repository hinzufügen

Um ein Repository hinzuzufügen nutzt man:

$ sudo flatpak remote-add --if-not-exists <repository-name> <repository-url>

Für flathub wäre dies dann bspw.:

$ sudo flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo

Anwendung installieren

Eine Flatpak-Anwendung installiert man mittels:

$ flatpak install <repository> <app-identifier>

Für den RSS-Reader ‚Newsflash‘ sähe dies so aus:

$ flatpak install flathub com.gitlab.newsflash

Auf den Webseiten der einzelnen Anwendungen von flathub bspw. findet man am Ende der jeweiligen Seite den entsprechende Befehl, der auch den <app-identifier> enthält.

Alle Anwendungen auflisten

Eine Liste aller durch Flatpak installierten Anwendungen erhält man mittels:

$ flatpak list

Anwendung ausführen

Installierte Anwendungen lassen sich ausführen mittels:

flatpak run <app-identifier>

Für Newsflash sähe das z.B. so aus:

flatpak run com.gitlab.newsflash

Anwendungen aktualisieren

Die installierten Flatpak-Pakete lassen sich auf Aktualisierungen prüfen und aktualisieren mittels:

$ flatpak update

Anwendungen aktualisieren

Enfernen lassen sich die Anwendungen mittels:

$ flatpak uninstall --delete-data <app-identifier>

„–delete-data“ ist optional, löscht jedoch bei Anwendung aueqch die Daten einer App.

Fehlermeldungen

Viele Fehlermeldungen habe ich nicht erhalten. Hier meine Liste:

No remote refs found similar to '<repository-name>'

Bedeutet, dass das Repository, aus dem eine Anwendung installiert werden soll, noch nicht hinzugefügt wurde.
Lösung: Repository hinzufügen

WordPress Cookie Hinweis von Real Cookie Banner