Configuring the GNOME Shell Panel with Firefox and Thunderbird Profiles

Posted by Scott on Apr 2nd, 2020

Mozilla’s Firefox web browser and Thunderbird e-mail clients have a little-known feature known as “Profiles.” Profiles allow you to create fully separate instances of these applications, each with their own customized config preferences and extensions.

I make heavy use of this feature to create separate Firefox profiles for my personal everyday web browser, work web browser, web development browser, etc. With Thunderbird, I use profiles to separate my personal vs. work email.

From the command line, invoking firefox or thunderbird with the -P option will bring up a dialog box, allowing you to chose between your existing profiles, or create/rename/delete profiles:

If you haven’t created any new profiles, you’ll be using a profile named default. On my Ubuntu systems, each of these profiles will be stored under your ~/.mozilla/firefox/ directory (for Firefox) or ~/.thunderbird/ directory (for Thunderbird).

If you want to be able to easily launch these profiles from the GNOME Shell GUI rather than the command line, you can create custom launchers for each profile. I typically do this and choose different icons for each profile to visually tell them apart. To do this, create a .desktop file within your ~/.local/share/applications/ directory. I typically name these files firefox-<profile-name>.desktop. Here’s an example of one:

[Desktop Entry]
Name=Firefox (WebDev)
Exec=firefox -P webdev -no-remote --class FirefoxWebDev

By default, the Icon setting will search for an icon file (e.g, .svg or .png file) from your current theme within your /usr/share/icons/ directory. Specify an absolute path to the icon file and include its filename extension if you want to use an icon that’s not in your current theme. You can also create custom icons and drop them in your ~/.local/share/icons/ directory.

Note that on the Exec line I’m also starting firefox with two additional options, -no-remote and --class. The -no-remote option prevents conflicts with other instances of Firefox that are running. The --class option specifies a window manager class, which you’ll also set for the StartupWMClass option. You can set this value to any string you like, but it must be unique (i.e, don’t re-use it in another .desktop launcher config).

If you don’t set a custom window manager class, all of your running profiles will be grouped together under the same icon in the GNOME Shell panel. That last subtlety has been an annoyance I’ve wanted to fix for a long time, and learning about it is what prompted me to write this post to share.

References: Mozilla docs on using the profile manager, AskUbuntu post on setting the window manager class

Setting up the LIVA Mini PC (BayTrail Atom) as a Headless Server with Ubuntu Xenial 16.04

Posted by Scott on Apr 26th, 2016

A while back I had picked up a neat little fanless Intel Atom computer based on the BayTrail N2807 CPU. It’s a dual-core system running at 1.6 GHz and has 2 GB of RAM and onboard flash disk, and seemed ideal as a micro server for my home LAN.

The device turned out to be a bit flaky to set up, so I thought I’d share my installation notes here. There are multiple revisions of this mini PC, and I believe I have one of the first versions. The case looks like this:



First, I created a USB flash drive with the Ubuntu 16.04 server install image using Ubuntu’s Startup Disk Creator app. Then, plug in an HDMI monitor and wired keyboard to the Liva. Hit F7 when the BIOS screen comes up and select the flash drive to start the installer.

The main issue I ran into was during the disk partitioning step. If I chose one of the guided partitioning options, the process wouldn’t complete, and raised an error about “Identical mount points for two file systems” on the flash storage.

After several unsuccessful attempts to try other options, I found a solution that worked. First, choose manual partitioning mode. Select the entire disk, and create a new partition table. Then select the free space and have it create partitions automatically. At this point I could save these changes and have the installer proceed past the partitioning step.

Everything else in the installer is pretty straightforward. Once I had everything set up the way I wanted, I disconnected the monitor and keyboard and intended to use the system as a headless server. However, the system refused to boot without a monitor attached. I tried several modifications to my GRUB bootloader command line to try to work around this, but had no luck. If someone knows the customization to make here, please let me know and I’ll update this post with the info.

Instead, I chose the lazy option. You can buy “dummy” HDMI connectors that emulate a monitor – for example here’s one that you can use.

Once I connected that to my Liva Mini PC, it was able to boot up headless and the device is now usable to me again.

I hope this information might be useful to others trying to make use of this handy mini PC system.

Ubuntu Lucid Breaks Wget Proxy Support

Posted by Scott on Apr 28th, 2010

A big warning to the many users behind a proxy server who will be installing Ubuntu Lucid Lynx soon: wget isn’t going to work. You can read the details in this bug report on Launchpad.

Basically the problem is that if your proxy exclusion list ends with a comma character, wget can’t parse the $no_proxy environment variable and defaults to not using your proxy (usually configured in ~/.wgetrc or via the $http_proxy/$ftp_proxy environment variables). And the GNOME Network Proxy UI apparently leaves a trailing comma in there if you make changes to the ignored hosts list.

The quick workaround is to add the following to your ~/.bashrc:

export no_proxy=$(echo $no_proxy | sed 's/,$//')

I spent a couple of days figuring this out, so I hope it helps someone else. I don’t see any way the fix will be included in Lucid before it ships on Thursday, so people will need to use this workaround until then. It’s a shame because as an LTS release, a lot of enterprise users are going to run into problems right out of the gate.

Resolving NetBeans Issues with Compiz/Xgl

Posted by Scott on Nov 27th, 2008

