Eclipse issues in Linux Mint

I’ve been wrestling with IDEs and OSs for the past few days, trying to decide which would be best for Javascript and PHP development. I had been using Netbeans. I absolutely love Netbeans, but I found that editing Javascript in it was somewhat lacking. I was having trouble keeping up with my nested anonymous functions and thought it’d be a good time to try out other alternatives.

I bounced around between Linux Mint, Mac OS X, and Windows 7. I find that I would really like to program on my Macbook Pro, but it just doesn’t feel comfortable. There’s something about the keyboard setup or something that just annoys me. It’s more of a problem with my familiarity with the keyboard, I think. At any rate, after messing with Eclipse, Netbeans, and Textmate on my Mac, I decided it was going to be a no-go.

Windows 7 presented a problem in the fact that XAMPP seems to have issues with sessions. They work but almost at random, creating a new session will lock up the entire web server. When you are developing a website which uses Sessions for user logins, that creates a problem. So, I decided it would be in my best interest to use Linux, which seems to be made for programmers, because most programming related things work great in it and the fact that you almost have to be a programmer to get some things to work correctly in it. Though, that is an outdated misconception, but everyone still seems to believe it.

I had been using Linux for most of the development of my new project anyway. So, there was no transition there. I’m using SVN on a server machine so it really didn’t matter which OS or IDE I decided upon for that. They are all pretty universal in their ability to handle SVN. The major exception was Mac OS X which didn’t include the ssh-askpass command needed to tunnel SVN through ssh correctly. I was able to find a shell script that handled the ssh-askpass function, however. Textmate didn’t really work well, either, because it didn’t really have robust SVN integration. It was pretty much just like manual SVN. I also needed separate programs for Diff and Merge. That was lacking and clunky. I was spoiled by Netbeans’ built-in Merge, Diff, SVN, and so forth.

I thought I’d give Aptana a try. It is a PHP developer plugin for Eclipse. It is also available in a standalone package. I had various problems with the standalone version of Aptana so I decided to install Eclipse from the LinuxMint/Ubuntu repositories. Eclipse worked great, and Aptana installed perfectly. However, I needed the SVN tools that are Aptana add-ons. They wouldn’t install. There was a version conflict with the version of Eclipse in the LinuxMint/Ubuntu repositories.

So I decided to install the latest version of Eclipse. I downloaded and ran the latest version and found that there were UI issues. This brings me to the subject of this post. The UI issues were a major roadblock, so I searched for a solution. The problem, I believe, stems from compositing inside Gnome. Unlike Ubuntu, I couldn’t find an easy way to turn off compositing inside LinuxMint. OH, I’m sure I could disable the compositing extension inside the xorg.conf file, but I really wanted a light switch option. The normal way I would handle this is the Fusion Icon. It didn’t seem to work. I also tried disabling effects from the Gnome Appearances menu option. Compositing just wouldn’t turn off that easily.

So here is the solution for Eclipse and Aptana inside Linux Mint.

GDK_NATIVE_WINDOWS=true /opt/eclipse/eclipse

That will work if eclipse is installed in /opt/eclipse, but I just had mine downloaded to my home folder. It doesn’t really matter. You would just change the /opt/eclipse/eclipse to your actual executable path. The key here is to add the GDK_NATIVE_WINDOWS=true before the eclipse command.

I’m about to create a shortcut to do this for me. Now all my buttons will work when I click on them. That’s convenient huh.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.