As I use the Docky Skype indicator, and the green Skype icon doesn't look good next to all the grey ones -- it would be nice to remove the icon from the system tray.
Is this possible? How can I do it in Ubuntu 12.04 -- or other earlier versions?
Ask Ubuntu is a question and answer site for Ubuntu users and developers. It only takes a minute to sign up.Sign up to join this community
- If you don't care about
sni-qt, removing the icon is as simple as doing
apt-get remove sni-qt sni-qt:i386
- Installing the Skype-provided deb is not a solution; all the Ubuntu version does is bundle the same Skype deb but make
sni-qta dependency to enable the icon.
A simple conf-file tweak or installing/removing a package isn't going to do it, we need to get down and dirty here.
sni-qt is provided by these shared libraries:
A guaranteed way to remove the Skype icon while leaving
sni-qt available for other
apps to use is to prevent Skype from loading these shared libraries.
That can be done in one of two ways: a civilized way and a brute-force bash-hacker way.
AppArmor is a security framework built into the Linux kernel which sets permissions for what a program can and cannot access. It's enabled by default in Ubuntu.
An example profile for Skype is included in the app-armor profiles; I have modified that ONLY to achieve our goal of disabling the panel icon - other security features have been removed.
You can view the profile pasted here. Lines 24-25 are the bits that matter to us.
WARNING: This profile DOES NOT provide any other kind of security -- Skype will run normally. Please see here for a more complete Skype AppArmor profile that you can use if you want to secure Skype further.
To install, exit Skype if it is running and then open a terminal with
and type/paste the below to install the pasted profile into your apparmor profiles
directory. (You can also manually paste it to
/etc/apparmor.d/usr.bin.skype if you wish)
sudo wget -O/etc/apparmor.d/usr.bin.skype http://pastebin.com/raw.php?i=2EYME5eF
sudo /etc/init.d/apparmor reload to reload all profiles, including the
skype one we just added. Wait for a few seconds...
To check that the profile was enabled, type
sudo apparmor_status | egrep "mode|skype"
21 profiles are in enforce mode. /usr/bin/skype 22 profiles are in complain mode.
Start Skype, and the panel icon should hopefully be gone!
Just add these lines near the beginning of the profile, right after the includes (they simply prevent Skype from reading/loading the sni-qt libraries)
deny /usr/lib/i386-linux-gnu/qt4/plugins/systemtrayicon/libsni-qt.so r, deny /usr/lib/x86_64-linux-gnu/qt4/plugins/systemtrayicon/libsni-qt.so r,
Via command-line-interface (fast) -- the OMGubuntu community came up with this answer:
in a terminal, type
gsettings get com.canonical.Unity.Panel systray-whitelist
This will output something similar to:
['JavaEmbeddedFrame', 'Mumble', 'Wine', 'Skype', 'hp-systray', 'scp-dbus-service']
We want to remove Skype from this whitelist, so copy/paste this output in a new command and remove the 'Skype' entry, like so:
gsettings set com.canonical.Unity.Panel systray-whitelist "['JavaEmbeddedFrame', 'Mumble', 'Wine', 'hp-systray', 'scp-dbus-service']"
Via graphical user interface (more accessible), as proposed by con-f-use in answering this question. Simply do the opposite of what s/he proposes.
Now upon next login the Skype icon will be gone.
Note that installing the pidgin-skype package will enable you to add your Skype account to empathy -- enabling you to control your Skype status with the elegant me menu.
There is no icon in
/usr/share/icon/skype.png on my system. The tray icon is not for starting, but for reporting the status. It shows your online status (online, away, dnd, …) and also reports if new messages are incoming. As such, it’s dynamic.
It seems to be embedded in the Skype binary with no way to change it. I would very much like to be corrected on this, as I despise that green blob as well.