So it happened again: I feel being patronized by a large SW vendor who forces me to automatically run his software on my system after each login. As an open source developer and advocate I hate if I don’t have control over these kind of things and no option to turn them off. Unix know-how to the rescue, though. Read on.
The members of a project I am currently working on to make a living are now widespread over the country due to the coronavirus pandemic. Project management has decided that the communication should happen over a product called skype. It’s not free and open, but hey, come on, I have to make some money somehow so that I can manage it with KMyMoney. Fortunately, I found out that there is a version for Linux and it even works quite well.
Nevertheless, I wondered why it starts after login without me doing anything. OK, this could be the default setting and I started the KDE system settings to turn it off. Not thinking about it further, I started and stopped skype for a few days until there was a kernel update and I had to reboot my system.
After login, I was surprised that skype started automatically. I thought, I had turned it off. Well, unmark that checkbox again in system settings and guess what: it returned without me doing anything except starting and using the application. That ~/.config/autostart/skypeforlinux.desktop
file, which is responsible for the autostart, just re-appeared every time one starts skype manually.
Using the search engine of choice, I learned that this is a known problem and cannot be turned off with an option. This is the time, when patronization starts and I get angry.
Visiting a few web pages I learned that people have developed different methods to solve the issue:
- auto start a shell script that immediately kills skypeforlinux
- create a directory with the name of the desktop file to avoid creation of the file itself
and maybe some more I don’t remember. All in all, they are not really what I like on my system.
Next, I thought they will recreate the file only in case it does not exist. I changed X-GNOME-Autostart-enabled=true
to X-GNOME-Autostart-enabled=false
which should do the trick. Guess what: start skype, quit and the setting is back to true
. Changing Exec=/usr/bin/skypeforlinux
to Exec=/usr/bin/true
had the same effect: none.
This is the moment in time when I really get angry and p….: I set options and someone else discards them. OK Microsoft, how about the next ace in my sleeve:
cd ~/.config/autostart sed -i -e 's/^Exec=.*/Exec=\/usr\/bin\/true/' skypeforlinux.desktop chmod 444 skypeforlinux.desktop
and that does it. And if you think you can override that in a future version, I will make root the owner of that file.
Oh, and the Microsoft Teams client for Linux does the same crap but the solution works the same way.
Enjoy login without Microsoft autostarts on Linux!
Update 2020-05-01
As a response to the above blog entry I received a mail that explained how to turn off the autostart using a setting on the General settings tab within skype. The same mechanism applies to teams as well, so at least that is consistent.
BTW: changing the setting withing the application immediately creates or removes the ~/.config/autostart/<MS-application>.desktop
file. Well, I think you can call this also a form of desktop integration.