Monday, November 30, 2015

One Week with Solaris 10, Part 2

Opening remarks and overdue meta data

It is now Day 4 with this Solaris 10 installation, and I haven't gone running to the proverbial hills.


Since my previous, post, I realized that I neglected to provide any sort of personal frame of reference to explain the perspective from which this is being written. Although I am well into my second (or third?) decade as a UNIX fanboy, and while I may come across as a computer scientist next to the average point-and-click Windows or Mac user, I am by no means a technical UNIX user. I can find my way around most any UNIX system, and I know just enough about it to sound like an expert to those who haven't the faintest idea what the hell I'm talking about. But while I'm proficient enough to use it for my own productivity purposes, I'm not the person to run your IT infrastructure. Not even close!

And so this series on Solaris 10 isn't meant to reflect any sort of expertise on my part, but rather my enthusiasm and joy at learning and exploring new-to-me things about UNIX itself, and hopefully to provide direction to other clods like me by way of example. (And if you feel the need to correct me or provide a better way to do anything please let me know via the contact form to the right. I will take it in what I'll assume is the constructive spirit in which it was intended.)


Before I go too much further, I should pass along a tip for those who are also thinking of installing this operating system. As with anything UNIX, probably the first thing you want to do with a fresh install is set yourself up as a user and then assign root privileges. (Most UNIX systems I've come across let you accomplish this as part of the initial installation procedures, including Solaris 11 and its open source cousins. Not so for 10.)

So before you do anything else, the first order of business should be setting up a new user, as follows, using my own credentials as an example:

#  useradd -d /export/home/jed -m -s /bin/ksh -c "James Deagle" jed

Once you've created a password with the passwd command, you can now assign root privileges:

# usermod -P "Primary Administrator" jed

I found the above somewhere on the web quite a while ago during a previous Solaris 10 installation. I had scribbled it down in a notebook without documenting where I found it. All that to say that the above is courtesy of another person's knowledge, and as someone who believes in always giving credit where it's due, it kills me that I'm unable to provide a hyperlink to the original source. (To paraphrase Magnolia, I may be done with journalism, but journalism isn't done with me.)

Some thoughts on CDE

All in all, I feel myself warming up to the Common Desktop Environment (CDE) to the point where I could live with it as my 'production environment', rather than it being just the fascinating occasional toy that it has been up until now. (I'm still banging my forehead on some of its quirks, but each time I do there is something new to learn, and each time that happens I realize that CDE is a very thought-out system, and that it is only my own unfamiliarity with it that makes it seem weird at first. Like many great things from within the UNIX realm, and like UNIX itself, it will not adjust to you - you have to adjust to it. Once you're down with that, powerful things can happen.)

At this point, I imagine a hypothetical reader asking why I haven't tried out CDE previously by installing it on a more up-to-date operating system. That would be a fair question, and in response I can tell you that I have already tried that route. Many times. I tried to build it from source on FreeBSD, OpenBSD, NetBSD as well as OpenIndiana, but it in every case it would throw up on itself before the build was complete. (I would happily install CDEbian if it were still active, or if I could at least find an installable iso.)

And so I have come to think of building the recently open-sourced CDE as being akin to a coffee mug I saw many years ago. One side of the mug read "Turn the mug to see how to keep an idiot busy." On the other side, it read "Turn the mug to see how to keep an idiot busy." I'm through feeling like an idiot, which is partially why I'm on this one-week journey with Solaris 10.

