ubuntuusers.de

Verständnissfrage zu snap - Datenaustausch zwischen snaps

Status: Gelöst | Ubuntu-Version: Ubuntu 22.04 (Jammy Jellyfish)
Antworten |

hoerianer

Anmeldungsdatum:
14. August 2012

Beiträge: 3156

Hallo,

ich habe wohl ein Verständnissproblem bezüglich snap und hoffe, Ihr könnt mir weiterhelfen.

Mir ist soweit klar, dass Programme, die über snap kommen, gegeneinander und gegenüber dem System gesichert laufen. NUn habe ich aber im wiki Artikel zu snap gelesen, dass man das für einzelne snaps auch abstellen kann. Teilweise oder ganz ist mir dabei eben nicht ganz klar.

Konkreter Fall, wenn ich Gimp und Darktable über snap installiere, sehen sich beide Programme ja erstmal nicht. Nun möchte ich aber Daten untereinander austauschen, also Bilder direkt von Darktable nach Gimp schicken, was ja bei der normalen apt Installation möglich ist. Dazu muss man dann die Confinements ändern oder wie ist das zu verstehen?

Bisher habe ich nämlich explizit auf snap verzichtet, weil mir nicht klar war, dass man das auch einstellen kann und wenn das funktionieren sollte, wäre meine grundsätzliche Abneigung gegen snap eher verschwunden.

hakel2022

Anmeldungsdatum:
21. Februar 2022

Beiträge: 3129

Das Confinement ist nach meinem Verständnis ein "Auslieferungsstatus". Kann also nicht einfach vom Nutzer verändert werden.

Aber ...

https://snapcraft.io/docs/interface-management

Mit 24.04 soll Snap aber schon wieder viel besser geworden sein. 😎

hoerianer

(Themenstarter)

Anmeldungsdatum:
14. August 2012

Beiträge: 3156

hakel2022 schrieb:

Das Confinement ist nach meinem Verständnis ein "Auslieferungsstatus". Kann also nicht einfach vom Nutzer verändert werden.

Aber ...

https://snapcraft.io/docs/interface-management

Thx, schaue ich mir mal an.

Mit 24.04 soll Snap aber schon wieder viel besser geworden sein. 😎

Naja, das was ich bisher gesehen habe, lässt mich zweifeln 😉 Mir wäre es lieb, wenn es da ne Gui dazu geben würde.

noisefloor Team-Icon

Anmeldungsdatum:
6. Juni 2006

Beiträge: 29567

Hallo,

snaps laufen in einer Sandbox - aber das heißt ja nicht, dass sich die snaps nicht "sehen" können und es heißt nicht, dass snap $FOO nichts von der Existenz von snap $BAR weiß. Es kommt am Ende drauf, an wie Darktable GIMP aufruft. Wenn das ein normaler Programmaufruf ist und die Daten als temporäre Datei übergeben werden, dann sollte das schon gehen.

Im konkreten Fall würde ich sagen: probier's aus. Mehr als nicht funktionieren kann es ja nicht. Und wenn das so ist installierst du halt beide snaps wieder.

