Schlagwort: Portals

  • Wie funktionieren Flatpak Portals?

    Wie funktionieren Flatpak Portals?

    Um das gleich vorwegzunehmen: Flatpak Portals ist nicht ganz die richtige Bezeichnung und wurde nur wegen der etwas griffigeren Überschrift gewählt. Richtigerweise muss es XDG Desktop Portals heißen. Und nun, da wir das aus dem Weg haben, erkläre ich mal für die, die es noch nicht kennen, was Portals sind und wozu sie im Zusammenhang mit Flatpak dienen.

    Portale für gezielte Berechtigungen

    Portals stellen eine Reihe von D-Bus-Schnittstellen bereit, die über APIs gezielt bestimmte Rechte wie unter anderem Zugriff auf Dateien oder Geräte wie Drucker, Soundkarte etc. definieren. Sie sind ein wichtiger Baustein bei Flatpak, denn sie regeln darüber die dynamischen Berechtigungen. Das ist ein Mechanismus, über den Anwendungen innerhalb einer Sandbox mit der Host-Umgebung dynamisch interagieren können, ohne dass zusätzliche Sandbox-Berechtigungen erforderlich sind. Beispiele für Funktionen, auf die über Portals zugegriffen werden kann sind das Öffnen von Dateien über einen Dateiauswahldialog, das Drucken oder das Erstellen von Screenshots.

    Desktop-spezifische Portals

    So kann etwa mit dem FileChooser-Portal Zugriff auch auf einzelne Dateien im Dateisystem gewährt werden. In letzter Zeit wurden Desktop- und Toolkit-spezifische Portals erstellt, wie etwa das GTK-Backend xdg-desktop-portal-gtk, das KDE-Backend xdg-desktop-portal-kde oder das Wayland-spezifische xdg-desktop-portal-wlr (wlroots). Generell erlauben Portals fein gegliederte Berechtigungen, die nur das eben Nötige erlauben. Einen Überblick über verfügbare Portals, deren API und Handhabung gewährt die Portal Documentation.

    Auch in Flatseal

    Portals haben kürzlich auch Einzug in das Tool Flatseal gehalten, das ich für die kommende Ausgabe des LinuxUser ausführlich beschrieben habe. Dadurch werden die in Flatseal erlaubten oder verbotenen Aktionen nicht mehr durch Portals überschrieben.

  • Flatseal: Rechte von Flatpaks grafisch editieren

    Screenshot: ft

    Flatpak ist als modernes Paketformat im Aufschwung. Distributionen wie Fedora Silverblue oder Endless OS setzen bereits ganz oder zu großen Teilen auf das junge Format. Dabei sind die Linux-Anwender von Flatpak oder den Alternativen Snap und AppImage bisher nicht durchgehend überzeugt.

    Flatpak ist nicht unumstritten

    Die Eigenschaften von Flatpaks werden hochgelobt oder abgelehnt, je nachdem wen man fragt. Nehmen wir einmal die Plattformunabhängigkeit als Beispiel. Entwickler freuen sich, dass das gleiche Flatpak auf fast allen Distributionen läuft und ihnen damit Arbeit erspart. Ein Debian-Anwender wird aber beispielsweise beklagen, dass er die Anpassungen an die Debian-Richtlinien, die bisher der nun überflüssige Paket-Maintainer vornahm, vermisst.

    Rechte bisher unübersichtlich

    Auch was die Rechte angeht, die Flatpaks in einem System haben, herrscht
    Uneinigkeit. Flatpaks laufen in einer Sandbox und lassen sich von daher vollständig gegenüber dem Host-System isolieren. Das ergibt allerdings bei den allerwenigsten Anwendungen Sinn. Der Paketierer gibt dem Flatpak die benötigten Rechte, damit die Anwendung ihren Zweck erfüllen kann. Doch wie sehe ich als Anwender, worauf ein Flatpak Zugriff hat und kann ich diese Rechte ändern oder erweitern?

    Über die Kommandozeile ging das schon immer mit dem Befehl flatpak override, ist aber den meisten Anwendern zu umständlich. Seit rund einem Jahr war auch die Software-Verwaltung von GNOME 3.32 in der Lage, über die Sektion Anwendungen Rechte von Flatpaks zu ändern.

    Flatseal to the rescue

    Mit der neuen App Flatseal ist das jetzt noch mal ein wenig einfacher geworden. Laut Eigenbeschreibung ist Flatseal »ein grafisches Dienstprogramm zur Überprüfung und Änderung grundlegender Berechtigungen von Flatpak-Anwendungen.« Das erledigt die App in übersichtlicher Weise, indem links in einer Leiste die installierten Flatpaks aufgelistet sind und rechts im Hauptfenster die entsprechenden Rechte, die über einen Schalter manipuliert werden können.

    Viel mehr gibt es nicht zu sagen. Nach der Änderung von Rechten muss das Flatpak neu gestartet werden. Sollte etwas schiefgehen, lassen sich die Rechte oben rechts über eine Schaltfläche auf die im Flatpak vergebenen Rechte zurücksetzen. Das Projekt wird auf GitHub gehostet.