Not an easy goal to reach. There is no perfect tool for this right now. However, despite the many debates about it I still think that Java is the closes thing. Right now most of the software I run on both Windows and Linux are Java applications. The big guns include: Open Office, Netbeans (for Ruby and JRuby), JDevelopper mainly as a modeler (it has very good Use Case support including nice forms for actual Use Case elaboration) and of course Eclipse. All three applications feel identical under the two platform (all three are more responsive under Linux). I also use a number of other little Java applications like FreeMind and JEdit.
Keep Up with TechRepublic