(I also have UnixWare 7.1.4 installed on an ancient Toshiba Satellite, but I don't count that because I haven't figured out how to configure the network yet, and so for now it is a mere toy. I may attempt to install that OS on this machine and see what happens, and so there may be a One Week with UnixWare 7.1.4 series in my near future if the current series doesn't chase away my entire readership in the meantime. In all seriousness, it may be a worthwhile venture, as the UnixWare implementation of CDE has a different enough feel to warrant comparison.)

God exists, He is merciful, and His name is Firefox 38.2.1

My next order of business was updating Firefox, as the one that comes out of the box with Solaris 10 is too outdated for any real fun on the web. And so I went to a website called Unix Packages and its special page for Mozilla software, including Firefox, Thunderbird and Sunbird. (Installation instructions are on that website, so I won't bore you with them here.)

While I now have Firefox 38.2.1 up and running, I have to go through a workaround to start it, which namely involves becoming root, invoking bash, temporarily adding the installed package's ./bin directory to the $PATH, and then executing Firefox's full path to bring it to life, as follows:

$ su
Password: _
# bash
# export PATH=$PATH:/opt/sfw/bin
# /opt/sfw/bin/firefox &

It would be nice to figure out how exactly to permanently add /opt/sfw/bin to the package path, but at this point I don't quite give enough of a shit to lose that much sleep over it. After all, this is only for a week, and I'm just overjoyed at having a version of Firefox that can run YouTube videos as smoothly as Linux Mint (which is saying a lot for good ol' Slowaris) and also allows me to use other websites (such as NoteFlight and Google Docs) that newer SunOS variants choke on due to a lack of Flash support.

In fact, given that the ads on YouTube don't flash like a slow-motion strobe light on this system like they do on Linux Mint, I'll go out on a limb and say that with the 38.2.1 build, Solaris 10 provides the best Firefox experience yet on any system I've used. Take that, Penguinistas!

The road ahead

Under Oracle's stewardship, Solaris 10 and 11 are both in a weird space as far as the two big Free and Open Source Software (FOSS) productivity suites are concerned. While OpenOffice began life as StarOffice at Sun Microsystems, and was thus very much a part of the Solaris ecosystem, it is now under the direction of Apache, and so perhaps for reasons of corporate vanity, Oracle does not provide OpenOffice either out-of-the-box or as part of its package repository. Ditto for LibreOffice. This leaves Solaris users to contend with porting and building either suites from source on their own, or trying to find a third-party binary. I am on that very same hunt myself, and will keep you posted.

An alternative is to try and get the NetBSD-led pkgsrc repository working, though I have my doubts, as I've been unsuccessful to date at doing the same on OpenIndiana. (Insert coffee mug anecdote here.)

Assuming they have a new enough version of Firefox installed, the desperate can resort to Google Docs for word processing, spreadsheets and slide presentations, though if doing so in any professional capacity, it would be best to advise recipients to open any of your documents in Google on their end to maintain the intended formatting. (No offense to Google, as Google Docs works just fine on its own terms. Any criticism here is strictly regarding how a Google document's formatting becomes skewed when opened in a Microsoft product. In an ideal world, life wouldn't be dictated by any one vendor.)

This may be unworkable in just about any professional setting, particularly in a government workplace, where there very likely is a requirement for all work-related documents to be composed, edited, saved and tracked within the in-house ecosystem. And because your choice of workplace operating system and productivity suite is dictated by colleagues whose job involves accepting bribes of food, alcohol and other gifts by vendors, rather than your knowledgeable and hardworking IT professionals, you'll be stuck with Microsoft Windows and Office until you die. And so will your children. And their children's children.

(Psst, Google: You should focus some effort on working with organizations to allow versions or usage of Google Docs that complies with their respective internal IT policies. Perhaps this could entail a client-side app that would provide adequate encryption and internal system interopability?)

The other order of business is to enable wireless networking, but I'm getting a sinking feeling that the wireless driver this laptop needs (iwn0) may be missing from the current installation. If I'm not able to resolve that issue, then this will indeed be just a one-week experiment, though it will be with a heavy heart and fond remembrance I that install something else over top of this.

But don't worry, OpenIndiana. A candle burns on my window sill in anticipation of your return.

Friday, November 27, 2015

One week with Solaris 10

For quite some time I've had a largely-unconsumated love for Solaris 10. The reasons for this are many, though for the most part it comes down to a sense of awe at the software and hardware engineering legacy of the late Sun Microsystems, a more basic urge to kick the tires on a corporate-driven UNIX (as opposed to the sundry open source "Unix-like" systems that I've been using for years), as well as an inexplicable crush on CDE, the so-ugly-it's-beautiful desktop GUI.

(The last reason is probably the most salient, as I've had more than my share of experience with OpenSolaris and OpenIndiana, which are indeed as SunOS as any of the "official" versions of Solaris, but with the Gnome desktop and bash as the default shell, these systems have always seemed - to me, anyway - like UNIX trying to woo the Linux crowd. Solaris with Red Hat Enterprise Linux window dressing, if you will. Having said that, OpenIndiana rocks my world, and is always the port of call to which I return after bouts of compulsive distro-hopping.)

Unfortunately, any time I ever installed it, it was never long before I bailed and installed something else over top of it. Why?

My best answer is that despite my self-proclaimed "catholic taste" in UNIX systems, I've become accustomed to the bells and whistles of the fancier systems, be it the SunOS 5.11 strains of Solaris, or even Linux Mint, which despite some unstable behavior (on my laptop, at least), puts up zero resistance for those who want to stop dicking around and simply get stuff done and have some fun afterwards.

And so whenever I had booted up a fresh Solaris 10 installation, I was left somewhat cold by a system I had yet to fully comprehend. (How do I install packages on this thing? How do I assign root privileges to myself? How do I enable wireless networking?) These brief forays into the world of Solaris 10 consisted of a few minutes of adoring the retro utilitarianism of CDE, and then retreating to whatever other OS had my confidence at the time.

A screenshot taken with the xwd tool while writing this post 
in my current Solaris 10 installation.

Particularly over the past few months, however, I've had this nagging feeling that I jumped ship prematurely, and have never given myself a chance to simply experience Solaris 10 for any extended period of time, and at least learn a thing or two about it and CDE.

With that in mind, I am commiting myself to keeping this current Solaris 10 installation for at least one week (starting today), and exercise a bit more patience in working through whatever roadblocks crop up. As the week progresses, I will pursue the following goals:

  • intalling productivity software (such as OpenOffice or LibreOffice, Scribus, Inkscape, etc.),

  • installing multimedia software (such as Audacity, Blender, vlc, etc.), and

  • enabling wireless networking. (This is nothing short of a moral imperative. My neighborhood Starbucks is chockablock with Apple-laden hipsters and yoga moms, and so I have this demented urge to boot up CDE in all of its unsightly glory on my refurbished ThinkPad T61p for all to see within such a painfully-trendy mileu. In these parts I'm sure such an act contravenes some local bylaw. This is Kanata, after all.)

Along the way, as I try to resolve any problems, I'll report my findings here, thus guaranteeing no date to the prom as far as my readership (all three of you!) is concerned.

*    *    *

My one caveat is that I reserve the right to boot up a Linux Mint live DVD for certain tasks that Solaris 10 simply isn't up to (yet) on this machine, such as word processing, watching YouTube videos with reasonable smoothness, or creating/handling multimedia files. As the week (or beyond) progresses, I'll work towards being able to do more (or all) of these things within Solaris 10.

In fairness, Solaris 10 reflects the needs of the late 1990's and early 2000's system administrator, rather than the desktop user here in 2015, and so while I'd love to get this system to a point where I can use it instead of newer, more Linux-like alternatives, for the sake of my one-week experiment I will ease up on my expectations and remember to experience (and appreciate) it on its own terms.