2 questions that involve Linux

now that i will fall back to doing a fresh install of 5.1.3 i was wondering if there is a way for a non-root user to install Gramps for themselves in there own home directory space instead of having root doing it.

also, i am wondering how easy it is to move a bunch of trees (databases) to a different userid. or would i need to export them and have the new userid import them?

Ubuntu 18.04.5, Python 3.6.9

Since you’re going to be moving from 4.x to 5.1.3, you will have to export anyway. (This is to favilitate moving from BSDDB database backend to SQLite.) So set the destination and just do the XML export earlier. THEN do the fresh install.

I grabbed the source using git and unpacked it to ~/bin/gramps5 . Instructions for grabbing from git are here: https://gramps-project.org/wiki/index.php/Linux:Build_from_source#Download_the_source_from_Git

After that, you will need to make sure all the dependencies are installed:

After that, you can run from the command line. I made a .desktop file for Gramps and pinned it to the Ubuntu dock. The key line in the .desktop file is:

Exec=env GRAMPS_RESOURCES="~/bin/gramps5" PYTHONPATH="~/bin/gramps5/gramps:$PYTHONPATH" ~/bin/gramps5/Gramps.py

I don’t remember exactly what Gramps uses the GRAMPS_RESOURCES variable for, but the addition to PYTHONPATH meant python looks for python source files in the Gramps directory before other places.


1 Like

just guessing… it is probably where it finds executables it runs by expressing a full path. it probably should use a more meaningful name like GRAMPS_PATH or GRAMPS_EXEC. then there should be one for a resource library that would normally be a /lib/ subdirectory or a /share/ subdirectory. this can include things like large data that might sometimes be needed, collections of images, and so on. there should be default values with the environment variables overriding them and command line options overriding those.

No need to guess, relevant entry in the user manual:


The environment variable GRAMPS_RESOURCES is the path to Gramps builtin resources files. You should only change this if you are using Gramps from source code or a custom environment. An indicator that you need to set this variable is if you receive one of the following errors:

  • Encoding error while parsing resource path
  • Failed to open resource file
  • Resource Path {invalid/path/to/resources} is invalid
  • Unable to determine resource path

thank you. i haven’t gotten into the manual, yet. i wanted to see how intuitive the UI was designed before i do that.

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.