Fix Missing Indicator Icons On Ubuntu 18.04 Or 18.10 (Gnome Shell AppIndicator Extension)

Ubuntu Gnome Shell indicator icons

Ubuntu 18.10 and 18.04 use the (K)StatusNotifierItem/AppIndicator Support extension for Gnome Shell by default. There's a bug that can occur on both Ubuntu 18.04 and 18.10 for some users, which results in losing the indicator icons from the top bar.

I'm not sure what exactly triggers the missing indicator icons bug, but reloading Gnome Shell (Alt + F2 and then typing r) gets the indicator icons to show up. When running a new application that uses an indicator icon, it doesn't appear until Gnome Shell is restarted again.

What's more, if you lock the screen and then unlock it, the icon are missing again until Gnome Shell is reloaded.

The fix for this issue comes from nikosnikos user on GitHub, and is to remove all indicator-* packages you may have installed on your system.

On my Ubuntu 18.10 system though, I only had to remove two indicator packages to get indicator icons back on my Gnome Shell desktop: indicator-application and indicator-common. To remove these two packages, use:

sudo apt remove indicator-application indicator-common

And reboot.

If the indicator icons are still missing from your Gnome Shell desktop, you can try to remove all indicator-* packages, as suggested by nikosnikos. This may also remove some other indicators that you may want to keep on your system though, so make sure you pay attention to the packages that are removed when using this command. To remove all indicator-* packages from your Ubuntu system, use:

sudo apt remove indicator-*

And reboot.

Indicator icons should now work on your Ubuntu 18.04 or 18.10 Gnome Shell desktop with the (K)StatusNotifierItem/AppIndicator Support extension.

What's interesting is that I tried to reproduce the bug on a fresh Ubuntu installation, by installing exactly the same indicator packages I had installed on my main machine (indicator-application and indicator-common), and the bug didn't happen. So there must be something else that, in combination with indicator-application (and maybe some other Unity indicator package), triggers this bug.