top | item 37952719

Using extra Firefox profiles to make my life better

382 points| ingve | 2 years ago |utcc.utoronto.ca

247 comments

order
[+] throwaway914|2 years ago|reply
The real gem of Firefox is Containers. No other browser has something like this. It's something critically missing from Chrome. I don't mean "Just create a private window", I mean being able to create 1 + infinitely many profiles/containers. Firefox has an extension called Temporary Containers that makes this better: Every new tab is a temporary, ephemeral container. By default I get isolation. I have it configured so if I hold Ctrl and click a link it will open in the same existing container (in a new tab). If I want sessions to "join" I can do that, but I get defense/privacy by default.

There's another called Proxy Containers so I can have separate tabs taking separate paths out.

There are many benefits to Chrome and it's dev tools, and I respect the Firefox mission more for all the shit Mozilla has done. But I'm bound to Firefox regardless of the pros and cons because it's the only browser that can do this.

[+] sundarurfriend|2 years ago|reply
Firefox profiles are so underrated and (seemingly) underused. I create shortcuts for every profile, with the command to launch being `firefox --no-remote -P profilenamehere`. After that, I barely ever see the profile management dialogue, I just use each profile like it's a different browser.

It's convenient to isolate work and personal browsing, convenient to try out different extensions (eg. I have Treestyletabs in one and Sidebery in another, just to evaluate both and see for myself), and the memory usage of running two Firefox profiles is much less than if I ran Firefox and a Chromium browser instead.

[+] Biganon|2 years ago|reply
I don't like profiles, because I find it hard, impossible maybe, to tell Discord to open the funny links my friends send me in the Personal profile, and Slack to open the work related links in the Professional profile.

I ended up having one profile configuration file and a keyboard shortcut that toggled between two different symbolic links, plus a Gnome extension to display the currently selected profile in the top bar, so I would use one profile during the work hours and another one during the evening, but it was slow, difficult to export to other computers and just messy altogether.

So now I'm using Firefox containers and I'm mostly happy with them. I wish the bookmarks bar would change depending on the currently selected tab however.

[+] yjftsjthsd-h|2 years ago|reply
In fairness, needing to play with launch arguments is probably exactly why it's so little used.
[+] mjfisher|2 years ago|reply
That's a useful tip. I need access to several Microsoft live/AD/teams accounts, and they just don't work well in the same browser session.

I've been using chrome profiles to separate these because the Firefox ones were a little clunky; for some reason it never occurred to me to create shortcuts per profile. Thanks!

[+] qwerty456127|2 years ago|reply
> I have Treestyletabs in one and Sidebery in another, just to evaluate both and see for myself

You don't have to put them in separate browsers/profiles, you can just switch which one takes the sidebar, on the fly. I use both Grasshopper[1] and Tab Center Reborn or Sideberry and switch between on the fly them depending on what features I need at any specific moment.

[1]https://news.ycombinator.com/item?id=37306058

[+] molszanski|2 years ago|reply
Sadly, chrome does a much better job (for me) with chrome profiles and how well they are integrated. Extensions, shorcuts and everything. This is the ONLY thing that keeps me on chrome. Otherwise I would go FF. Safari added new profiles a few days ago. Will test it, and maybe switch to that
[+] immenselyblank|2 years ago|reply
If only there would a user friendly/intuitive way to switch profiles like in every other chromium browser. I tried using the about:profile and created multiple profiles with cli but it is not user friendly at all.

Meanwhile, I am a big fan of multi containers in firefox and wish it was in chrome or edge.

[+] satysin|2 years ago|reply
Firefox profiles are indeed great. Especially as they're so easy to backup and restore across machines, even different OS. Some simple fiddling with installs.ini and profiles.ini then run Firefox with -P as you say and you're good to go.

I've used this process for over a decade, probably more than 15 years now I think about it. Hard to remember! Sadly it doesn't work with Firefox on Ubuntu anymore due to that being a snap package. I'm sure there is a simple enough solution to get it working the same with the snap version but I instead prefer to remove the snap version of Firefox on Ubuntu and use the release directly from download.mozilla.org as I have the download, install and restore all automated for Windows, macOS and Linux so why make my life harder with snaps just for Ubuntu? :)

[+] damianh|2 years ago|reply
Am a firefox user since 0.9. I see there's a lot of love for Firefox in the responsonses here.

