Howto: Synchronisieren mit Ubuntu 19.10 und Nightly-Snapshot von Chromium (statt Google Chrome)

Hier können pfiffige Benutzer Ihre geheimen Tricks und Erkenntnisse preis geben
peterzweg.at
Beiträge: 2
Registriert: Fr 3. Jan 2020, 01:15

Howto: Synchronisieren mit Ubuntu 19.10 und Nightly-Snapshot von Chromium (statt Google Chrome)

Beitrag von peterzweg.at » Fr 3. Jan 2020, 02:01

Hallo zusammen,

nachdem ich zwei Stunden gekämpft habe, möchte ich hier meinen Weg teilen, wie man mit einer aktuellen Standard-Snapversion von Chromium unter Ubuntu 19.10 eine Synchronisierung von Hibiscus Mashup hinbekommt. Dies löst das in diesem Thread beschriebene Problem: viewtopic.php?f=34&t=788
Dabei gehe ich davon aus, dass Websync und Mashup in der letzten nightly Version installiert sind.

Zwei Probleme müssen dazu gelöst werden:
1. Es muss die chrome-driver Version aus "Snap" benutzt werden, da nur diese befähigt ist, die Snap-Version von Chromium zu bedienen. Die Snap-Version von chrome-driver, die im Paket mit chromium mitinstalliert wird, mag allerdings auch die --log-path Option nicht, die beim Start mit übergeben wird. Grund ist die "Containerisierung" von Snap, die Programme dürfen nicht einfach schreiben, wohin sie wollen.
Das lässt sich leicht im Terminal beheben:

Code: Alles auswählen

cd ~/.jameica/plugins/hibiscus.scripting.chromedriver/bin/linux64
echo '#!/bin/sh' > chromedriver
echo 'exec /usr/bin/chromedriver "$1"' >> chromedriver
Damit kann man in Hibiscus zumindest die Konten wieder synchronisieren, es erscheinen auch die PIN/TAN Abfragen wieder. Nur werden keine Daten importiert, der Vorgang scheitert immer am Ende, und zwar aus folgendem Grund:

2. Durch die Containerisierung von Chromium liegt das Downloadverzeichnis für die Kontoauszüge etc. nicht in /tmp/chromedriver-downloads, sondern in /tmp/snap.chromium/tmp/chromedriver-downloads
Das ist aus mehreren Gründen nervig: Das /tmp/snap.chromium Verzeichnis wird bei jedem Neustart neu erzeugt und gehört ausschließlich root. Das kann man mit chmod und einem Symlink lösen. Zusätzlich will Mashup vor jeder Synchronisierung das Downloadverzeichnis selbst komplett löschen und neu erzeugen, was eine ständige Wiederholung eines Workarounds notwendig macht.

Einmalig muss ein Skript für den Workaround vorbereitet werden (im Terminal):

Code: Alles auswählen

cd ~
echo '#!/bin/sh' > mashupWorkaround.sh
echo 'sudo chmod 777 /tmp/snap.chromium' >> mashupWorkaround.sh
echo 'rm -rf /tmp/chromedriver-downloads' >> mashupWorkaround.sh
echo 'ln -s /tmp/snap.chromium/tmp/chromedriver-downloads /tmp/chromedriver-downloads' >> mashupWorkaround.sh
chmod u+x mashupWorkaround.sh
Zum Synchronisieren einfach in Hibiscus die Synchronisierung der Mashup-Konten starten und im Status-Log die Zeile "Überprüfe Chromium-Version" abwarten. Dann sofort parallel im Terminal den Workaround ausführen und ggf. schnell das Sudo-Passwort eintippen:

Code: Alles auswählen

~/mashupWorkaround.sh
Damit konnte ich wiederholt erfolgreich meine non-HBCI Konten synchronisieren.

Vielleicht hilft diese Anleitung ja irgendwem weiter, auf jeden Fall vielen Dank an den Hibiscus-Scripter für die Arbeit an Websync und Mashup!

Beste Grüße

peterzweg.at
Beiträge: 2
Registriert: Fr 3. Jan 2020, 01:15

Re: Howto: Synchronisieren mit Ubuntu 19.10 und Nightly-Snapshot von Chromium (statt Google Chrome)

Beitrag von peterzweg.at » Fr 10. Jan 2020, 18:30

Manchmal beschwert sich Mashup noch über ein fehlerhaftes/nicht vorhandenes Downloadverzeichnis bei der Benutzung meines Workaround-Skriptes. Besser funktioniert das Workaround-Skript daher, wenn man den Downloadordner im Snap jedes Mal wieder anlegen lässt:

Code: Alles auswählen

cd ~
echo '#!/bin/sh' > mashupWorkaround.sh
echo 'sudo chmod 777 /tmp/snap.chromium' >> mashupWorkaround.sh
echo 'rm -rf /tmp/chromedriver-downloads' >> mashupWorkaround.sh
echo 'mkdir -p /tmp/snap.chromium/tmp/chromedriver-downloads' >> mashupWorkaround.sh
echo 'ln -s /tmp/snap.chromium/tmp/chromedriver-downloads /tmp/chromedriver-downloads' >> mashupWorkaround.sh
chmod u+x mashupWorkaround.sh
Einmal so ausführen und dann wie im ersten Post beschrieben benutzen. Ein weiterer Tip: Statt Abwarten der Zeile "Überprüfe Chromium-Version" sollte man einfach die Passwort-Abfrage abwarten. Dann kann man in Ruhe das mashupWorkaround.sh Skript ausführen. Hierbei muss noch gesagt werden, dass das Skript nach JEDER Passwortabfrage ausgeführt werden muss, also auch bei einer Synchronisierung von zwei oder mehr Konten in einem Durchlauf!

Zurück zu „Tipps und Tricks“