Inhalt (wird sukzessive erweitert)
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.
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.
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