De/Flatpak/Migrationsanleitung

From GnuCash
Revision as of 22:11, 23 September 2019 by CHF (talk | contribs) (Migrationsanleitung Distributions-Paket nach Flatpak erstellt)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Einleitung

Diese Seite enthält eine Migrationsanleitung zum Übergang von einer bestehenden Gnucash-Installation zu einer Flatpak-Installation unter Linux.

Der Zweck ist, ein PSD2-fähiges Gnucash für Nutzer von FinTS/HBCI zur Verfügung zu stellen.

Damit es schnell geht und dieser Link weiterverbreitet werden kann, fange ich mit den E-Mails aus der Gnucash-Mailingliste im Rohformat an, für das Wiki schöner formatieren kann man es immer noch.

Anleitung

1. E-Mail

Von: Christoph Franzen <christoph@alte-pflasterei.de> Absender: "gnucash-de"

<gnucash-de-bounces+christoph=alte-pflasterei.de@gnucash.org>

Reply-To: christoph@alte-pflasterei.de An: gnucash-de@gnucash.org Betreff: [gnucash-de] Hoffentlich jetzt vollstaendige Anleitung Umstellung Gnucash von Distributions-Paket auf Flatpak wegen des PSD2-Drecks Datum: Mon, 23 Sep 2019 02:11:34 +0200 X-Mailer: Claws Mail 3.14.1 (GTK+ 2.24.31; i686-pc-linux-gnu) Organisation: Franzen

Hallo allerseits,

nach einem ganzen Tag am Stück des sinnfreien Herumprobierens habe ich es geschafft, meine Konten wieder zugänglich zu machen und schreibe das nun aus dem Gedächtnis und vermutlich „.bash_history“ auf.

Ausgangslage: Debian, mehr oder weniger Jessie, von i386 so halb nach AMD64 migriert und uralt, also seit den ganz frühen 2000er Jahren immer nur Updates, nie neu installiert. Darauf lief bislang Gnucash 2.6.11 zu meiner Zufriedenheit bis etwa September.

VORAUSSETZUNG: Linux, AMD64/x86_64-fähig, also entweder nativ oder als „Multi-Arch“!

Hilfe im Web: https://wiki.gnucash.org/wiki/De/Flatpak https://www.aquamaniac.de/rdm/projects/aqbanking/wiki/SetupPinTan

Als „root“ oder mit „sudo“ davor:

1) Flatpak installieren

sudo apt-get install flatpak

„apt-get -t oldstable …“ könnte beispielsweise nötig sein, um die richtige ältere Version auszuwählen, die noch keinen Versionskonflikt auslöst, man kann auch einen grafischen Paketmanager nehmen oder „aptitude“, dann halt gegebenenfalls dort eine Version erzwingen, die nichts anderes kaputtmacht.

2) Das Flatpak-Repository von Gnucash.org einrichten:

sudo flatpak remote-add --if-not-exists gnucash https://code.gnucash.org/builds/flatpak/gnucash-nightlies.flatpakrepo

Das da oben gehört in EINE ZEILE.

2a) Test, ob bis hierhin erfolgreich

flatpak remote-ls gnucash

Da sollte sowas kommen, je nach Flatpak-Version auch noch die „branches“: org.gnucash.GnuCash org.gnucash.GnuCash.Debug org.gnucash.GnuCash.Locale

Falls hier einfach gar nichts kommt, obwohl der Befehl unter 2) keinen Fehler gemeldet hat, kann das daran liegen, daß Ihr wie ich eine alte i386-Installation habt. Wenn Euer Rechner 64-bittig ist und Ihr einen 64-bittigen Kernel am Laufen habt, könnt ihr per „Multiarch“ trotzdem 64-Bit-Programme laufen lassen. Wie man das einrichtet, beschreibe ich hier nicht.

In dem Fall lautet der obige Befehl:

flatpak --arch=x86_64 remote-ls gnucash

2b) Verfügbare Versionen nachschauen

Am einfachsten mit einem Webbrowser hier: https://code.gnucash.org/builds/flatpak/master/

Der (am besten oberste) Dateiname muß im nächsten Schritt verkürzt eingesetzt werden, vorne „gnucash-“ und hinten „.flatpakref“ weglassen.

Wenn die neueste Version später nicht läuft, die nächst-ältere nehmen und so weiter.

3) Gnucash installieren

sudo flatpak --arch=x86_64 install gnucash org.gnucash.GnuCash//maint-C3.7-57-g1a6314e10-D3.7-21-g06f4b05

Wieder in EINER ZEILE!

