If you upgraded to Ubuntu 11.04, you might find that some of your familiar icons in the notification area of your panel’s system tray are missing. These will include such system apps as the Update Manager, but more importantly those programs you are running that usually put icons or indicators there.
Some of these might be used for bringing the related programs to the foreground (which is the only way to access those that disappear when minimised, like Firestarter and Vuze), while others are completely useless if not shown in the notification area. A good example of the latter is Parcellite, a clipboard manager which sits in the system tray, and which you can’t access any other way.
So, in Unity, you might not even be sure certain apps are running, without opening the System Monitor. They’re actually open and still trying to put their icons there, but are being prevented by a default Unity setting. But it’s easy to fix, either by the hands-on/visual approach, or the quicker command-line method.
First off, if you don’t have Dconf Editor installed, do so by entering the following into a terminal:
sudo apt-get install dconf-tools
To open it, hit Alt+F2 and enter dconf-editor. Navigate to desktop > unity > panel, where the value for the systray-whitelist entry should look something like: ['JavaEmbeddedFrame', 'Mumble', 'Wine', 'Skype', 'hp-systray', 'scp-dbus-service']
You can manually add programs and indicators to it (eg: ['JavaEmbeddedFrame', 'Mumble', 'Wine', 'Skype', 'hp-systray', 'scp-dbus-service', 'your-indicator-here']), or you can just get it to show all notifications (which would be preferable, since any programs you install in the future would be included there).
Simply click the systray-whitelist entry and type ['all'] over what is there. That should restore all your usual system tray icons, which were always running, just not visible. To complete this, you will need to run (via Alt+F2) unity
--replace to refresh Unity.
It’s even easier to do this via the terminal (or Alt+F2):
gsettings set com.canonical.Unity.Panel systray-whitelist "['all']"
Once again, you’ll need to refresh Unity to see your changes.
No Notifications: If you actually want no notifications showing up, leave the value empty. Actually, it will need to be [''] (that’s two single-quotes inside the box bracket), which you can do manually, or by the following command:
gsettings set com.canonical.Unity.Panel systray-whitelist "['']"
Don’t Refresh Unity in Terminal: Use Alt+F2 to refresh Unity, as while running unity
--replace in the terminal is fine, if you halt that process, or close the terminal window, Unity will crash. While that isn’t a major deal, it will however leave you without a way to rectify this, as Alt+F2 will not produce the Run dialogue (since the panel isn’t running – which also means no way to log out or restart). You may also find that if you manage to get a terminal up (like if you have a launcher for it on your desktop), you won’t be able to type anything into it.
Did this information make your day? Did it rescue you from hours of headache? Then please consider making a donation via PayPal, to buy me a donut, beer, or some fish’n’chips for my time and effort! Many thanks!