This issue happens on Ubuntu and Ubuntu-Gnome but not Xubuntu or Kubuntu. Ubuntu has these *.desktop files that create 'launchers' for applications. An application needs a launcher for it to be the default application for a filetype. Bash doesn't have one. That's why you can't run shell scripts in Ubuntu from the desktop.
One workaround is to add a bash launcher in the ~/.local/share/applications directory. Call it 'bash.desktop'.
There is also an entirely non-command line solution that involves installing another program. Get the program Main Menu from the Ubuntu Software Center. It's name on the command line is 'alacarte'. When this program is open click the 'New Item' button and a window will appear. Enter these options:
Alas, I don't think we should be instructing Ubuntu users on how to totally disable Ubuntu's "I won't run a script if you click-click it" feature. It's there to protect them. Instead, we should be teaching them how to make an exception just for TBB. If there's an easy way to do that, that is.
Instead, we should be teaching them how to make an exception just for TBB.
Another (somewhat gruesome?) way to get around this would be to rewrite the whole start-tor-browser script in C (but not python it appears, as *.py files, like *.sh files, open in gedit when they're double-clicked).
Actually, see also #9173 (closed). We may want to drop RelativeLink entirely and just have Firefox execute directly on all platforms.
mcs/brade: You probably want to keep that in mind for your bundle reorganization+updater work. If you think it is also worthwhile to remove this wrapper script to make the updater simpler, you can do that as part of your updater contract item.