Linux – Picasa:// links in Google Chrome (Linux)

google-chromelinuxpicasaurlxdg

When I go to Picasa Web to see another user's album, I can download pictures using Picasa with it. This launched a URL like

picasa://downloadfeed/?url=http%3A...

In Firefox, when I click this, I can choose to open it with /usr/bin/picasa and it works fine.

In Chrome however, it doesn't suggest to choose an application to open it, but sends it to xdg-open instead, which fails. When I try to launch such a URL with xdg-open in a console, I get :

$ xdg-open picasa://foobar
   kio (KRun): ERROR: #### NO SUPPORT FOR READING!

I've found a post on a forum that says that you can configure xdg-open associations in ~/.local/share/applications/defaults.list :

$ cat ~/.local/share/applications/defaults.list
   [Default Applications]
   text/html=google-chrome.desktop

but I have no idea what to use for Picasa links. Furthermore, man xdg-open indicates that

xdg-open supports file, ftp, http and https URLs.

I've also tried editing the file associations in KDE's System Settings to add a "picasa" entry in the "uri" group. I logged out and in again (just in case), but it still won't work.

Does anybody know how I can get Google Chrome to manage these URLs properly?

Best Answer

On KDE4, you can add a protocol handler under $HOME/.kde4/share/kde4/services/. On Earlier versions I believe this directory is $KDEDIR/share/services/. Create a file called picasa.protocol and place this in it:

[Protocol]
exec=/usr/bin/picasa "%u"
protocol=picasa
input=none
output=none
helper=true
listing=false
reading=false
writing=false
makedir=false
deleting=false

You may need to tweak the options a bit, but I think that should work. This is the same method for setting up the spotify handler in chrome, as well as a handler for last.fm.

Related Question