Problem still persistent. Linux Mint 16 (Petra)
Oracle Java SE 7 update 51
java version "1.7.0_51"
Java(TM) SE Runtime Environment (build 1.7.0_51-b13)
Java HotSpot(TM) 64-Bit Server VM (build 24.51-b03, mixed mode)
The workaround "unset -v GNOME_DESKTOP_SESSION_ID" does not seem to be working. sudo is the only working solution for me at this point.
Since the prob was persisting, I've opted just to install OpenJDK and use that for SQL Developer. So Oracle JDK is whats linked to /usr/bin/java, then I updated ~/.sqldeveloper/product.conf and have the line:
It seems to work fine with OpenJDK as sopvkore suggested earlier.
I also gave up on the Oracle JDK.
I did the same steps trent did with one addition. I didn't like the terminal window being left visible, so I installed terminator and hid the terminal window:
sudo apt-get install terminator
sudo vi /usr/bin/sqldeveloper
Another way to do this fairly cleanly is to use a .desktop file. Here's my .desktop file for launching SQL Developer:
[Desktop Entry] Version=1.0 Name=Oracle SQL Developer GenericName=SQL Client Comment=Develop SQL code MimeType=text/english;text/plain;text/sql;text/x-sql; Exec=env -u GNOME_DESKTOP_SESSION_ID /opt/sqldeveloper/sqldeveloper.sh %F TryExec=/opt/sqldeveloper/sqldeveloper.sh Icon=/opt/sqldeveloper/icon.png Type=Application Terminal=false Categories=Utility;Development;TextEditor;
You would just need to adjust the path for the application above. The 'env' command unsets the environment variable GNOME_DESKTOP_SESSION_ID before launching.