Skip to main content

At Work With Linux: Digging Into Ubuntu 11.10

Running synaptic from Dash. Note that I've also dropped the synaptic icon on the left vertical launcher.

I received a couple of questions from Rick Reumann via a comment on the post "At Work With Linux - Ubuntu 11.10, Day 2". His questions are at the bottom of the page and boiled down to how to setup synaptic as the default installer such that double clicking on a .deb file starts it up, and how to start synaptic from Dash and hopefully from the launcher.

Starting with the second question I was able to start synaptic from Dash, and I was able to drag and drop the icon to the launcher such that clicking on the synaptic icon launched it. So that part did work for me.

Unfortunately, I have no answers for the rest of his questions. You can't create individual application launchers on the desktop, and you can't create them on the fly on the launcher bar. I did discover while installing the NetBeans IDE 7.1 RC2 downloaded from Oracle that you could programmaticly create an application launcher on the desktop, because it did. And I found that once created I could drag and drop that on the launcher bar. So the hooks are there, buried under the surface is it were. It's just that the UI elements necessary for the end user to do it are currently missing in action.

Investigating Rick's questions uncovered a somewhat ugly side to Ubuntu 11.10, ugly for Java developers. Turns out that Oracle changed the Java license and in the process made it unsuitable for the open source cognoscenti, who dropped it from the repositories and are now offering OpenJava in its place. This is unfortunate for two reason;
  1. OpenJava is only up to Java 6 update 23. Oracle Java is currently at Java 6 update 29 (and yes, I know about Java 7, and that's now what my clients need and use).
  2. I want Oracle Java on all my systems because I want as consistent a cross-development platform as I can reasonably have, using as valid an implementation as possible. Sorry, but OpenJava isn't quite good enough.
So before I could install NetBeans 7.1 I had to hack the system to accept Java 6 update 29. Why? Because NetBeans 7.1 flagged the OpenJava version that was installed with Ubuntu 11.10 as "not suitable". Basically, I had to download the installation binary from Oracle (which does nothing more than unpack it into a directory), set up a local JAVA_HOME variable and modify the PATH to point to this, and then drop a copy of Java update 29 (jdk1.6.0_29) into /usr/lib/jvm. Under /etc/alternatives I changed a soft link to point to my Java (ln -s /usr/lib/jvm/jdk1.6.0_29/jre/bin/java). Did I call that a hack? It's a damned ugly hack.

Between those two changes I got the version of Java I wanted to work with the version of NetBeans I wanted, and that's when it dropped the launcher on the desktop.

Next I grabbed the latest Eclipse releases from the Eclipse website (both 3.7.1 and 4.1.1) and unpacked them in my home directory. While Eclipse worked if launched from the command line, there was nothing I could do to get Eclipse to launch from any part of the desktop. I could have used synaptic or Software Center to install Eclipse 3.7.0 from the official repository but when I looked at all that would have been installed I said 'No' to all that additional baggage. When I install Java and supporting tools, I'm very picky about what gets installed, both with regards to versions and specific tools. I've done this for some number of years now, and I won't change to somebody else's idea of what I need. The less I install the better off I am.

At this point I can't actually recommend Ubuntu 11.10 for Oracle Java development, and it may be a bit tough for other types of development as well, especially if you want to step outside of Ubuntu's carefully curated software system. It shouldn't have to be this hard. In the past I would have dropped my version of Java in my local directory, set JAVA_HOME and PATH in .bashrc and be done with it. But I can't even do that. I know I have a problem when 'which java' returns '/usr/local/java' while 'which javac' returns nothing but I still get the right version of javac and jar when executed (for the record the only JRE is installed on Ubuntu out-of-the-box). I guess that's why I stick with Fedora and RHEL and OpenSUSE, just to name three.

We'll continue to use it for OpenStack development because Ubuntu's recommended. But once we get up the learning curve on OpenStack I intend to move OpenStack development to a more robust development platform.

Update 6 December

Shame on me for not looking on the web for answers to customizing Unity. However, even the answer is fraught with peril as it were. First, here's the link:

To quote from the linked page:
Creating a custom launcher for Unity is simple. Quicklists provide an easy and efficient way to quickly access commonly used tasks for a specific application.

NOTE: Starting with Ubuntu 11.10, this popup option has vanished. Launchers can now only be created by editing text files in your home folder.


Popular posts from this blog

cat-in-a-box channels greta garbo

So I'm sitting at my computer, when I start to notice a racket in back. I ignore it for a while until I hear a load "thump!", as if something had been dropped on the floor, followed by a lot of loud rattling. I turn around and see Lucy in the box just having a grand old time, rolling around and rattling that box a good one. I grab the GX1 and snap a few shots before she notices me and the camera, then leaps out and back into her chair (which used to be my chair before she decided it was her chair).

Just like caring for Katie my black Lab taught me about dogs, caring for Lucy is teaching me about cats. She finds me fascinating, as I do her. And she expresses great affection and love toward me without coaxing. I try to return the affection and love, but she is a cat, and she takes a bat at me on occasion, although I think that's just her being playful. She always has her claws in when she does that.

She sits next to me during the evening in her chair while I sit in mi…

vm networking problem fixed

Over the weekend I upgraded to Windows 8.1, then discovered that networking for the virtual machines wouldn't work. Then I tried something incredibly simple and fixed the problem.

Checking the system I noticed that three VMware Windows services weren't running; VMnetDHCP, VMUSBArbService, and VMwareNatService. VMware Player allows you to install, remove, or fix an existing installation. I chose to try fixing the installation, and that fixed the problem. The services were re-installed/restarted, and the virtual machines had networking again.

Once network connectivity was established there was exactly one updated file for Ubuntu 13.10, a data file. This underscores how solid and finished the release was this time. Every other version of every other Linux installation I've ever dealt with has always been succeeded by boatloads of updates after the initial installation. But not this time.

Everything is working properly on my notebook. All's right with the world.

first night for the gingersnaps

The first night has passed and the two have managed to survive, in spite of what their tiny hearts might have thought when first arriving. Greebo, the larger of the two, has been in hiding the entire time so far. Ponder has spent the time zipping in and out of hiding spots, checking things out, and learning just how comfortable pillows are for resting your head.

During the night I felt the tiny body of Ponder hitting the bed as he leaped up on the side, and then climbed to the top to run around on top of me. At least once he play-attacked my fingers. He might be small but his claws are still quite sharp.

When I got up in the morning the bowl of cat kitten food was fairly well depleted. It's been refilled and fresh water put in the big dish on the floor. I'm assuming that both Greebo and Ponder are feeding and drinking. I have seen Greebo under the furniture peeking out at me when I went looking for him. I'm leaving him alone while he continues to adjust.

So far the guys h…