On my system, I wanted Firefox profiles to feel like their own browser instances. Meaning, their own app icons and to not be grouped together. Almost like how it is on MacOS.

To do this, I had to make multiple .desktop files. Here are the contents of that file. This targets flatpak, but it should work for traditional Firefox installs too.
I called this profile “Personal”. Note that this says --profile "/home/USERNAME/.var/app/org.mozilla.firefox/config/mozilla/firefox/personal". In this, “personal” is a symlink to the real profile folder name located in the same directory.
[Desktop Entry]
Version=1.0
Type=Application
Exec=/usr/bin/flatpak run --env=MOZ_APP_REMOTINGNAME=Personal --branch=stable --arch=x86_64 --command=firefox --file-forwarding org.mozilla.firefox --profile "/home/USERNAME/.var/app/org.mozilla.firefox/config/mozilla/firefox/personal" --name org.mozilla.firefox.Personal --class org.mozilla.firefox.Personal @@u %u @@
Terminal=false
X-MultipleArgs=false
Icon=/home/USERNAME/.local/share/icons/firefox-heart.png
StartupWMClass=org.mozilla.firefox.Personal
DBusActivatable=false
Categories=GNOME;GTK;Network;WebBrowser;
MimeType=application/json;application/pdf;application/rdf+xml;application/rss+xml;application/x-xpinstall;application/xhtml+xml;application/xml;audio/flac;audio/ogg;audio/webm;image/avif;image/gif;image/jpeg;image/png;image/svg+xml;image/webp;text/html;text/xml;video/ogg;video/webm;x-scheme-handler/chrome;x-scheme-handler/http;x-scheme-handler/https;x-scheme-handler/mailto;
StartupNotify=true
Actions=new-window;new-private-window;
Name=Firefox (Personal)
Comment=Fast and private browser
GenericName=Web Browser
Keywords=Internet;WWW;Browser;Web;Explorer;
X-GNOME-FullName=Mozilla Firefox
[Desktop Action new-window]
Exec=/usr/bin/flatpak run --env=MOZ_APP_REMOTINGNAME=Personal --branch=stable --arch=x86_64 --command=firefox --file-forwarding org.mozilla.firefox --profile "/home/USERNAME/.var/app/org.mozilla.firefox/config/mozilla/firefox/personal" --name org.mozilla.firefox.Personal --class org.mozilla.firefox.Personal --new-window @@u %u @@
Name=New Window
[Desktop Action new-private-window]
Exec=/usr/bin/flatpak run --env=MOZ_APP_REMOTINGNAME=Personal --branch=stable --arch=x86_64 --command=firefox --file-forwarding org.mozilla.firefox --profile "/home/USERNAME/.var/app/org.mozilla.firefox/config/mozilla/firefox/personal" --name org.mozilla.firefox.Personal --class org.mozilla.firefox.Personal --private-window @@u %u @@
Name=New Private Window
i use the container tabs feature in firefox to compartmentalize my usage, but this would be better if i want that compartmentalization to carry over from computer to computer.
But you can sync your container tabs, it’s in the settings!
You’re a good man, Charlie Brown. A good solution to a situation I was considering.
firefox --profilemanager
I had a couple of problems with the profile manager.
For one, there’s now two profile managers that do not work together. You can’t use an old profile in the new profile manager or vice versa. You can access the old one via .desktop entry or from the CLI. But you can’t access the new one from the CLI.
It’s also a bit buggy. For example, if I have my “Personal” profile open and middle click the Firefox icon, it will open up another “Personal” window rather than show the profile manager. And to access the new profile manager, I first have to aim for a tiny target (especially tiny on my 100% scaled 4K monitor) and do 3 clicks. With my solution, I explicitly choose which profile to use from my dock.
It’s also hit or miss on which window a link from an app will open up in. Whereas with my solution, I can set “Firefox (Personal)” as my default browser and always have stuff open there.
the custom shortcuts are so you can skip the profile manager when launching a browser window.
You can launch Firefox directly with one profile. You can also have a .desktop per profile. The problem is that the DE is probably going to group the windows together in the taskbar.
Been doing this for years with KDE. No grouping there.
Is this profiles method same / similar to containers or wildly different?
Before migrating to Firefox, I used Chrome. Since I had multiple Gmail accounts for no real reason (from old times), I decided why not using different Chrome profiles for different types of tasks.
In Firefox, I don’t remember having something similar. That was like 5+ years ago, I believe profiles were there, but perhaps less easy to use. So I ended up using containers, and you know, I quite like them! I use them everywhere, all the time. I have a nice extension called Firefox Multi-Account Containers and some other extension (I need to lookup it from my desktop) that allows opening the container via a CLI parameter. I created a bunch of .desktop files that open a C particular link with a particular container. I use it very heavily, all the time. To the point I don’t really notice I manage various identities for various websites. I tested with ChatGPT, I use various login with Google accounts, for various purposes.
So far (over a year or so) I wasn’t banned, even despite often I have multiple accounts opened in sibling tabs. E.g. one generates images, another translates texts, another one helps with some code, and the 4th one helps with some Linux administration.
I wonder the use case for profiles. That’s definitely a very nice feature, and it’s very useful. I guess that’s more for separation. For when I don’t want the other profile distracting me. I’d love to learn how others find them profiles useful.
In Firefox, I don’t remember having something similar. That was like 5+ years ago, I believe profiles were there, but perhaps less easy to use.
The profiles feature in Firefox haa been there for a long, long time—more than a decade, and possibly longer than Chrome has existed—but not many people read the documentation to find the command-line switch to evoke the selector, and they’ve never been terribly easy to find from inside the GUI.
the feature is older than firefox itself.