Wie oben beschrieben, können „sudo“ (wenn Ihr schon „root“ seid) und „--arch=x86_64“ bei Euch überflüssig sein, schaden tun sie aber nicht.

Das da oben ist die Version vom 22. September 2019, die habe ich getestet und inzwischen läuft sie hier – bisher einwandfrei.

4) Dateien kopieren

Ab jetzt geht es als Normalbenutzer weiter.

Das Flatpak kann schreibend nur auf $HOME des Benutzers zugreifen, als der man später arbeiten möchte, daher muß die Gnucash-Datei mit den Konten auch dort irgendwo liegen!

Beispiel: /home/BENUTZERNAME/Dokumente/Bankdaten/MeineBuchführung.gnucash aber NICHT: /usr/local/share/Bankdaten/Geschäft.gnucash

Also gegebenenfalls jetzt an einen geeigneten Ort umkopieren.

WICHTIG: Auch wenn es schon unterhalb von $HOME ist, nun UNBEDINGT eine Sicherheitskopie von Eurer alten Original-Datei machen. Neben dem Risiko, daß die gewählte Gnucash-Version einen bisher unentdeckten Fehler hat, kann man bei den folgenden Schritten einiges falsch machen, das einem die Daten-Datei versaut. Wenn man das dann nicht mühsam von Hand einzeln reparieren möchte, JETZT KOPIEREN!

Wenn Ihr weder das neue Gnucash, noch das neue Aqbanking im Flatpak gestartet habt, solltet Ihr nun Eure Aqbanking-Konfigurations-Daten wie folgt kopieren:

cd ~/.aqbanking cp -a settings settings6

ACHTUNG! Wenn settings6 schon da ist, weil Ihr Aqbanking im Flatpak vor diesem Schritt schon mal aufgerufen hattet:

