[gnucash-de] Hoffentlich jetzt vollstaendige Anleitung Umstellung Gnucash von Distributions-Paket auf Flatpak wegen des PSD2-Drecks

Christoph Franzen christoph at alte-pflasterei.de
So Sep 22 20:11:34 EDT 2019


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 at 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
-------------- nächster Teil --------------
Ein Dateianhang mit Binärdaten wurde abgetrennt...
Dateiname   : nicht verfügbar
Dateityp    : application/pgp-signature
Dateigröße  : 819 bytes
Beschreibung: Digitale Signatur von OpenPGP
URL         : <http://lists.gnucash.org/pipermail/gnucash-de/attachments/20190923/da9dc2bd/attachment.sig>


Mehr Informationen über die Mailingliste gnucash-de