I think there's room for improvement in the the Arduino IDE start script for Linux. It's currently not possible to open files from the command line using the standard start script because the start script doesn't pass along parameters to java.
I previously provided a way to solve that in this thread: http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1284958834 The changes make it possible to have the IDE open a certain file by passing it's path on the command line or make it open a default template if no parameters are passed. That in turn makes it possible to associate .pde files with the Arduino IDE. Someone with better Linux knowledge than me could probably improve it further but I think something needs to be done about it.