User:Diggernet/Sandbox

From Gramps
Jump to: navigation, search

Run GRAMPS from a portable drive

Jim Sack

Hmmm, have you tried something like starting gramps with some environment variable help?

In *nix, it should even work as from the command line:

HOME=/media/usb_volname/GDB gramps

Or on Windows, maybe a .bat file (some guesswork here -- not tested!)

oup=%USERPROFILE%
set USERPROFILE=e:\GDB
gramps
set USERPROFILE=%oup%

This probably needs more help. Maybe pass the drive letter as a parm.


Anyway, the idea is that the database and preferences would both be in the GDB dir of the removable device.


Dave Walton

Why no, as a matter of fact, I had NOT tried something like that. Nor would I have known which var to mess with. Thanks for the tip!

Using your Windows example as a starting point, I came up with this batch file, which I call gramps.bat:

@echo off

REM Make changes to environment variables local to this block
setlocal

REM Set USERPROFILE to the drive and path of this script
set USERPROFILE=%~dp0

REM Go to this script location for good measure
%~d0
cd "%~p0"

REM I don't know how to locate and start GRAMPS without hardcoding
REM the drive and path for it and Python.
C:\Python25\pythonw.exe "C:\Program Files\gramps\gramps.py"

REM End the local environment block
endlocal

When this script is run, it starts gramps with the profile set to the drive and directory that contains the script. So you attach the drive, double click the batch file, and gramps starts up, no matter which letter the drive got. Assuming windows gramps and all its dependencies are correctly installed on that computer, of course. If I knew how to set up those on the removable drive, too, it'd be perfect. But this path stuff was the most critical part of the problem.

Right now I'm stuck on a loaner computer, but when I get a new one set up I'll be able to do a *nix version, too. They'd also be good content for a "How do I..." on the wiki.


Jim Sack

Yea! That would be great. You might also add an expanded discussion version (or footnotes) explaining the technical/syntax details.

I await the educational opportunity.  :-)


Jim Sack

Benny Malengier wrote:

> > How do I run GRAMPS from a stick?

I think Dave will be explaining it in human language, but here it is in geek:

cp -a ~/.gramps /media/disk/
HOME=/media/disk gramps

when you plug it into someone else's machine, you have to substitute the appropriate mount point on that host for the HOME value.

To accommodate visiting relatives running Windows, you might do

cp -a ~/.gramps/* /media/disk/gramps
USERPROFILE=/media/disk gramps

Well, sorry, but that doesn't quite work in Linux -- it almost does, except for a hardcoded

DATABASE_PATH : '~/.gramps/grampsdb'

in Config/_GrampsConfigKeys.py <maybe that sh/could be fixed?>

You'll probably want to put Dave's batch file to do the trick on the actual Windows system. a dos shortcut file might actually allow the same database to work on Win and Linux. Hmmm, how does one make a shortcut file on (eg) vfat from linux?


Category:How do I...