Now that I’m settling back into some serious Rails development, I’ve been increasingly annoyed by this bug where the Compiz window manager (which provides all the fancy 3D effects on my Ubuntu system) causes dialog boxes in Java applications (e.g, NetBeans) to appear blank on an intermittent basis. Thankfully, it’s been fixed! You simply need to run jre 6u10.

This fixed version of Java is packaged by default in the Ubuntu Intrepid Ibex repositories. For those of us still running Hardy Heron, I can confirm that using the Intrepid packages works without problems. There is also a bug filed in Launchpad lobbying to have 6u10 included in Hardy as an update.

Mozilla Lightning and Ubuntu Hardy

Posted by Scott on Jun 4th, 2008

I use Mozilla Thunderbird as my email client and really dig the Lightning calendar extension. However, when I upgraded to Ubuntu Hardy Heron, I was unable to use the calendar extension (Lightning v0.8). I could go to the calendar screens, but none of my appointments were showing up.

It turns out that the Lightning extension requires the libstdc++5 package to be installed. Not only that, but this package must be installed before the Lightning extension is installed. So to resolve this, I removed the Lightning extension, installed libstdc++5, and then reinstalled Lightning. Now everything works nicely.

Weird dependencies and procedures like this are unfortunately too common in software.

Ubuntu “Gutsy Gibbon” Install Report

Posted by Scott on Nov 1st, 2007

So I have upgraded all of my systems (work desktop, home desktop, and laptop) to the latest Ubuntu release, “Gutsy Gibbon.” I’m disappointed to say that as far as my experience goes, this release gave me a number of hardware issues and introduced regression problems. Here’s a summary of what I encountered and fixes or workarounds I had to use:

Work Desktop:

Dual-monitor mode and many ATI video cards don’t get along. My work desktop ha[s|d] an ATI x300SE PCI Express video card in it. It was working perfectly well with Ubuntu Feisty in dual-monitor mode. Unfortunately, my configuration would not work with Gutsy using either the open source radeon driver or the fglrx ATI proprietary driver. Ubuntu Forums had numerous posts of people encountering the same problem, and I tried several fixes. Eventually I had to give up out of obligation to my employer – it was costing them more to pay me to fiddle with my X configuration settings than to buy me a cheap NVIDIA video card. So that’s exactly what I did – expense an NVIDIA 8500GS card, which worked fine.

Sound card issues. Something is really wrong with my sound card. I can play audio through it just fine, but the audio is completely lacking low frequencies. I haven’t spent much time investigating this yet, but I know it wasn’t happening with Feisty.

Home Desktop:

Sound card issues. I use an external SB Live! USB sound card in my home system, and I have the motherboard’s on-board sound card disabled in the BIOS. It was working just fine in Feisty. Upon booting Gutsy the first time, I had no sound at all. I was able to almost fix this by going into System->Preferences->Sound and manually selecting “USB Audio” as my preferred sound device. However, this only fixed sound in gstreamer-based applications, such as Totem, Rhythmbox, and Exaile. Other apps, like mplayer and the Flash Firefox plugin, still did not play any sounds. The solution was found in this Ubuntu Forums thread.

But we’re not done yet! There is another widely-experienced bug with the volume control applet and some sound cards which causes changing the volume to “pretend” to mute the mixer device, which results in the on-screen volume display widget to show the current volume as zero, rather than it’s current level.


I have a Dell Latitude D620, which worked extremely well with Feisty. Happily, it has no issues with or sound, but it does crash frequently when I put it to sleep. Another maddening regression bug, and I need to use suspend very regularly.

I’m seriously considering downgrading my laptop to Ubuntu Feisty again. The remaining issues I will learn to deal with until fixes are released. But for now I share this news as a warning to some (particularly those with ATI video cards and dual-monitor setups) and possibly as some useful information on fixes/workarounds to others.

Ubuntu Release Day – 7.10 “Gusty Gibbon”

Posted by Scott on Oct 18th, 2007

Congratulations and a huge THANK YOU to the folks who participated in the creation of the latest release of Ubuntu GNU/Linux (and that’s a lot of people)! I’ve used a number of GNU/Linux distributions, and Ubuntu meets my needs perfectly for desktop usage and as a software development platform.

Where I work, I tend to go a bit overboard and run a release party, which last year featured an Ubuntu cake and balloons. This year we kept things simple with orange cupcakes and donuts (which were scuplted into the shape of the Ubuntu logo by my colleague and friend Jim). Everyone in the Engineering group knows when a new release of Ubuntu comes out, and it’s a great (if somewhat geeky) way of spreading the message of free software and the spirit of Ubuntu.

I’ve been extremely busy lately and probably won’t have a chance to install the new release for another week or so. But it won’t be long until all of my computers are running the Gutsy Gibbon.

Dell and Ubuntu GNU/Linux

Posted by Scott on May 4th, 2007

I am very pleased to hear that Dell is going to be offering select desktop and laptop systems with Ubutnu Linux pre-installed. I just purchased a Dell Latitude D620 (without Linux preinstalled – it was right before the announcement), and I have to say I’ve never had a smoother laptop Linux installation before than with this laptop and Ubuntu 7.04 “Feisty Fawn.”

This move on Dell’s part will do a lot to differentiate them from other companies, and it’s definitely going to impact my recommendations when it comes to suggesting computers for friends and family. Thank you, Dell, for taking this leadership role and selecting one of the finest desktop Linux distributions available today, Ubuntu.

Next »

Blog Badges

[FSF Associate Member]