Making the skype: URI scheme work on Ubuntu/Debian for Firefox/Chromium etc

October 19th, 2012 | by Sean |

Firefox doesn’t know how to open this address, because the protocol (skype) isn’t associated with any program

SkypeI added some skype buttons to lolyco.com recently and seemed to hit a brick wall. While there seemed to be plenty of others running up against the same problem, I couldn’t find a working solution. I didn’t even try some of the more complicated looking ones – something as basic as registering a handler for an URI scheme couldn’t possibly require compilation of code, could it? Ideally I’d like a solution that worked the same for all the browsers I have installed:

I found the answer to the more generic problem of registering any scheme handler at stackoverflow. The solution that works for me is to use the FreeDesktop.org‘s database of handlers for MIME types. What’s nice about this solution is that all software on your desktop that works with this database automatically gains skype URI-handling ability.

There are just two steps:

Create a file called ‘skype.desktop’ in ~/.local/share/applications/ that contains this:

[Desktop Entry]
Name=skype
Exec=skype %u
Type=Application
Terminal=false
Categories=System
MimeType=x-scheme-handler/skype

Next, run the application update-desktop-database on the folder containing the desktop entry files:

update-desktop-database ~/.local/share/applications/

That’s it! As long as you have skype installed so that it can be run by typing ‘skype’ at a command prompt, compatible browsers should JustWork™ with (for example) the Skype Echo / Sound Test Service.

The man pages for update-desktop-database and the post from ‘Mark’ at stackoverflow show semicolons after some lines in the desktop entry. I found adding a semicolon to the Exec= line will stop skype launching correctly. The skype application will launch, but I’m guessing the semicolon is passed to the application which then fails to see the “call” query part.

Happy skyping!

Be Sociable, Share!

Post a Comment