The changes in Firefox 68 perturbed me. Both for home use and at work where I support other users.
I don't like the upstream method of creating a new profile and setting that profile as the default. There are many discussions online about this new behavior, which started in FF 67. The idea is to support multiple profiles with multiple versions of Firefox installed. There are
manual methods of restoring the original profile, but overall the default behavior is confusing for many users ("Whoa! What happened to my bookmarks!?").
I question the wisdom of this forced profile creation. I suspect a significant majority of Firefox users do not run multiple versions.
I found two ways to avoid creating a new profile when launching Firefox 68 for the first time. The first method is to hack the Firefox source code to produce a compiled binary that can create the required hash unique to each Firefox installation. That method is beyond my skills.
A second method is sneaky but effective. This method does not require generating a hash or manually using
about : profile. Open a terminal window and run
firefox --headless. Press
Ctrl+C to terminate the instance. Then run Firefox normally from the GUI. With this approach Firefox generates the new installs.ini and amends profiles.ini without generating a new profile.
From what I can tell the hash generation code is in
other-licenses/nsis/Contrib/CityHash/. I don't program in C++. I found
this discussion.
Perhaps a C++ wizard can follow that discussion to provide instructions so others can create a compiled binary?
Seems the hash is reproducible within each distro/Firefox installation. For my Slackware Current VM this hash is
11457493C5A56847. I don't know if that hash is reproducible on other users' version of Current. Would other Current users please confirm? I got a different hash on a different distro but the hash is again reproducible.
The hash on my Slackware64 14.2 system is
30AA553C542FDB21. Would other Slackware64 14.2 users confirm?
A random 16 character hash can be created with
cat /dev/urandom | tr -dc A-Z0-9 | head -c16. Firefox won't use that hash and seems designed only to use its own hash derived from the local Firefox install.