Flatpak

From GnuCash
Jump to: navigation, search
Languages Deutsch

Flatpaks are bundles which besides the program also contain all required libraries. Use cases:

  • If your Linux distribution is too old to offer all required libraries but has Flatpak support, you can install a recent released version of GnuCash from the FlatHub repository.
  • If a developer asks you to test a patch, you can use a nightly version from our Flatpak repository.

Known Issues

  • To use smart cards, at least Flatpak 1.3.2 needs to be installed on your system. Complain against your distribution if they do not offer it.
  • no direct report printing (printing to file works) and
  • a potential bug that causes guile to attempt to recompile all scm sources:
    ldconfig: /app/lib/libguile-2.2.so.1.3.0-gdb.scm is not an ELF file - it has the wrong magic bytes at the start.
    
    ;;; note: source file /app/share/guile//2.2/ice-9/eval.scm
    ;;;       newer than compiled /app/lib/guile/2.2/ccache/ice-9/eval.go
    :
    
Workaround:
cd /var/lib/flatpak/app/org.gnucash.GnuCash/
sudo find . -name '*.go' -exec touch '{}' ';'

Installation

Examples for Ubuntu or Debian (in Buster, Flatpak is already included, for Stretch and Jessie backports exist):

Hint
For other distributions replace apt* <command> by your preferred commandline software managment tool and its command, i.e.
zypper install flatpak
for many rpm based distributions.

Releases from flathub.org

You can have both the regular, currently GnuCash 4.0, and beta branches installed at the same time.

Betas (GnuCash 4.9xx) are previews and only released in the last months before the next main version, see Release Schedule.

See also Flathub

Flathub version Gnucash 3.8 shipped with Aqbanking 6.1.0 which was almost suitable PSD2 using online banking with the FinTS/HBCI protocol. But newer versions still got more fixes.

For Stable Releases
# Install FlatPak (on debian based distributions, others have to replace 'apt-get install'):
sudo apt-get install flatpak
# Register FlatHub repository:
sudo flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
# Install GnuCash ...
## for all users:
sudo flatpak install flathub org.gnucash.GnuCash
## or only you:
flatpak install flathub org.gnucash.GnuCash
# Run GnuCash:
flatpak run org.gnucash.GnuCash
Tip
To get the most recent version, run each quarter year (see Release Schedule):
flatpak update
For Unstable (i.e., beta) Releases
Do the process for stable releases, but register, install, and run as follows.
# Register:
sudo flatpak remote-add --if-not-exists flathub https://flathub.org/beta-repo/flathub-beta.flatpakrepo
# Install
flatpak install --user flathub-beta org.gnucash.GnuCash
# Run
flatpak run --branch=beta org.gnucash.GnuCash

Test version from gnucash.org

Warning
Save your data before using test versions!

Often you can find test versions on the build-server. They come in two flavours:

Maint
Version 4.0 plus all recent bug fixes, but no new features: code.gnucash.org/builds/flatpak/maint/
Master
Version 4.0 plus new features, but bug fixes can be delayed a few days: code.gnucash.org/builds/flatpak/master/
Tip
The file names in these directories can be used in the example below after trimming the „gnucash-“ prefix and „.flatpakref“ suffix.

The current version contains Aqbanking 6.1.0 (PSD2 capable of online banking via FinTS/HBCI (german) protocol; date of this information: 2020-02-20).

sudo apt install flatpak  #install Flatpak
# register repositories:
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
flatpak --arch=x86_64 remote-ls gnucash  # show all packages
# output should be:
# org.gnucash.GnuCash
# org.gnucash.GnuCash.Debug
# org.gnucash.GnuCash.Locale
sudo flatpak --arch=x86_64 install gnucash org.gnucash.GnuCash//maint-C3.8b-163-g0e6c9e219-D3.8b-15-g0479ece  # <-- change version here!
flatpak run org.gnucash.GnuCash  # start program
Note
flatpak --arch=x86_64 is only required, if you have a 64-bit processor with a 32-bit OS.

Tips

Maintenance

You should — also if no new GnuCash version was announced — sometimes run
[sudo] flatpak update
to to look for updated components of your Flatpak environment. That might look like:
        ID                                    Zweig  Op  Remote   Download
 1.     org.freedesktop.Platform.GL.default   19.08  u   flathub   < 85,1 MB
 2.     org.freedesktop.Platform.VAAPI.Intel  19.08  u   flathub    < 8,7 MB
 3.     org.gnome.Platform.Locale             3.34   u   flathub  < 322,2 MB (partial)
 4.     org.gnome.Platform                    3.34   u   flathub  < 320,4 MB
 5.     org.gnome.Sdk.Locale                  3.34   u   flathub  < 325,8 MB (partial)
 6.     org.gnome.Sdk                         3.34   u   flathub  < 663,9 MB

Proceed with these changes to the user installation? [Y/n]:
It is primarly important, if you reported a problem about which the Gnucash-Developers said, its cause lies not in Gnucash but one of the by Flatpak installed Gnome libraries. But also for security reasons you should keep your environment up to date.

Getting Console Output

In case of trouble get the console output:
flatpak run org.gnucash.GnuCash
or even better
flatpak run org.gnucash.GnuCash --logto stdout

The latter will print all logs to the console rather than to an inaccessible trace file.

Using Command Line Tools

To call command line tools like aqbanking-cli
flatpak run --command=sh org.gnucash.GnuCash
opens a shell inside the sandbox of GnuCash.

Granting Access to Other Resources

Each flatpak is a sandbox. To allow it e.g. access to your USB drive, execute
sudo flatpak override org.gnucash.GnuCash --filesystem=<path-to-your-usb>
See also
https://docs.flatpak.org/en/latest/sandbox-permissions.html

Other

Migration from normal package to flatpak (german)