However, the profile UI and general managment experience compared to Chrome/Edge is pure trash. No, container tabs is not a viable substitute (my work and my personal profiles don't even share bookmarks). Yes am aware of a third party addon that requires additional software to be installed - this just proves the point further.

This issue was reported 13 years ago! https://bugzilla.mozilla.org/show_bug.cgi?id=662025

So today I'm using Firefox only for personal and chrome (/edge) profiles for everything else. Only reason I am sticking with Firefox is because of the Android version. If I could get ublock origin working on edge/chrome on android I'd probably abandon Firefox.

[+] isodev|2 years ago|reply
Safari really nailed their profile implementation in that regard - separate bookmarks, history and session and that in addition to tab groups. I think Firefox is not far from this, only if they could refine the experience.
[+] jklinger410|2 years ago|reply
Contained tabs instead of an updated profile system was a bad choice for Firefox. It will continue to lag behind because of this.
[+] thrdbndndn|2 years ago|reply
Yeah. Before Firefox Quantum (i.e. abandon of XUL-based add-dons), one can at least use 3rd-party addons to make switching profiles easier.

Now I barely use profiles in Firefox while I have 5-6 profiles in Chrome for various things as it's much easier.

[+] account-5|2 years ago|reply
What's so bad about typing in: about:profiles, into the address bar and selecting the profile you want to use? Or even creating a shortcut with the: -p, option to select one n starting Firefox.

Genuinely, what else are chrome/edge offering that is a deal breaker for you?

[+] dzonga|2 years ago|reply
on android I use Kiwi browser sometimes - it loads ublock origin.
[+] mikae1|2 years ago|reply
If only Mozilla gave us the ability to choose what extensions should be enabled in what containers[1] I'd be a happy camper.

[1] https://addons.mozilla.org/en-US/firefox/addon/multi-account...

[+] walteweiss|2 years ago|reply
Yeah, and also I’d like it to ask me what container to open for a website sometimes, out of remembered ones. E.g. I have a website I use in just two containers (out of 15), and I like it to ask each time I open a new instance, so I won’t have to choose out of all my instances, just those two.
[+] rjzzleep|2 years ago|reply
Fantastic idea, besides the UI needed it should be manageable to implement.
[+] fturst|2 years ago|reply
Why not use about:profiles?
[+] toenail|2 years ago|reply
What's your use case for that? Just wondering.
[+] pbhjpbhj|2 years ago|reply
You can do it with OS-level user accounts.
[+] stakhanov|2 years ago|reply
I'm a heavy user of Firefox profiles, but I have two major feature requests:

- Allow better visual distinction of profiles, e.g. giving them different colors. When you have multiple browsers open on multiple profiles, it's easy to get confused.

- Create a better UX when accidentally launching a profile that's already running. Currrently what happens is that it waits for a timeout and then displays an error message. Instead, it should just give focus to the window already running.

[+] wwarek|2 years ago|reply
> Allow better visual distinction of profiles

For that I simply use different themes and it works perfectly

[+] rozab|2 years ago|reply
I use https://color.firefox.com/ to differentiate. It's a solid theming system that they built a few years ago, promoted for about a week and then never mentioned again. Probably because they'd rather promote their braindead self-destructing themes (sorry, 'Colorways drops')
[+] enragedcacti|2 years ago|reply
My solution to both of these has been to create separate .desktop entries for each profile and give each a theme and a custom icon. That way I can know from the window manager which profiles I have open and which one I'm looking at according to the theme. You can then launch a specific profile through the icon, with Super->"ffwork", or with the right-click->open new window if you have it open already.

The main problem is that I have completely forgotten how to do this multiple times across different machines and I never remember which combo of FF flags and .desktop values necessary to get instances identifying themselves to the dwm as a separate program. I think this is correct though https://askubuntu.com/questions/1209434/how-to-display-two-d...

[+] shiroiuma|2 years ago|reply
>Allow better visual distinction of profiles, e.g. giving them different colors. When you have multiple browsers open on multiple profiles, it's easy to get confused.

This would be nice, but one thing you can do for now (though it takes some discipline to not screw up) is to use separate virtual desktops, and put the different profiles on different desktops.

[+] TowerTall|2 years ago|reply
> Allow better visual distinction of profiles, e.g. giving them different colors.

I use the profiles in Brave for that exact reason. The ability to have different colors on the icons in the taskbar and the browser chrome was the reason I gave Brave a go in the first place. Now it is a feature I cannot live without.

[+] jbverschoor|2 years ago|reply
I have a number instances + one with Chrome/macOS for each client/entity and certain activities.

Each browser has a different set of extensions, and adblock rules (I can't go on hackernews, except with my social media browser). My main development browser has more dev extensions for example.

It also makes tab-management easier, as I can just close the "work browser". All of them have a separate instance, icon, and color. It helps me focus, as I don't accidentally see time-wasting websites, and if I'm not in my media browser, I'll get an error when trying to navigate to one of them out of habit.

It wasn't easy to get working perfectly, as I had to create multiple instances of Chrome, which also means signing the apps. All profiles and app-data are in a separate folder. Not doing it like this means you don't get to cmd-tab to the other browser.

[+] INTPenis|2 years ago|reply
Firefox profiles are great, not denying that. And disabling JS is very important, I've been using noscript for many, many years. Can't even remember when I started.

But having two profiles to switch between JS and non-JS seems like a massive hassle to me. I just hit shift+t in noscript and it temporarily removes restrictions on a tab.

Noscript mainly protects you from those unknown tabs being opened by malware, that you don't expect. But usually on a huge website like theregister or etsy you can disable that while you do your business.

One feature I'd love to see in noscript though is globally disabling noscript by domain. And that is mainly due to AWS using randomized cloudfront subdomains to include assets.

I don't want to whitelist *.cloudfront because anybody can use that to host malware.

[+] eadmund|2 years ago|reply
Fun fact: you can assign each separate Firefox instance a different X window class with the --class flag. Then your window manager may be configured to raise windows with that class to the top.

E.g. I have something like this in my StumpWM config:

    (defcommand javascript-firefox ()
      (run-or-raise "firefox -P Javascript --class Firefox-javascript" '(:class "Firefox-javascript")))
    
    (define-key *top-map* (kbd "H-F") "javascript-firefox")
Then all I need to do is type hyper-shift-f and the Javascript Firefox is either raised to the top or if there is none, one is run. Meanwhile, hyper-f raises my normal Firefox.

Highly recommended; I hope that I will be able to continue using it in the future. Does Wayland support window classes and the hyper key?

[+] pastage|2 years ago|reply
I started this approach recently, I also change the theme of those Firefox profiles so I remember to close all windows. It is satisfying to keep things separate, and also quite useful to launch somethings as limited apps in a desktop environment.

There are lots of things that could be done better, maybe crowd sourced Android/iOS style permissions per website.

[+] vzaliva|2 years ago|reply
It might be an unpopular opinion, but I think the days when JavaScript was an optional part of the web are past. Now it is an inherent part of the web. We need to accept that there is no going back to the days when it was not. Instead of trying to convince websites to design nonscript versions, we should look for solutions on how to make JavaScript safe. I do not have the answer, but sandboxing, security domains, and rich permission models are things worth considering.
[+] handity|2 years ago|reply
JavaScript cannot be safe, at least if your threat model involves avoiding a global surveillance panopticon.

Allowing arbitrary code execution by default cannot be safe.

90% of what JavaScript is used for is totally unnecessary and only makes sense in an ad-based web.

[+] pantulis|2 years ago|reply
I see people reporting browsing the web with Javascript disabled and I cannot but wonder what is their experience. Not to dismiss them, of course, but I cannot for the life of me figure out what would be of my browsing habits without JS. Perhaps it sounds worse than it really is.
[+] throw7|2 years ago|reply
You're not wrong saying that javascript is pretty much mandatory, but it's more de facto. To come out and mandate it would be wrong.

Unfortunately the web is in a state that's worse than just javascript... it's regressed into only supporting certain browsers cough chrome cough. Just one example (i've got more personally) from recently: you can't book flights in air india's website with firefox, but it works in chrome.

[+] fsflover|2 years ago|reply
> we should look for solutions on how to make JavaScript safe

I'm using Qubes OS, which allows to run many sandboxed Firefox instances, with colorful window frames. I run JavaScript without a fear, since each Firefox runs in its own VM, with no data in it.

[+] perihelions|2 years ago|reply
Firefox profiles are poorly-documented but much more hackable than they look. Just dig around in the profiles filesystem directory.

user.js is a config file you can put your default preferences into, and clone into new profiles:

https://kb.mozillazine.org/User.js_file

(The stuff you configure in the Firefox UI goes into prefs.js, which has the same format).

Things like bookmarks and browsing histories are sorted in places.sqlite. You can clone/transfer/sync those with whatever sqlite tool.

https://kb.mozillazine.org/Places.sqlite

I've never tried it, but you can probably transfer entire browsing sessions from sessionstore-backups/. I've used those to rescue lost tabs which Firefox failed to recover auto-magically. The compression format is idiosyncratic; Debian has an out-of-the-box tool for working with it — lz4jsoncat from the package lz4json.

[+] parasti|2 years ago|reply
Wish more was said about how this makes the author's life better. Seems to me that most websites would break in small ways without JS, which would be really annoying to deal with.
[+] dangus|2 years ago|reply
I’m not really even sure what Private Browsing isn’t enough for the author’s use case. It does pretty much everything they need like revolving around cookies and local data.

I guess they just want to disable JavaScript, because that proves you’re a smart computer nerd, or something.

Disabling JavaScript is like the computer version of fasting.

[+] godshatter|2 years ago|reply
I have set up firefox to prompt for a profile when it is started. So my workflow for browsing the web at home is to connect to a vpn, start up firefox, select a profile at random (except for the top one), and do my thing. Each profile is set to remove cookies, history, etc on close. I have more than one privacy-oriented profile because in case things are leaking hopefully I'm hitting sites from different profiles and at least confusing the trackers somewhat. I also randomly select a vpn server to connect to. I keep one tab (the top one) that I use in the open for sites that won't let me connect with a vpn, like my bank.

I keep bookmarks in a local html file which is set as the homepage for each profile.

All so I can watch let's play videos or research an obscure technical topic or whatever.

[+] MrOxiMoron|2 years ago|reply
biggest problem is clicking a link outside of the browser... which one will it open in? seems to be the first opened, but then you want to open a link and that browser wants to update, so you have to restart it.. now it's not the first opened anymore, so you have to close all other browsers too before opening the first again and then the others.
[+] sakisv|2 years ago|reply
For a moment there I hoped that this was about using some kind of new interface to manage profiles but unfortunately not.

While it's been ages since I last used Chrome I remember that it was so easy to switch between different profiles with a couple of clicks.

Firefox on the other hand really doesn't want you to use them: https://support.mozilla.org/en-US/kb/profile-manager-create-...

We just have to hope that at some point in the future they'll revamp it.

[+] thyrsus|2 years ago|reply
I use multiple profiles on my desktop; too bad it's not available on Android.
[+] ReptileMan|2 years ago|reply
Why no browser has profiles on Android? It is true for chrome Firefox and all chrome derivatives.
[+] lefixx|2 years ago|reply
I use them for multiuser and multi-purpose usecases. And it combines nicely with "Progressive Web Apps" so I can have, for example, a youtube app that has all my youtube specific extensions.
[+] HunOL|2 years ago|reply
Profiles and containers probably are the reasons I am still using Firefox.

Profiles are super useful and allow to separate addons, bookmarks and history for different use patterns (normal browsing, dev, NSFW).

[+] presto8|2 years ago|reply
I do something similar, but I use a bash script with rofi to display a menu of available profiles. I then bind a hotkey (Super-Shift-P for Profiles) that launches the script.

I use Firefox for my daily driver, but for profiles I use librewolf. This makes it easier to keep things separated when using the window manager to switch between windows of the same class (which I bind to Super-`).

#!/usr/bin/env bash

  BROWSER="librewolf"
  
  typeset -A menu
  # empty value means value is the same as the key
  menu["personal"]=""
  menu["banking"]=""
  
  rofi_args=(
      -p "$BROWSER profile"
      -dmenu
      -i         # case-insensitive
      -font "Hack 20"
  )
  
  if selection=$(printf "%s\n" "${!menu[@]}" | sort -u | rofi "${rofi_args[@]}"); then
      profile=${menu[$selection]}
      profile=${profile:-$selection}
      nohup "$BROWSER" -P "$profile" &>/dev/null &
  fi