Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

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?

share|improve this question
    
what version of Picasa are you running? –  codeLes Jan 5 '10 at 20:44
    
3.0.5744-02, but it doesn't really matter. I just want to associate the /usr/bin/picasa command with the picasa: URL scheme. The version of Picasa should not matter, but the version of Chrome might. –  ℝaphink Jan 5 '10 at 20:57
    
I wasn't sure, but I did see something on the tubes that mentioned versions 2.7 and up... so you should be good /if/ that was an issue. no other clues yet... –  codeLes Jan 5 '10 at 22:19
1  
Just to point you in the right direction, on KDE I believe xdg-open calls kfmclient (some functions were moved to kioclient for KDE 4). So you'll probably want to tweak kfmclient rather than xdg-open. Not sure on how to add URI handlers to kfmclient though. –  John T Jan 8 '10 at 10:47

4 Answers 4

up vote 3 down vote accepted
+250

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.

share|improve this answer
    
In Kubuntu 9.10 (Karmic Koala), the path I had to use is actually $HOME/.kde/share/services/picasa.desktop but the contents do work. In general, the path to the configuration is given by kde4-config --path config or kde-config --path config –  ℝaphink Jan 9 '10 at 11:42
    
Thank you very much for helping me fix this issue :-) –  ℝaphink Jan 9 '10 at 11:43
    
You're most welcome. –  John T Jan 9 '10 at 11:53

Solved. Works for Ubuntu 11, all browsers, gnome3 / Unity.

Find the following file and edit by hand. I did not find the correct way to do this with gconf-editor.

File name and path:

~/.local/share/applications/mimeapps.list
  1. Make a copy of the file in case you need to replace it.
  2. Add the following line at the end of [Added Associations]:

    x-scheme-handler/picasa=picasa.desktop
    
  3. Save the file

Go back to your web browser and attempt to download the album to Picasa again. This worked for me.

Sample script:

cd ~/.local/share/applications
cp mimeapps.list mimeapps.list.old
nano mimeapps

Once inside nano, add the line above at step 2; Ctrl + O then Ctrl + X.

share|improve this answer
    
Welcome to SU, @Ben. Just so you know, I've already had a correct answer for this question, so I'm not likely to accept yours, although it does look correct. Just a note: there is no such thing as Ubuntu 11. The current Ubuntu release is 11.04 (as in 2011 April), and the next one will be 11.10 (as in 2011 October). –  ℝaphink May 30 '11 at 19:20

Can you go into Firefox and under the Applications tab, find the entry for the Picasa link, and then copy it into Chrome? That seems the best way to do it to me...

share|improve this answer
    
You mean looking at the mime type for the picasa:// link type in the Firefox configuration, and adding it as such to the xdg config file? –  ℝaphink Jan 5 '10 at 19:54
1  
Unfortunately, the Firefox settings are not very clear. It's all located into an RDF file in ~/.mozilla/firefox/*/mimeTypes.rdf and it doesn't give a generic mime type for it. As for the Chrome side, I didn't find a way to specify helpers directly in the configuration (hence my question). –  ℝaphink Jan 5 '10 at 20:02
    
Did you try going to the Tools menu, clicking Options, and click the Application tab and finding what it says for the picasa link? That should be easier than using an RDF file. Unfortunately I don't have Picasa (and can't get it at the moment) to test. –  Joshua Nurczyk Jan 5 '10 at 20:25
    
I don't have an "Application" tab in the Options. Using Google Chrome v. 4.0.249.43. –  ℝaphink Jan 5 '10 at 20:39
    
I meant in Firefox. I don't think you need to edit the mimeTypes.rdf for Firefox to find the app. On the Edit menu click Preferences, then click the Applications tab to see how Firefox handles it. –  Joshua Nurczyk Jan 5 '10 at 21:27

Try this, replacing "bitcoin" with "picasa" in this case (source):

How to configure your browser

Firefox (version 3.5 and above)

Visit about:config

  1. Create a new boolean (mouse right click -> new -> boolean)
  2. Enter this name: network.protocol-handler.expose.bitcoin
  3. Select the value: false
  4. Next time you click on a Bitcoin URI, a dialog will ask you to enter the path of your Bitcoin client. Make sure it is executable

Chrome:

To configure Chrome on Ubuntu 10.04 or maybe later versions to handle bitcoin URIs, do this first on the command-line:

  1. $ gconftool-2 -t string -s /desktop/gnome/url-handlers/bitcoin/command "/path/to/electrum.py %s"
  2. $ gconftool-2 -t bool -s /desktop/gnome/url-handlers/bitcoin/needs_terminal false
  3. $ gconftool-2 -t bool -s /desktop/gnome/url-handlers/bitcoin/enabled true

This tells Gnome what to do with bitcoin URLs, and Chrome picks that up from Gnome.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.