You can use Firefox with different profiles and configure it to launch particular profile directly, without launching default profile and using about:profiles.
Firefox with a non-default profile can be created like that:
./firefox -CreateProfile "profile-name /home/user/.mozilla/firefox/profile-dir/"
# For linkedin that would be:
./firefox -CreateProfile "linkedin /home/user/.mozilla/firefox/linkedin/"
And you can launch it like that:
./firefox -profile "/home/user/.mozilla/firefox/profile-dir/"
# For linkedin that would be:
./firefox -profile "/home/user/.mozilla/firefox/linkedin/"
So, given that /usr/bin/firefox is just a shell script, you can
- create a copy of it, say, /usr/bin/firefox-linkedin
- adjust the relevant line, adding the -profile argument
If you use an icon to run firefox (say, /usr/share/applications/firefox.desktop), you'll need to do copy/adjust line for the icon.
Of course, "./firefox" from examples above should be replaced with the actual path to executable. For default installation of Firefox the path would be in /usr/bin/firefox script.
So, you can have a separate profiles for something sensitive/invasive (linkedin, shops, etc.) and then you can have a separate profile for everything else.
And each profile can have its own set of extensions.
Night Filter is an easy-to-use screen filter app for your Android device. Adjust brightness and colour, set up schedules, and reduce eye strain for comfortable night-time reading. [1]
prefs.js is modified by browser itself. And it contains lots of stuff by default already.
You can store your custom preferences in user.js file - Firefox will copy those to prefs.js at startup.
From your link:
The user.js[1] file is optional. If you have one whenever the application is started it will overwrite any settings in prefs.js with the corresponding settings from user.js.
geo.provider.use_corelocation: true/false # presumably for tracking on MacOS
geo.provider.use_geoclue: true/false # presumably for tracking Linux users with Geoclue2 provider [1]
geo.enabled: true/false # presumably, turns the whole thing off
Some say[2][3], use_ options take precedence over network.url, so you need to set those to false.
It also appears[3][4], that setting geo.provider.testing to true might be required.
> Also profiles can be configured and used with CLI, no need for UI (old or new).
AFAIK, they can only be created at the command line, not configured. If you want to do things like change default settings or install extensions from the Firefox Add-On store, you can't really do that at the command line.
You can do that by mucking around in the user.js file and manually adding .xpi files to the extensions/ subfolder, but that's probably stretching the definition of "done at the command-line" since most people aren't creating Puppet modules to manage Firefox profiles.
Perhaps someone knows an easier way to do this, though.
Instead of needing to know scripting for a core feature, it would be nice if I could tell the program to ask me every time I open a new window which profile that window used. Right click would have an option like their containers "opening new profile window" .
That's great for part of HN users, just not for most Firefox users. I guess that's they already had the old interface and are making it more user friendly with the new UI :-)
Firefox with a non-default profile can be created like that:
And you can launch it like that: So, given that /usr/bin/firefox is just a shell script, you can If you use an icon to run firefox (say, /usr/share/applications/firefox.desktop), you'll need to do copy/adjust line for the icon.Of course, "./firefox" from examples above should be replaced with the actual path to executable. For default installation of Firefox the path would be in /usr/bin/firefox script.
So, you can have a separate profiles for something sensitive/invasive (linkedin, shops, etc.) and then you can have a separate profile for everything else.
And each profile can have its own set of extensions.