So, I’ve changed my Firefox setup quite a bit over the last months. I now work with multiple profiles, e.g. one for online banking, one for social media use and one for development purposes and one for “default” use (i.e. pretty much else). I’m quite happy with the experience.
Usually I have all three profiles running in parallel, showing on different virtual desktops of my linux box. I.e., on desktop 2, I usually have my development environment open, so I’ll open the “development” browser there, desktop 4 runs all the applications for interacting with other people (mail etc.), so “social” goes there and the default one will show on virtual desktop 5.
Why would you do this?
One direct effect is that the amount of open tabs in any given browser window is a lot smaller and also better grouped than before. I.e., any web page I need for my current development project I will only open in my “development” profile. I will only open my bank’s page in the banking profile, so this browser window will never show anything else.
The other main benefit is that I can have profile specific configurations. E.g., I nail down my “default” profile with NoScript which is not really useful on my “development” profile, whereas I don’t need e.g. the React Dev tools on the “social” or “default” profile.
Dedicated profiles can also help with security, e.g., using a dedicated profile can lower the attack surface for online banking: When you don’t browse to other sites with the same browser/profile, any XSS/CSRF issue on these “other” sites for sure can’t affect your online banking connection.
The profile I use exclusively for online banking is also highly locked down and in addition uses a different theme, so that it is visually obvious that I’m working with this profile.
Get me started, please
To start using multiple profiles, you have to run Firefox with the
-P switch, which will start the Profile
that allows you to create new profiles, delete profiles
etc. Alternatively, if you have Firefox already running, browsing to
about:profiles will also allow you to manage your
For a while, I just started the non-default browsers manually over the
command line, by just opening an xterm and running
--no-remote -P social &. But I finally created some additional local
.desktop files (cf. the Arch wiki page on xdg desktop
files), so I
can start Firefox from the desktop. I.e., I added a file
with the following content:
[Desktop Entry] Name=Social Firefox Comment=Browse the World Wide Web Comment[de]=Im Internet surfen Exec=/usr/lib/firefox-esr/firefox-esr --no-remote -P social %u Terminal=false X-MultipleArgs=false Type=Application Icon=firefox-esr Categories=Network;WebBrowser; MimeType=text/html;text/xml;application/xhtml+xml;application/xml;application/vnd.mozilla.xul+xml;application/rss+xml;application/rdf+xml;image/gif;image/jpeg;image/png;x-scheme-handler/http;x-scheme-handler/https; StartupWMClass=Firefox-social StartupNotify=true
This will then create a menu entry in the “Internet” submenu in my application starter menu in my desktop environment (because that’s where the given categories will create entries).
One annoying thing is the profile selection that Firefox pops up when you don’t
specify a profile on the command line. If you select the option “Use
the selected profile without asking at startup”, then it will not be
easy anymore to use a different profile — the only way then is really
This default profile selection becomes a problem
especially when you want to open a link from a different application
(eg. from your mail program), because then you can’t decide which of
the running browsers/profiles will open the link, it will always try
to use the default one. I have seen varying behavior what Firefox does
when you don’t select a default profile: sometimes it just picks one
running profile successfully, but I’ve also seen it opening the
profile selection dialog again. In that case, if you select a profile
that is already in use, Firefox will handle it like an attempt to open
up the profile a second time, resulting in an error. My current
workaround to this particular issue is to set the default browser to
xdg-settings set default-web-browser chromium.desktop.
The other hassle working with multiple profiles is bookmark management, as I want some bookmarks only local to one profile but most should be shared. I can use Pocket for the shared ones, of course. However, I often just copy&paste the URL manually to the “default” browser which serves as the main bookmark keeper. I really should move away from this completely and instead use the bookmark extension of my Nextcloud installation.
Overall, for me the benefits clearly outweigh any drawbacks.