Der Vollständigkeit halber sei noch gesagt, dass weder das GIMP noch das Darktable snap direkt von den Entwicklern kommen, sondern von Dritten bereitgestellt werden. Für Darktable gibt es die aktuellste, stabile Version als Fremdquellen direkt von den Entwicklern (https://www.darktable.org/install/), das GIMP Projekt bevorzugt Flatpak. Wenn du nicht zwingend GIMP in der allerneusten Version brauchst, dann ist GIMP aus den Ubuntuquellen auch gut. Zumal das GIMP snap wirklich groß ist (das Flatpak übrigens auch), aufgrund der ganzen Libs zum Anzeigen der ganzen Bildformate. Also im gegebenen Fall gibt es eigentlich wenig Gründe, Darktable und GIMP als snap zu nutzen.

Gruß, noisefloor

hoerianer

(Themenstarter)

Anmeldungsdatum:
14. August 2012

Beiträge: 3156

noisefloor schrieb:

Im konkreten Fall würde ich sagen: probier's aus. Mehr als nicht funktionieren kann es ja nicht. Und wenn das so ist installierst du halt beide snaps wieder.

Ich weiss eben, dass es nicht funktioniert, daher die Frage ob man das irgendwie umbiegen kann.

Der Vollständigkeit halber sei noch gesagt, dass weder das GIMP noch das Darktable snap direkt von den Entwicklern kommen, sondern von Dritten bereitgestellt werden. Für Darktable gibt es die aktuellste, stabile Version als Fremdquellen direkt von den Entwicklern (https://www.darktable.org/install/), das GIMP Projekt bevorzugt Flatpak. Wenn du nicht zwingend GIMP in der allerneusten Version brauchst, dann ist GIMP aus den Ubuntuquellen auch gut. Zumal das GIMP snap wirklich groß ist (das Flatpak übrigens auch), aufgrund der ganzen Libs zum Anzeigen der ganzen Bildformate. Also im gegebenen Fall gibt es eigentlich wenig Gründe, Darktable und GIMP als snap zu nutzen.

Das mit Gimp und DT ist mir wohl alles klar, ich arbeite ja mit beiden schon eine Weile 😉 Nur bin ich andererseits ja auch ein Freund von Standards und offenbar ist diese Snap Geschichte mittlerweile so tief in Ubuntu eingebunden, dass es eher noch mehr werden wird, wie weniger. Das stellt mich vor das Problem, dass ich entweder weiter mit einer alten Version (22.04) arbeite oder künftig mein System so verbiege, dass der snapmüll davon verschont bleibt - was auch irgendwie keinen Sinn macht oder eben ich mir eine Distri suchen muss, die sowas nicht nutzt.

By the way ist es mit Flatpack nicht viel besser.

DT beziehe ich übrigends über das OBS damit ich immer recht zeitnah die aktuelle Stable Version habe, Gimp über ein freies Repo damit die Version auch aktuell ist.

Es war eben nur die Frage ob es Sinn macht bzw. möglich ist, einen Dateiaustausch zu realisieren. Mir scheint, dass snap noch eher in den Kinderschuhen steckt und nicht wirklich brauchbar und eher nervig ist. Hinzu kommt, dass ich mir zur Konfiguration eben was grafisches wünschte, was aber nicht den Ausschlag gibt.

noisefloor Team-Icon

Anmeldungsdatum:
6. Juni 2006

Beiträge: 29567

Hallo,

DT beziehe ich übrigends über das OBS damit ich immer recht zeitnah die aktuelle Stable Version habe, Gimp über ein freies Repo damit die Version auch aktuell ist.

Gut - aber wenn du aktuelle Paketquellen hast, hast du doch gar keinen Grund, snap (oder Flatpak) zu nutzen. Oder anders gefragt: warum willst du dann überhaupt snap nutzen?

Ich weiss eben, dass es nicht funktioniert, ...

"Funktioniert nicht" ist keine wirklich brauchbare Fehlermeldung. Welche Fehlermeldung bekommst du konkret.

Es war eben nur die Frage ob es Sinn macht bzw. möglich ist, einen Dateiaustausch zu realisieren.

Wie gesagt: dazu muss man wisse, _wie_ $FOO und $BAR Daten / Dateien tauschen wollen. Es gibt schon Verzeichnisse, auf die alle snaps zugreifen können. snap (und Flatpak) sind ja nicht wie virtuelle Maschinen, die 100% getrennt voneinander laufen.

Hinzu kommt, dass ich mir zur Konfiguration eben was grafisches wünschte, was aber nicht den Ausschlag gibt.

Gibt es mit 24.10. Habe ich selber auch noch nicht ausprobiert. Und um hier direkt falschen Hoffnungen vorzubeugen: man kann snaps nicht "frei miteinander verdrahten". snaps haben Slots und Plugs, die man verbinden kann. Welche das sind, liegt der Entwickler fest.

und offenbar ist diese Snap Geschichte mittlerweile so tief in Ubuntu eingebunden, dass es eher noch mehr werden wird, wie weniger.

Jein. Ja, snap kommt mit Ubuntu, aber du hast immer noch weitestgehend die freie Wahl, wie du Software installierst. "Nur" bei Firefox und Thunderbird forciert Canonical die Verwendung der entsprechenden snaps stark. Kann man umgehen, erfordert aber händische Nacharbeit. Und ja, wenn du snap schlecht findest → nimm' kein *buntu, sondern eine anderes Distro. Idealerweise eine, die nicht auf Ubuntu aufsetzt.

Gruß, noisefloor

hoerianer

(Themenstarter)

Anmeldungsdatum:
14. August 2012

Beiträge: 3156

noisefloor schrieb:

DT beziehe ich übrigends über das OBS damit ich immer recht zeitnah die aktuelle Stable Version habe, Gimp über ein freies Repo damit die Version auch aktuell ist.

Gut - aber wenn du aktuelle Paketquellen hast, hast du doch gar keinen Grund, snap (oder Flatpak) zu nutzen. Oder anders gefragt: warum willst du dann überhaupt snap nutzen?

Sorry, ich dachte ich hätte es erklärt, mir ging es darum, dass man über die Snaps aktuellere Pakete bekommt, statt die Repos hinzu zu fügen UND weil meine Befürchtung ist, dass Snap künftig noch mehr Einfluss haben wird. Also schon ein wenig ein Blick in die Zukunft.

Ich weiss eben, dass es nicht funktioniert, ...

"Funktioniert nicht" ist keine wirklich brauchbare Fehlermeldung. Welche Fehlermeldung bekommst du konkret.

Naja es findet keine Übergabe der daten statt. Ich weiss jetzt nicht in wie weit Du mit DT und Gimp bzw. der Arbeit mit Lua Skripten vertraut bist, aber Gimp sieht ein installiertes DT oder auch Rawtherapee quasi als RAW Plugin. Will man z.B. eine RAW Datei öffnen und gibt an "öffnen mit...." und wählt Gimp aus, startet Gimp darktable, man entwickelt das Bild in DT, schliesst DT und man hat es in Gimp. Das funktioniert nicht, weil Gimp DT schon nicht finden kann.

Wie gesagt: dazu muss man wisse, _wie_ $FOO und $BAR Daten / Dateien tauschen wollen. Es gibt schon Verzeichnisse, auf die alle snaps zugreifen können. snap (und Flatpak) sind ja nicht wie virtuelle Maschinen, die 100% getrennt voneinander laufen.

Aber demnach kann man solche Verzeichnisse hinzufügen wenn ich Dich recht verstehe?

Jein. Ja, snap kommt mit Ubuntu, aber du hast immer noch weitestgehend die freie Wahl, wie du Software installierst. "Nur" bei Firefox und Thunderbird forciert Canonical die Verwendung der entsprechenden snaps stark. Kann man umgehen, erfordert aber händische Nacharbeit. Und ja, wenn du snap schlecht findest → nimm' kein *buntu, sondern eine anderes Distro. Idealerweise eine, die nicht auf Ubuntu aufsetzt.

Ja die Betonung liegt auf noch 😉

Klar, dass es dann kein *buntu mehr sein wird, was mir tatsächlich leid tun würde aber dann wohl so sein muss. Manjaro oder Fedora sind gerade meine engere Wahl.

noisefloor Team-Icon

Anmeldungsdatum:
6. Juni 2006

Beiträge: 29567

Hallo,

...dass man über die Snaps aktuellere Pakete bekommt, statt die Repos hinzu zu fügen UND weil meine Befürchtung ist, dass Snap künftig noch mehr Einfluss haben wird. Also schon ein wenig ein Blick in die Zukunft.

Ob man als snap oder Flatpak oder ... aktueller Pakete bekommt als aus einer Paketquelle hängt alleine davon ab, wie wann wo jemand Programm $FOO in ein snap (oder Flatpak) verpackt und / oder in eine Fremdquelle packt. Das hat erstmal rein gar nichts mit der Technik oder der Distro zu tun, sondern in erster Instanz nur mit den persönlichen Präferenzen und Engagements derjenigen Person, die das snap / Flatpak / DEB-Paket baut. Der potentielle Vorteil von snap und Flatpak für den Paketierer ist, dass das gebaut snap / Flatpak unabhängig von der darunterliegenden Distro ist, d.h. es läuft Ubuntu genau so wie auf Fedora wie auf Suse wie auf ..., sofern snap / Flatpak auf dem System installiert ist. snap und Flatpak bringen die Laufzeitumgebung mit, im snap / Flatpak Paket sind alle Abhängigkeiten drin. Das ist dann eher vergleichbar damit, wie z.B. auf Smartphone Betriebssystemen Software verteilt wird als der klassische Ansatz der Paketverwaltung von Linux Distro.

Irgendwann werden vielleicht "immutable Distros" der Standard sein, wo der Kern des Betriebssystems gar nicht mehr erreichbar ist und Software ausschließlich über snap / Flatpak verteilt werden. Das gibt auch jetzt schon, z.B. Fedora Silverlight, Suse MicroOS und bei Ubuntu Core. Für den Ubuntu Desktop ist das für die Breite Masse aktuell nicht wirklich in Sicht.

Ich weiss jetzt nicht in wie weit Du mit DT und Gimp bzw. der Arbeit mit Lua Skripten vertraut bist, aber Gimp sieht ein installiertes DT oder auch Rawtherapee quasi als RAW Plugin.#

Gar nicht. Aber wenn es so ist, wie du beschreibst, d.h. das GIMP DT als Plugin braucht und nicht als externen Programmaufruf, dann mit IMHO in der Tat DT im GIMP snap (oder Flatpak) drin sein, damit es funktioniert.

Wenn du die Distro wechselst, dann muss du halt schauen, wie die Distro deiner Wahl Flatpak einsetzt. Wenn du eine Distro nimmst, die auf Flatpak setzt wie Ubuntu auf snap auf, hast du bei deinem gegebenen Problem auch nicht viel erreicht.

Gruß, noisefloor

shiro Team-Icon

Supporter

Anmeldungsdatum:
20. Juli 2020

Beiträge: 1253

Aber demnach kann man solche Verzeichnisse hinzufügen wenn ich Dich recht verstehe?

Jein.

Bei Snap regelt der Ersteller des SNAP, welche Freiheit du in dieser Hinsicht hast. Hier gibt es keine allgemeine Lösung. Sehr häufig ist aber $HOME freigegeben.

Bei Flatpak kannst du bestimmen, welches Objekt zum Lesen oder Schreiben freigegeben werden soll, wenn diese nicht per Default frei geschaltet sind. Dies erreichst du über den Befehl "flatpak document-export" und die dazugehörigen weiteren "flatpak" Befehle (document-info usw). Dies ist in der Dokumentation aber gut beschrieben.

Wenn du aus der Sandbox andere Programme (z.B. Plugins) aufrufen willst, die der "snap" Ersteller nicht berücksichtigt hast, bist du gekniffen oder du schreibst das "snap" neu.

Bei Flatpak gibt es die Möglichkeit, diese Programme entweder mit in die Sandbox des Programms zu packen, damit es gesehen wird oder über entsprechende "mime" Definitionen und xdg-open diese aus dem externen, nicht "flatpak" Umfeld zu starten. Dazu hatte ich hier mal was geschrieben. Bei "flatpak" gibt es zwar "klicki-bunti" Kram wie "Flatseal", was aber nicht die Mächtigkeit der Befehlszeile ausweist, manchmal aber bereits mit einer Maus-Bedienung helfen kann.

Einer der leistungsfähigsten Möglichkeiten bei "flatpak" ist, dass du dich interaktiv in die laufende Sandbox einwählen kannst ("flatpak run --command=sh app" oder "flatpak enter ...") um zu verstehen, warum bestimmte Dinge nicht funktionieren und Lösungsvarianten zu validieren. Hier hast du ein weites Spektrum an Möglichkeiten, was dir bei "snap" so nicht gegeben ist.

hoerianer

(Themenstarter)

Anmeldungsdatum:
14. August 2012

Beiträge: 3156

Vielen Dank Euch beiden für die Ausführungen. Das HIlft mir auf jeden Fall mal weiter, egal in welcher Richtung.

Dann Euch noch einen schönen Restsonntag.

Antworten |