Well, y'know, this is what I love about Linux. The endless possibilities for customization, and setting stuff up to run, and do, exactly what you
want it to do. Not
what somebody else (in their perceived 'wisdom'), thinks
you should do.....
We run a lot of browsers as 'portables' in the Puppy Linux community. There's 'method in the madness', as far as we're concerned. Pup's is a 'special', and very unique, use-case. Unlike other 'mainstream' distros, which perform a standard, 'full' install, Puppy uses what's known as the 'frugal' install. At boot, it initializes a 'virtual, aufs union-layered file-system' in RAM, into which it copies the contents of compressed,, read-only SFS (squash file system) packages. The OS then runs in RAM for the duration of the session. (Since the average Puppy is around 250-300 MB, packed, and around 800-900 MB, 'loaded', this is easily achievable even by elderly hardware.)
At shutdown, it will save any changes to personal configurations, system configs, customizations, etc., to what's known as a 'save-file' or 'save-folder'. (The contents of this same item are layered into the aufs file-system at boot in such a way that the user simply sees what appears to be a complete, homogenous FS like would be seen in any other distro.) Puppians are almost obsessive about keeping this item as small
as possible; I'm no exception. Thus, it makes sense to run larger applications such as browsers, office-suites, stuff like that, external
There's a script, which has been floating around the web for ages. It's hardly exclusive to Puppy; we simply make use of existing code, in very much the same way that most of the community does. This script will work for any Mozilla-based browser; we've used it, successfully, on Firefox, SeaMonkey, and Palemoon itself. In Firefox, we label it 'ff'; in SeaMonkey, 'smky'; in Palemoon, 'plmn'. It's even been used, with complete success, to create 'portable' versions of the Thunderbird email client, since T-Bird shares much of its code-base with the current version of Firefox.
The script itself reads as follows:-
Code: Select all
#LAUNCHDIR="$(cd "$(dirname "$0")"; pwd)"
LAUNCHDIR="$(dirname "$(readlink -f "$0")")"
mkdir "$LAUNCHDIR/profile" 2> /dev/null
"$LAUNCHDIR/palemoon" "$@" -profile "$LAUNCHDIR/profile"
We simply add this script to the contents of the browser directory. When run, the script creates a sub-directory, within the browser directory, called 'profile'.....then at first run of the browser, creates your profile inside that sub-directory, instead of in your 'home' directory. Second and subsequent runs of the 'launch' script will start the browser always
using this 'internal' profile.
From the above, it follows that the browser directory, once so treated, can be moved/copied from one physical location to another, and, if run from a flash-drive, can be 'shared' between multiple machines. Personally, I use a single copy of Palemoon, set-up in this way, from an external, remote, auto-mounted partition on my main rig.....and started from custom Menu Entry packages, which are simply click-to-install, and pointing to this location. This way, I always have my browser, set-up the way I like it, & 'ready-to-go' regardless
of physical location (I have the same item on a flash-drive, always plugged-in, and always synced with rsync at shutdown.....ready to slip in my pocket when on my travels.)
When running as many Puppies as I do (around 11 currently), this cuts down on an awful
lot of unnecessary extra disk-space & 'repetition'.....
It's a piece of cake to set the default browser to point to the location of your 'portable' version. That's how we tackle this in Puppy.