De/Flatpak

From GnuCash
Revision as of 10:39, 18 May 2020 by Fell (talk | contribs) (Tips: Wartung)
Jump to: navigation, search
Languages English

Flatpaks sind Bündel, welche neben dem Programm auch alle erforderlichen Bibliotheken enthalten. Falls Ihre Linux-Distribution für erforderliche Bibliotheken zu alt ist, aber Flatpak-Unterstützung hat, können Sie damit dennoch eine aktuelle GnuCash-Version installieren.

Das Programm läuft dabei in einer teilweise abgeschotteten Umgebung, kann also beispielsweise nur auf das Heimat-Verzeichnis des aufrufenden Benutzers schreibend zugreifen und in der Regel große Teile des Dateisystems nicht einmal lesen, welche zur Programmausführung nicht notwenig sind.

Bekannte Einschränkungen

  • Wenn Sie Ihre Smart Card benutzen wollen, benötigen Sie mindestens Flatpak 1.3.2 auf Ihrem Computer. Beschweren Sie sich bei Ihrer Distribution, wenn sie es nicht anbietet.
  • Kein Finance::Quote vor dem Bündel 3.8-2 (16/17.02.2020),
  • kein direkter Druck von Berichten (Drucken in eine Datei funktioniert) und
  • ein potenzieller Fehler, der Guile veranlaßt, alle scm-Quellen neu zu übersetzen. Workaround (englisch)

Installation

Flatpak selbst

https://flatpak.org/setup/ hat Anleitungen für verschiedene Distributionen.

Serverübersicht

  • Die #Stabile_Version_von_Flathub.org entspricht offiziellen GnuCash-Versionen und eignet sich für Distributionen, die kein aktuelles GnuCash mitliefern, aber über ein genügend aktuelles FlatPak-Paket verfügen.
  • #Testversion_von_Gnucash.org sind aktuelle Schnappshüsse, um Flicken (Patches) zu testen. An anderer Stelle können aber neue Löcher aufgetreten sein.

Beispiel-Einrichtung

Diese wurde unter Ubuntu oder Debian (ab Buster ist Flatpak regulär enthalten, für Stretch/Jessie in den „Backports“) ausgeführt. Für andere ist also apt ... durch das jeweilige Software-Installationswerkzeug zu ersetzten.

Testversion von Gnucash.org

Bisweilen gibt es Testversionen der aktuellen Programmentwicklung auf dem Build-Server.

Warnung
Vor Gebrauch von Testversionen unbedingt Daten sichern!

Die aktuelle Version enthält Aqbanking 6.0.2 (für „PSD2“ geeignet, wird für Online-Banking mit FinTS/HBCI gebraucht; Stand: 16.02.2020).

Zu finden sind die aktuellen Versionen hier (das sind nicht die eigentlichen Programmpakete, sondern Referenzdateien, die Flatpak' sagen, was heruntergeladen werden soll):

Testversion 5.6 mit aktuellen Fehlerbehebungen, aber ohne neue Programmeigenschaften (aus Stabilitätsgründen zu bevorzugen): code.gnucash.org/builds/flatpak/maint/
Testversion 5.6 mit verzögerten Fehlerbehebungen, aber neuen Programmeigenschaften: code.gnucash.org/builds/flatpak/master/

Die Dateinamen aus diesen Verzeichnissen können im Beispiel unten verkürzt eingesetzt werden: vorne „gnucash-“ und hinten „.flatpakref“ weglassen.

sudo apt install flatpak  #Nur beim allerersten Mal: Flatpak installieren
# Auch einmalig: Repositorien registrieren:
sudo flatpak remote-add --if-not-exists gnucash https://code.gnucash.org/builds/flatpak/gnucash-nightlies.flatpakrepo
sudo flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
# Anzeige aller im Repositorium vorhandenen Programmpakete:
flatpak --arch=x86_64 remote-ls gnucash
# Ausgabe ist ähnlich:
# org.gnucash.GnuCash
# org.gnucash.GnuCash.Debug
# org.gnucash.GnuCash.Locale
sudo flatpak install gnucash org.gnucash.GnuCash/x86_64/maint-C3.7-254-g1af8e272c-D3.7-57-g022975e  # <-- Version anpassen!
flatpak run org.gnucash.GnuCash  # Beliebig oft: Programmstart

Stabile Version von Flathub.org

Siehe auch: Flathub

Die Version Gnucash 3.7 enthielt noch Aqbanking 5.8.2 (für „PSD2ungeeignet, Online-Banking per FinTS/HBCI ging damit nicht mehr).

# Install FlatPak (on debian based distributions, others have to replace 'apt-get install'):
sudo apt-get install flatpak

# Register FlatHub repository for a system app (available to all users):
sudo flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
# or only you:
flatpak remote-add --user --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo

# Install GnuCash ...
# for all users:
#  sudo is only needed for a --system install, if the user is not in the 'sudo' group
#  --system is the default if --user is not specified
sudo flatpak install --system flathub org.gnucash.GnuCash
# or only you:
flatpak install --user flathub org.gnucash.GnuCash

# Run GnuCash:
flatpak run org.gnucash.GnuCash
Hinweis
Am Ende jeden Quartals erscheint eine neue Gnucash-Version. Um darauf zu aktualisieren,
flatpak update
aufrufen.

Tips

Wartung

Von Zeit zu Zeit sollte man flatpak update aufrufen, um zu sehen, für welche Komponenten es Aktualisierungen gibt. Das ist vor allem wichtig, wenn man ein Problem gemeldet hat, zu dem die Gnucash-Entwickler meinen, es liegt nicht in Gnucash, sondern in den von Flatpak verwendeten Gnome-Bibliotheken. Aber auch aus Sicherheitsgründen sollte man immer aktuelle Umgebungen verwenden.

Optische TANs

Zur Anzeige optischer TANs haben einige AqBanking-Werkzeuge den Parameter --opticaltan=<Pfad/zum/Anzeige-Programm>, z.B. /usr/bin/gwenview. Sollte Flatpak das in seinem Sandkasten nicht finden, kann man stattdessen /usr/bin/xdg-open angeben, welches dann alle passenden Programme zur Auswahl anbietet. Es ist Bestandteil des Pakets 'xdg-utils', welches man dann natürlich installiert haben sollte.

Befehlszeilen-Werkzeuge aufrufen

Man kann mit --command ein Kommando angeben, dass flatpak run statt des eigentlichen Programms ausführen soll.

Also:
flatpak run --command=sh org.gnucash.GnuCash
öffnet eine Shell innerhalb der Flatpak-Umgebung von GnuCash, in der man dann auch aqbanking-cli oder gnc-fq-* Skripte aufrufen kann.

Fehlersuche

Falls es irgendwelche Probleme gibt, hilft es bisweilen, die Konsolen-Ausgabe zu beobachten:
flatpak run org.gnucash.GnuCash
In der nächsten Stufe
flatpak run org.gnucash.GnuCash --logto stdout

werden alle Log-Daten auf der Konsole statt in einer schwer erreichbaren Trace-Datei geschrieben.

Siehe auch
Feedback

Migrationsanleitung von einer Distributions-Installation ausgehend