cp -a settings/* settings6

(Sonst bekommt man settings6/settings/… !)

5) Aktualisieren der Aqbanking-Einstellungen

Es muß auf ein neues TAN-Verfahren umgestellt werden, auch wenn es sich im Prinzip nicht geändert hat! Die für PSD2-konformes Verhalten „aufgebohrten“ Varianten heißen anders. (Vor der alten Nummer, beispielsweise „910“ für „Chiptan manuell“ bei der Sparkasse Aachen, steht nun eine weitere Ziffer, hier „6“.)

Durch den vorangegangenen Kopier-Schritt sind Eure Konten jetzt schon mal da, brauchen in Aqbanking daher nicht neu eingerichtet zu werden.

Der in Gnucash eingebaute Assistent mit Benutzeroberfläche für Aqbanking führt jedoch nicht zum Ziel (es kommt wohl mit den neuen TAN-Verfahrens-Kürzeln noch nicht klar), so daß man die folgenden Schritte auf der Kommandozeile erledigen sollte.

Dazu starten wir eine Shell in der Flatpak-Umgebung von Gnucash (theoretisch geht's auch außerhalb, WENN das alles schön in $HOME liegt, falls nicht, war der vorherige Schritt schon anzupassen):

flatpak run --command=sh org.gnucash.GnuCash

Ausgabe:

console·BENUTZERIN@RECHNER$ _

Bei manchen der folgenden Aktionen (denen, die Konten- oder Kundenspezifische Informationen abrufen) wird Euer Paßwort/PIN abgefragt!

Je nachdem ist es erforderlich/sinnvoll, sich JETZT im Web-Interface der Bank an- und abzumelden, weil dann erst der Daten-Abruf per FinTS nach einer TAN-Abfrage im Web freigegeben wird.

Ich fürchte, die ING ist so ein Fall, wo man PSD2 zum Anlaß genommen hat, den FinTS-Zugang zu verkrüppeln, so daß nur noch Umsatz-Abfragen gehen (momentan nicht mal die), aber keine Überweisungen oder andere TAN-pflichtige Aktionen mehr.

5a) Aqbanking-Benutzer-Nummern nachschlagen

aqhbci-tool4 listusers

Ausgabe:

User 0: Bank: de/BLZ User Id: KONTO Customer Id: KONTO Unique Id: 1 User 1:…

„User Id“ und „Customer Id“ sind meistens die Kontonummer.

Wenn Ihr nur ein Mal ein einziges Konto eingerichtet hattet, ist die Id einfach 1. Bei Fehlversuchen, Bankwechseln und dergleichen zählt die aber hoch, auch wenn Ihr nach wie vor nur 1 Konto habt.

Das Beispiel geht jetzt weiter mit „$ID“ als Platzhalter für diese Zahl.

5b) TLS-Flag setzen

aqhbci-tool4 adduserflags -u UniqueId -f tlsIgnPrematureClose

Ging bei der Sparkasse hier ohne, schadet aber anscheinend auch nicht.

5c) Abrufen der Bankparameterdaten

aqhbci-tool4 getbankinfo -u $ID

5d) Abrufen der Systemkennung

aqhbci-tool4 getsysid -u $ID

5e) Abrufen der TAN-Methoden

aqhbci-tool4 listitanmodes -u $ID

Ausgabe ähnlich wie: TAN Methods - 6910 (F910/V6/P2): HHD1.3.0 (chipTAN manuell) [available] - …

Das ist eine Liste aller Methoden, welche die Bank anbietet; diejenigen, die für Euer Konto aktiviert sind, sind mit „[available]“ gekennzeichnet, die anderen mit „[not available]“.

Wenn dort „[available and selected]“ steht, ist die TAN-Methode für Euch eingestellt.

Wahrscheinlich ist aber in Aqbanking noch die alte Methode ausgewählt, die es nicht mehr gibt.

5f) TAN-Methode auswählen

aqhbci-tool4 setitanmode -u $ID -m 6910

Hinter das „-m “ kommt die für Euch richtige Nummer, die kann bei Eurer Bank von meinem Beispiel abweichen!

5g) Optionales Setzen der TAN-Mediumkennung

Der folgende Hinweis ist nicht von mir verifiziert: Dieser Schritt ist oft nötig, wenn man z.B. ein SMS-Tan-Verfahren verwendet (insbesondere bei der Postbank). Bei der Postbank muss man noch beachten, daß man hier vor die Kennung noch eine spezielle Zeichenfolge setzen muß: cT: bei Verwendung von chipTan mT: bei Verwendung von mobileTan SO: bei Verwendung von BestSign ("Seal One") Eine vollständige TAN-Medienkennung wäre bei der Postbank dann also z.B. "mT:TAN_MEDIUM_KENNUNG"

aqhbci-tool4 setTanMediumId -u $ID -m "TAN_MEDIUM_KENNUNG"

5h) Abrufen/Anzeigen der Kontenliste

Die Konten sind durch die Kopieraktion im Schritt 4) schon da. Ruft man den untigen Befehl dennoch auf, wird ein Update gemacht, dabei werden zum einen Konten hinzugefügt, die bei der Bank vorhanden sind, aber in Aqbanking nicht eingetragen waren (beispielsweise, wenn Ihr eine Vollmacht mit Online-Zugang von jemandem bekommen, dies aber bisher nicht genutzt habt) und Namens-Felder werden mit den bankseitigen Werten überschrieben, auch wenn Ihr sie innerhalb Aqbanking abgeändert hattet.

aqhbci-tool4 getaccounts -u $ID

Auflisten der verfügbaren Konten:

aqhbci-tool4 listaccounts -v

5i) SEPA-Informationen

Die Liste, die im letzten Schritt angezeigt wurde, solltet Ihr nun durchgehen und für jedes der Konten erneut die SEPA-Informationen abrufen:

aqhbci-tool4 getaccsepa -a $KONTEN-ID

Nun müßten sämtliche Informationen aktuell sein.

6) GNUCASH STARTEN

Ihr könnt nun, wenn Ihr in in der Flatpak-Shell seit, direkt „gnucash“ aufrufen.

Die Flatpak-Shell verlassen könnt Ihr mit „Strg-d“ oder „exit [Enter-Taste]“.

Von „außerhalb“ des Flatpaks, also in Eurer normalen Linux-Umgebung, müßt Ihr Gnucash künftig wie folgt starten:

flatpak run org.gnucash.GnuCash

Wenn Ihr Eure Gnucash-Datei umkopieren mußtet, siehe Schritt 4), dann wird sie nun natürlich nicht automatisch geöffnet, auch wenn das vorher so eingestellt war.

7) Konto abrufen

Das macht Ihr einfach wie gewohnt. Es sollte ganz normal nach PIN/Paßwort gefragt werden.

Bei mir war es so, daß nach der ersten Umsatz-Abfrage UND nach der ersten Salden-Abfrage jeweils einmalig erneut nach dem in Gnucash zugeordneten Konto gefragt wurde!

Dann müßt Ihr einfach das Gnucash-Konto aus der Kontenliste auswählen, das dem Aqbanking-Konto entspricht. VORSICHT: hier nicht „verklicken“, wenn Ihr mehrere Bankkonten habt!

Das war es dann, wenn bis hierher alles funktioniert hat. Viel Glück bei der Umstellung, Ihr werdet es vermutlich brauchen.

Herzliche Grüße, Christoph ______________________________________________ gnucash-de mailing list gnucash-de@gnucash.org https://lists.gnucash.org/mailman/listinfo/gnucash-de

2. E-Mail

Von: Christoph Franzen <christoph@alte-pflasterei.de> Reply-To: christoph@alte-pflasterei.de Referenzen: <20190923021134.18dcecfe.christoph@alte-pflasterei.de> An: gnucash-de@gnucash.org Betreff: Nachtrag: Hoffentlich jetzt vollstaendige Anleitung Umstellung Gnucash von Distributions-Paket auf Flatpak wegen des PSD2-Drecks Datum: Mon, 23 Sep 2019 21:41:00 +0200 X-Mailer: Claws Mail 3.14.1 (GTK+ 2.24.31; i686-pc-linux-gnu) Organisation: Franzen

Hallo allerseits,

wie zu erwarten war, ist die Anleitung nicht perfekt gewesen und es gibt bereits neue Erkenntnisse:

> 2) Das Flatpak-Repository von Gnucash.org einrichten: > > sudo flatpak remote-add --if-not-exists gnucash > https://code.gnucash.org/builds/flatpak/gnucash-nightlies.flatpakrepo

Das reicht nicht aus, man muß ZUSÄTZLICH Flathub.org einbinden:

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

> Das da oben gehört in EINE ZEILE.

Der Grund: man braucht auch eine passende Version von Gnome, worauf Harald Braun dankenswerterweise hingewiesen hat. Das fehlte in meiner Zusammenfassung, weil ich das wegen vorheriger Experimente bereits installiert und nicht erkannt hatte, daß dies eine zwingende Voraussetzung ist.

Ich schätze mal, die Installation des Gnome-Pakets erfolgt als Abhängigkeit im nächsten Schritt automatisch, kann das aber nicht beschwören.

> 5) Aktualisieren der Aqbanking-Einstellungen

> Der in Gnucash eingebaute Assistent mit Benutzeroberfläche für > Aqbanking führt jedoch nicht zum Ziel (es kommt wohl mit den > neuen TAN-Verfahrens-Kürzeln noch nicht klar), so daß man die > folgenden Schritte auf der Kommandozeile erledigen sollte.

Was das betrifft, so bin ich mir nicht mehr ganz so sicher. Vielmehr war es wohl so, daß ich die Schritte nicht in der richtigen Reihenfolge durchgeführt hatte, aus den Schaltflächen der Benutzeroberfläche geht halt nicht hervor, was man sinnvollerweise zuerst tun sollte.

So habe ich insbesondere versucht, die TAN-Verfahren vor der Bankparameterdatei abzurufen und nicht erkannt, daß die dreistellige Anzeige nichts ausmacht: das sind sehr wohl die neuen, wenn da in Klammern „Version 6“ dransteht.

Ich denke inzwischen, wenn man alles in der beschriebenen Reihenfolge macht, geht das auch innerhalb der Benutzeroberfläche.

Andererseits schrieb Bernd Brägelmann:

> Danach habe ich ein aqbanking Konto mit einem Konto in Gnucash > verknüpft und mit "Apply" bestätigt. Leider wird diese Verknüpfung > nicht gespeichert. Wenn ich versuche online Aktionen auszuführen > bekomme ich z.B. eine Fehlermeldung: 'online action "get balance" not > available for this account' Wenn ich das Online Banking Setup nochmal > durch klicke sehe ich, dass die zuvor eingerichtete Verknüpfung > aqbanking -> gnucash fehlt (screenshot anbei - blaue verknüfpfung > fehlt dann).

Das kann ich bestätigen, bei mir blieben jedoch trotz der fehlenden Anzeige die Zuordnungen erhalten, ABER:

> 7) Konto abrufen > > Das macht Ihr einfach wie gewohnt. > Es sollte ganz normal nach PIN/Paßwort gefragt werden. > > Bei mir war es so, daß nach der ersten Umsatz-Abfrage UND nach der > ersten Salden-Abfrage jeweils einmalig erneut nach dem in Gnucash > zugeordneten Konto gefragt wurde!

Also konkret: daß das Konto verknüpft ist, erkennt man daran, daß, wenn man es öffnet, die Online-Aktionen im Menü aktiviert werden und benutzt werden können. Bei einem Konto, dem kein Aqbanking-Konto zugeordnet ist, sind diese Menüpunkte inaktiv.

Gleichwohl muß man nach dem ersten Abruf der Buchungen das Konto in einer Abfrage erneut als das Zielkonto für den Datenabruf angeben, das gleich gilt beim erstmaligen Salden-Abruf.

Das kommt mir schwachsinnig vor, ist aber bei der Erst-Einrichtung eines neuen Kontos ganz genauso.

Herzliche Grüße, Christoph