Jump to Navigation

Computer

How to get your mic working on a laptop with a dual-channel internal microphone in #! (CrunchBang) LINUX

Click here to skip to the howto section.  It's funny how it was basically the exact same problem that I ran into in Ubuntu 11.04 (Natty Narwhale) that put me on the correct path to resolve this issue.  Basically, to sum up, this problem affects a number of modern laptops that have dual-channel internal microphones, which (apparently) are intended to support dual channel audio recording.  Exactly how two microphone channels on either side of your laptop are going to produce anything remotely near to the quality of two microphones is beyond me, but in this case it causes special issues that need to be addressed in LINUX.

I like to create videos of my desktop and various other things, and occasionally even use the YouTube webcam recorder.  Even more occasionally I'll take advantage of Google Talk's built-in video chat.  Nothing drives me crazier than something that I occasionally use not working and costing me stupid amounts of time trying to resolve, so I've started categorizing this issue as a high-priority item to resolve just to get it out of the way before I need it.

After installing #!, I noticed that I was not getting any microphone response on the YouTube webcam recorder, and initially attempted to resolve it using the GUI mixer by right-clicking on the volume control icon and selecting "mixer".  I then activated the microphone by clicking the red X next to the speaker icon and, when that didn't help, I clicked on the chain icon and lowered the right channel volume to 0, leaving the left channel volume set to maximum.  This still didn't help, so I selected the Capture tab, clicked on the gray dot beneath the first Capture entry, and when this did not resolve the problem I set it aside for the time being.

Because these sorts of issues tend to fester in my brain, I took another couple cracks at it before finally applying myself to focusing on the issue in alsamixer like I had before.  In my experience, solutions tend to be more likely and also tend to stick when using terminal (or in this case terminator).

Again, in alsamixer I had the right channel of the microphone reduced to 0 volume, and the left channel set to 100, as this is what had solved my problems in Ubuntu.  This didn't help me here.  I then experimented with various settings, but finally came up with this as the final solution:

I arrived at this solution after pressing F1 to read the Help dialogue, and noticed that while Capture was selected, I could press the Spacebar to toggle Capture on and off (it shows up red in the above screenshot).  More importantly, I noticed that if I pressed either the ; or ' keys I would toggle the left or right capture channel off and on.  I toggled the right channel to off with the ' key and left the left channel enabled, then tried again.  Success!  In this case it appears that the left and right microphone channels compete with each other for the same resources, effectively cancelling each other out.  Disabling one allows the other to work.  Since I have no plans for recording dual channel audio with my internal laptop microphone, this solution works just fine.  YouTube and Record My Desktop work great now.

I still need to work out how to resolve issues with Google+ Hangouts / Google Talk, but that's not a priority for me at the moment.  See below for step by step instructions including support for Google+ Hangouts / Google Talk video chat / Google Voice.

Instructions:

Open a terminal window and type the following to open the mixer:

alsamixer

Make sure you have the correct sound card selected.  In my case it was the default sound card, but you can press F6 and use the arrow keys to select the one you want from the small window that pops up in the alsamixer, or the Esc key to leave the window and return to the mixer.  See the included screenshot above for reference.

Press F5 to view all devices - typically they will not all fit on a default size terminal window, but you can extend the window or maximize it so you can view everything on one screen if you so wish.  Alternately you can use your right and left arrow keys to move between each section as you jump from device to device.

Use the right and left arrow keys to navigate to Mic.  If you see MM at the bottom of the volume indicator, that means the microphone is muted, otherwise it should display 00.  Press the M key on your keyboard to toggle to unmuted if it is not already displaying 00.  Also use the up and down arrow keys to change the volume, I recommend setting it to 100 with the up arrow key.

Now use the right or left arrow key to select Mic Boost (there may be two entries) and lower the volume (on each) to 0.  Mic Boost is likely to cause problems by creating distortion and noise interference - only if you find your recording volume is too low should you raise the volume on these devices.

Verify that Input source is set to the correct device.  In my case, Input Source is set to Internal Mic, and Input Source 1 is set to Mic (to allow me to hook up an external microphone if I so choose).  To change either, use the left or right arrow keys to select each device, then while selected use the up and down arrow keys to select your preferred option.

Next, select Capture using the left or right arrow key.  Raise the volume to 100.  If you do not see the word CAPTURE in capital red letters, press the Space bar to toggle it enabled.  If your system is a laptop equipped with dual channel audio, press either the ; or the ' key to toggle either the left or the right channel disabled (only one needs to be disabled).  If this does not work, you may need disable CAPTURE on this device, and enable it on Capture1 or Digital (sometimes these entries are not labeled correctly and some trial and error may be necessary to determine which one matches your audio card's microphone).

Press the Esc key to quit out of the alsamixer.  This would be a good time to test audio recording using something like RecordmyDesktop or YouTube's web camera recorder.  YouTube's web camera recorder is particularly helpful because it will display microphone activity even if you are not recording.

If you intend to use Google Talk's video chat, Google Voice or Google+ Hangouts you will need to do the following.  If you have already installed the GoogleTalk Plugin skip down to the enxt step. Download the GoogleTalk Plugin here: http://www.google.com/chat/voice/ and select the correct .deb file for your system (32-bit or 64-bit).  Install it with Gdebi Package Installer by right-clicking the downloaded file in the File Manager and selecting this option.  Enter your password when prompted and allow the install to complete.

Enter the following commands into your terminal window:

cd ~/.config/google-googletalkplugin

cp options options.bak      #there may be no options file yet

nano options

Look the following entry (if you are creating a new options file or this entry is not present skip to the next step):

audio-flags=3

And change it to the following (or simply add this line if it is not in the options file):

audio-flags=1

Then press CTRL+X to Exit, and save your changes when prompted by pressing the Y key.  Enter the following into your terminal window to return to your home directory:

cd

Now you need to figure out the hardware name of your microphone by typing this command:

arecord -L

This should generate something that looks like the following:

 card 0: Intel [HDA Intel], device 0: ALC60 Analog [ALC670 Analog]
   Subdevices: 1/1
   Subdevice #0: subdevice #0  

In my case, the device name I was looking for was to the right of card 0: - Intel.  Now it's time to create an .asoundrc file if you don't already have one.

nano .asoundrc

Add the following into your new .asoundrc file (if you already have a .asoundrc file you may wish to copy your file to something like .asoundrc-old first as a backup):

pcm.internal   #named for internal mic, could be pcm.anything
{
   type hw
   card Intel   #Change the name of your card here as appropriate
   playback.pcm
}
pcm.!default
{
   type asym
   playback.pcm
   {
      type plug
      slave.pcm "dmix"
   }
   capture.pcm
   {
      type plug
      slave.pcm "internal"   #must match the name selected on the first line after 'pcm.'
   }
}

Click CTRL+X to Exit, and save when prompted by pressing the Y key.  Reload ALSA by typing the following:

sudo service alsa-utils restart

You should now be able to use your microphone via the Google Talk plugin in Google Talk, Google Voice or Google+ Hangouts.  Because Skype is now owned by Microsoft, please don't ask me to help you with your Skype issues - however, the above should help get you working.

My initial reactions after switching from Ubuntu to #! (CrunchBang) LINUX

Just to be clear from the beginning - this is meant to be a positive post in regards to #! - especially after my previous post regarding Ubuntu I didn't want to give anyone the wrong idea with my title.  My experiences thus far have been quite excellent.

In fact, for starters I had mentioned how much I love the Ubuntu community.  In my experience they are quite good at providing helpful information, especially for new users who have gotten stuck on something.  There have been a few cases where they were not so helpful, and occasionally downright rude, but in general Ubuntu forums tend to have less rudeness than you might find on the forums of other LINUX distros.

However, I immediately found that #!'s user forums are much friendlier by several orders of magnitude than the user forums of Ubuntu.  I took the opportunity to introduce myself in the section for new users, partly because new accounts are deactivated if there is no activity after a week, and got what to me felt like a very warm reception, something I've never felt existed on Ubuntu's forums in any form.  The feeling I got from everyone's nice response was very akin to something I haven't felt since my college days playing Meat MUD.  I felt like I was at home, or at least as much as anyone can feel like they are home while they are on the internet.  I hadn't even installed #! yet but I was already a happy camper.

I accidentally clicked report instead of reply on someone's forum post, and the administrator did not take me to task for bothering them with a mis-flagged posting, but gently mentioned that I must have accidentally hit the wrong button with a smiley face, indicating it was no big deal.  I remember getting lambasted at Ubuntu for cross-posting a support request after it had been ignored for several days.  That's a huge difference right there.

So I backed everything up to a new image file using Clonezilla, and dove into the install headfirst, formatting my primary SSD's ext4 partition and starting anew.

Graphical installation was what I remember from older versions of Ubuntu - I didn't boot into a Live environment to conduct the install, but it was still relatively straightforward and mostly easy to get through.  Getting the installer to simply format the existing ext4 partition on my primary hard drive instead of destroying it and creating a new primary partition with a swap partition was a little tricky - I've got 4GB of RAM on my laptop and I prefer to not have swap on my SSD to avoid shortening its lifespan.  Configuring fstab was roughly as simple as mirroring the one I had saved from my Ubuntu setup, although I had to first look up the UUID of my secondary hdd using the 'blkid' command.  My secondary hard drive now mounts automatically during startup just like it used to.

After installation is complete and upon logging into #! for the first time, the user is prompted to run a series of scripts to help make the system a bit more usable.  This was helpful and appreciated.

The OpenBox UI is clean, lightweight and fairly easy to get accustomed to.  Instead of launching apps by clicking from a menu list at the top-left corner of the screen, I can right-click anywhere and select from a customizable list of default applications.  There are also links contained within this menu for setting up some non-defaults, such as LibreOffice.  For programs not listed in the menu, a simple ALT+F2 yields a quick command box launcher. Other shortcut keys are listed in the Conky system monitor display, which I opted to hide and replace with some additional system info such as temperature and network addresses.

Updating and installing software is pretty similar to Ubuntu.  #! uses Debian repostories, with the source repositories disabled by default.  I went ahead and enabled those with the expectation that I may wish to compile certain programs as needed.  Synaptic Package Manager is included by default, which is no longer the case with Ubuntu Oneiric.  I typically prefer to use aptitude from the command line, but if there's something I can't remember the name of Synaptic comes in handy.

I was not happy with the default icon set, so I went ahead and installed Faenza and on reboot everything looked good.  I would like to replace Iceweasel with Firefox on principle, but that's lower priority since the two browsers are nearly identical.  I attempted to upgrade GIMP to 2.7.4 beta without success - unfortunately there are dependancy issues that would require me to use the latest development version of #! and I'm not quite ready to do that yet.  I also was not able to awaken the system once it went into standby, so I disabled all power saving features except for allowing the screen to go to black.  This has been a common issue with me with pretty much all systems I've owned, whether brandname computers or custom - I typically disable power saving because it rarely works as advertised.  If I need to save power, I'll be better off shutting the system down, because the total time to boot and reach the login screen is less than thirty seconds (bear in mind my primary drive is solid state, which makes bootup significantly faster than if it were a hard disk drive).

Other things I was able to do with relative ease was to restore PlayOnLinux and all installed games (this is a massive amount of invested time saved) and MPD+NCMPC (although some tweaking was necessary due to folders with capital letters being renamed with lowercase).  I also found that while I could not easily create deb files from AMD's Catalyst 11.12 installer, I was able to run the installer and end up with good 3D rendering support - signifcantly better than what I was getting in Ubuntu Oneiric with fglrx-updates (Catalyst 11.10).  The trade-off is that I will need to uninstall and reinstall Catalyst every time the system receives a kernel update, but I can live with that.

Overall, I'm pretty happy with #! LINUX and intend to keep it around as my primary OS.  Due to the fact that the UI is not quite as intuitive as other systems, when I get around to installing this on the family computer I will likely include the wbar launcher so that everyone using it can easily find the programs they are looking for.  But aside from that minor detail, I'm finding the issue of having to transition away from Ubuntu is not as big a deal as I thought it would be.  #! is a great way to migrate from Ubuntu without having to relearn the entire operating system all over again.  It's fast, it's lightweight, it doesn't get in the way, and I particularly like that it's not being developed by a "benevolent" dictator who could clearly care less what the community who helped get Ubuntu recognized thinks about the transition to a operating system for televisions.  Philip Newborough strikes me as a particularly cool guy, and someone who is developing #! as a labor of love, as opposed to a means to an end. 

Canonical has always clearly intended as a long term investment by Mark Shuttleworth, one which would eventually become profitable, and they are clearly making strides in that direction.  It is unfortunate that the process involves sacrificing those who helped make Ubuntu what it is today.

But hey, I'd rather commit my time and energy with a community that actually cares.  Goodbye Ubuntu.  It was nice knowing you while you were still useful.

Hello #!.  I'd like to get to know you better.

(logo created by Jens of #! LINUX Forums)

Why I'm pissed off at Canonical for Unity and why I'm pissed off at Gnome for Gnome3

Let me start off by stating that when it comes to technology, I tend to hold a grudge for a very long time.  I'm still pissed off about what nVidia did to 3dfx.

I've been an avid fan and user of Ubuntu LINUX starting in 2005, sometime after we survived the Hurricane Katrina disaster.  The first release we installed was Hoary Hedgehog (5.05), and we've been using each subsequent release ever since.  Ubuntu has been great.  I've loved how each release has made massive leaps and bounds from the previous release, and how problems with each tend to be corrected in the next.  I've loved the usability, the style, and the overall sense of freedom that comes with using a LINUX desktop operating system on my personal computers, regardless of how sometimes things didn't quite work the way I expected.  I love the community and the additional support they provide.  With Natty Narwhale (11.04), I made the complete transition away from Microsoft Windows on my personal computer and haven't looked back or felt compelled to reinstall Windows ever since.

There was a lot of community grumbling with the introduction of the Unity window management system with Ubuntu Natty Narwhale, but it included the option to revert back to the classic Gnome 2 style desktop during login (which I took advantage of).  Most people violently hated Unity when it was first introduced, and many people still do.  I was ambivalent about it from the standpoint that there are always choices when using LINUX, and if I wanted to switch from Unity to Gnome after installing the next release (Oneiric 11.10) then that should be fine.  Regardless, I still gave Unity a shot and came away feeling that while it is an interesting approach to UI, it does not allow enough customization for me to make it feel comfortable, and breaks away so much from the Gnome 2 UI as to make transitioning between the two difficult at best.  The difference between the default Ubuntu Maverick Meerkat (10.10) and Natty Narwhale is night and day.  Canonical's statement that they are moving toward tablet, phone and television UI development helps clarify why Unity is the way it is, but that doesn't change the fact that many people (myself included) find it a detriment to day to day computer use.

Gnome 3 Shell also dramatically changes UI, but in a more intuitive manner, and I ultimately felt that once the Ubuntu Oneiric Ocelot (11.10) release had a chance to settle down and work out the initial release bugs I would give it a shot with an upgrade install and use it as my default UI.  Things did not go as I intended, or hoped for that matter.

Part of the issue is that in terms of computer hardware, I'm extremely picky.  I'll use Intel products because I can (grudgingly) admit that they are typically high quality, reliable and stable and have a good reputation, regardless of how Intel chooses to run its business.  It's the Intel company that I dislike, not their products.  nVidia, on the other hand, has managed to earn my ire from both a company and product standpoint, and I wouldn't touch their unstable, overheating, poor-quality crap with a ten foot pole.  They very well may now make reliable products that are superior to the crap they were slinging a few years ago.  I could care less if they do.  The fact remains that they knowingly shipped defective product and tried to cover it up when they were discovered, which in my book lumps them directly into the same category as Dell.

So, sadly, in the LINUX environment, nVidia is more popular and therefore tends to have better support than AMD's graphics cards.  Part of the issue is that nVidia provides better driver support also (although they are not 100% perfect on the driver support end, nobody is).  But to cut to the chase, given a choice I only pick Radeon graphics cards.  And since Gnome 3 shell and Unity are both bleeding edge, driver support is limited at best.

Unity with fglrx drivers renders strangely, with artifacts all over the various window decorations.  Gnome 3 shell is unstable and frequently crashes, sometimes for something as inane as closing a tab in a Firefox browser window.  This is true whether the drivers are from Ubuntu's repositories or straight from AMD.com, and they've caused me endless frustration.  A newer version of the driver set listed as fgrlx-updates corrects some of these issues, but not enough to generate a stable Gnome 3 shell environment.  Consequently I found myself using the Gnome Classic (no effects) option when signing into Ubuntu, which is pretty much a stripped down version of Gnome 3 shell with a more classic interface and fewer customization options.

The next insult came when I found that installing the latest Catalyst drivers from AMD.com resulted in broken 3D rendering support, because Oneiric wouldn't load the drivers.  I've since logged a bug with AMD reporting the issue, but it has not been assigned to anyone and there do not appear to be any solutions for the problem other than to install fglrx-updates from the Oneiric repositories.  I don't know if this is just a 64-bit issue, or it is because I upgraded from Natty to Oneiric instead of doing a clean install, or what, but it turned into a major time sink for me as I attempted to find a better solution and failed.

So for the next few weeks I lived with fglrx-updates even though I knew I could get better 3D performance from the drivers from AMD.com, if they would only work.  I lived with signing into Gnome Classic (no effects) mode even though I could not fully customize to UI for ease of use.  I waited for updates that never came.  Then I made a big mistake.

I came across these instructions for installing the latest bleeding edge release of Gnome 3 shell, and even after reading the warnings, the comments from users who had suffered upon installing the PPA and so forth, opted to give it a go in the hopes that it would resolve these issues (and I will be removing the offending site from my favorites column on the left as soon as I'm finished with this post as a result of their keeping this bullshit published and available to the general public).  The resulting broken, unstable mess was too much for me to bear.  The ppa-purge program is a total pile of epic fail and did nothing to help me.  I struggled for over an hour trying to undo the damage and ultimately gave up.  Angry, frustrated, and just wanting a computer that simply worked correctly, I did something I have never before had to do since I started using Ubuntu.

I downgraded my system to the previous Ubuntu release version by restoring the backup I had created before upgrading to Oneiric. 

I am now running Ubuntu Natty Narwhale 11.04 again, and I have no intention of returning to Ubuntu Oneiric Ocelot 11.10, either now or in the future.

I am doubtful as to whether I will install any of Ubuntu's future releases other than their server OS, which I currently run on the system hosting this website (it does not have a Window manager installed).  However, in the event that I upgrade the server to a 64-bit multi-core system, there's a pretty good chance that I will pick a different distro based on how misused I'm feeling right now.

This is not a tenable solution because it prevents me from being able to run GIMP 2.7.4 - I have had to revert to 2.7.3 because I cannot install the newer version on this release of Ubuntu.  There are a significant number of improvements between the two, enough to make this a rather serious issue in my mind.  I am going to have to find another distribution.

So to get back to the title of this post - Canonical has pissed me off by forcing everyone to use Unity in Ubuntu by default, and to further development of Unity they have forced everyone to switch to a new UI that is a) not finished and b) intended for tablets, phones and televisions, not laptop or desktop computers.  How this makes Canonical any different from Microsoft is a good question - in my mind Ubuntu's Oneiric Ocelot is akin to Windows Vista.  It's new, it's a departure from what has gone before, and it's a fucking broken turd.  Granted, it's free, and there are some out there who will point out that I have no cause to bitch, but getting this crap working does cost me an investment of time, and that's a luxury that I currently do not have in great abundance.

Likewise, Gnome has completely dropped support of Gnome 2 - the only way you can find documentation on how to customize the Gnome 2 environment is to use The Wayback Machine because they've scrubbed that data from the current website.  Gnome has turned its back on Gnome 2, and the Mate fork is just getting underway so it's barely an improvement when compared to Gnome 3.  Gnome 3 is an unstable UI when combined with AMD's Catalyst drivers, making it (in my book) an unusable solution.  Gnome Classic is worse than Gnome 2 in terms of usability, even though it mimics it relatively well. 

So basically I'm pissed because the Gnome development team cut off the branch we're all sitting on, and they're now sitting in a helicopter that has no tail rotor and offering us an opportunity to climb up the rope ladder to check out what they have so far, hoping we'll offer useful suggestions on the style of tail rotor they should use so that Gnome 3 can do something other than just hover in place.  I'm less pissed off with Gnome than I am with Canonical, because at least Gnome is attempting to build something usable for personal computer owners.

Canonical betrayed their user-base when they released Oneiric, in their pursuit of expanding their market for televisions, tablets and phones.  Something just doesn't sit very well with me there.  There is no longer a Gnome Ubuntu.  If you want a version of Ubuntu for your personal computer that is designed to be used on a personal computer, the choices are now Kubuntu, Xubuntu or Lubuntu - or else a derivative such as LINUX Mint.  To me there is now a vacuum to be filled here - there will probably soon be a Gubuntu or a Mubuntu (for Mate), take your pick as to which one.

I'm really not fond of any of the above choices.  I am planning on testing out Xubuntu as part of a tutorial I'm compiling for people who are still using Windows XP who want to switch to LINUX, and it's the distro with the XFCE Window Manager that Linus Torvalds, the father of LINUX, said he would be switching to as a direct result of his experiences with Gnome 3.  He's not the kind of person who minces words about things.  I tried Xubuntu once before and found it lacking, so I'm not really hopeful there.  Lubuntu is for really old computers that have as little as 128MB of RAM, and Kubuntu is the KDE version of Ubuntu, that again I'm not particularly fond of probably due to the amount of inspiration it seems to have drawn from Microsoft Windows. 

LINUX Mint seems to be on the path to migrate to Gnome3 as well, even though it is a step behind Ubuntu in that regard, so switching to Mint would only forestall the inevitable.  I am doubtful that Gnome3 is going to mature enough in the next six to eight months to fix its UI and driver support issues.  In a year or more...perhaps.  But I can't wait that long, support for Natty ends in October of this year.

So at the moment I'm at a loss as to which path to take.  A really significant part of me wants to go the route of Gentoo, or Linux from Scratch, but there is a significant time investment and learning curve involved before I would end up with a usable system.  Debian would have the shortest learning curve, but the whole Iceweasil incident was fucking clownshoes and they name their releases after Toy Story characters (petty, I know, but there it is). Archlinux is steadily gaining in popularity, but again seems very Windows-like in its UI.  OpenSUSE has been tainted by Novell's licensing agreement with Microsoft to not get sued and therefore cannot be trusted.  Mandriva may not be around much longer unless it can raise enough capital to pay for its development expenses.  Fedora just isn't my cup of tea, even if it IS based upon Redhat - and besides it was the first distro to embrace Gnome 3.  Slackware is tempting - it was my very first distro back in 1996, but it doesn't have package dependency checking by default, will entail a significant time investment in the form of a steep learning curve, and does not release new versions as frequently as I would like (the latest version 13.37 was released in April of 2011).  Any other distros I've looked into just don't seem nearly mature enough for me to even bother, although CrunchBang looks interesting enough for me to give it a serious try.  Downloading now.

Dear Canonical and the Gnome development team,

When you want your windows management system to evolve, it's generally a bad idea to take all the usability features and throw them out the window so that you can start over with a clean slate.  Those features were implemented over time for a reason, and forcing your userbase to do without them so that you can properly test out something is not going to win you many fans.  I understand that by eliminating support for these older systems you are making sure the new system are getting the proper testing they need for development and bug elimination, but the price you pay by pissing off the community at large cannot be measured.  Ego may help you in certain situations, but it will assuredly trip you up at the worst possible time.  I hope you both learn something from these experiences and avoid making these same mistakes again in the future. 

Dammit, I hate being in this situation.  Time to go do some more research.

More reasons to go Open Source keep popping up almost daily now

This is a great example of irony, Apple

So now it comes out that India's military strong-armed Nokia, RIM (Blackberry) and Apple into providing back-door access into their cellular phones using what sounds like some sort of rootkit application similar to Carrier IQ's rootkit.  The explicit purpose?  Unlike the supposedly benign purpose of providing cellular providers with helpful data to assist customers who are having technical difficulty, as claimed by Carrier IQ (right, sure), RINOA SUR is meant to spy on India's citizens.

So combine that with the increasing pressure to pass SOPA and you've got a nice recipe for complete takeover of all systems, whether they be on tablets, cellular phones, notebooks or desktop computers.  Clearly, Richard Stallman was correct from the beginning.

Now when I say takeover, I don't mean that you won't be able to use your computer.  I mean that you won't be able to use your computer without everything you do being recorded, and possibly interfered with.  I mean that what you do on your computer could possibly be used against you, and if you think you have nothing to hide, that won't protect you. I mean that someone else could use your computer to frame you, if they didn't like what you say or what you stand for.

A rootkit with backdoor access provides more than just a way to snoop.

Why do I have CyanogenMod installed on my Motorola Droid?  Because I don't trust Motorola or my carrier to provide me with a phone OS that has not been compromised.  Why does my personal laptop only have Ubuntu LINUX installed, and no other operating system?  Because I don't trust Acer or Microsoft to have provided me with a laptop and Windows operating system that are 100% secure from intrusion.  I don't even have the original hard drive installed.

Call me paranoid if you will.  They've been calling Stallman paranoid for years.  But the fact remains that commercial interests drive closed operating systems and software, and because there's no way for the code to be inspected by a 3rd party, there's no way to find out immediately whether it's been compromised, intentionally or otherwise.  If making money from software sales is the provider's primary goal, they will sell out their customers in order to sell their product, every time.  Prove me wrong.  I dare you.

Redhat LINUX generates money via Enterprise support contracts.  The software is free.  It is open source and can be inspected by anyone.  The likelihood that it, or any other distribution of LINUX, contains a hidden backdoor rootkit or some other access for military, government or law enforcement officials to snoop, compromise or take control of computers or servers upon which it has been installed is next to nil. I won't say it's impossible, but I will say it's highly unlikely due to the fact that the code can be independantly verified by anyone.  If it did have such a backdoor, it would be discovered almost immediately, as compared to the seven years it took for the RINOA SUR agreement to come to light.

I call bullshit on all of this.  Apple, RIM, Nokia, and anyone else who pulls this sort of crap to generate sales - fuck you.

To anyone else who wants to prevent this from happening - now is the time to start looking at making the switch to LINUX.  If they've been doing this to cell phones for the past seven years or more, what have they been doing with your Apple or Windows computers?

Why World of Warcraft is bleeding players and Minecraft keeps getting new ones

I did it again.  I downloaded and installed World of Warcraft (initiate forehead slapping now).  But wait, before you throw me out with the bathwater, read this through.  It has a good ending.  I promise!

If you recall, the last time I tried World of Warcraft I uninstalled it before the trial period was over.  This time around there was no trial period - Blizzard has done away with the 10 day trial and replaced it with a 20 level 1 gold cap, with grouping, trading and the ability to join a guild stripped from the trial account.  Ironically these are the most fun aspects of the game, so how Blizzard thinks that their current version of the trial will actually give players an accurate portrayal of how the game really works is beyond me.

I was invited by a friend to join their guild.  Consequently I also had to purchase a full version of the game, upgrading my trial account. I was happy to find that the game runs rather well on LINUX, provided you have a good graphics card and the correct drivers installed.  I also had to enable OpenGL mode to keep the game stable and playable - Direct3d slowed the game down to a crawl.  Certain effects were disabled, unfortunately, but that's just another indication of why this game is inferior to Minecraft - LINUX support by Blizzard is sadly almost nonexistent.  This is a common problem with most video games - just like virus developers, game developers typically target the biggest market and develop for that platform - for PC games that would mean developing for Windows.  Some developers will later port their game to OSX to increase marketshare, though these ports usually are not available for at least a year after the PC version initially ships.  It is extremely rare for any of them to offer support for LINUX, much less release a game that runs natively on that operating system.

So based on prior recommendations I've read about the game, instead of dropping out after trying out a few different race/class combinations, I gave the game a decent playthrough past level 20, not with one but with two different character combos.  Since the guild in question is a Horde guild, I played a Forsaken (undead) Warlock through to level 22.  Finding the gameplay mechanics of this combination to be a bit on the slow side, even with the benefit of having a summoned tank while playing solo, I opted to start over again with a Blood Elf Hunter, and found this combination better suited my style of gameplay.  I'm not sure why but I've been picking archer-type classes with pretty much every graphical RPG game going back to Blizzard's own Diablo, and most notably in DarkStone.  I played the hunter through to level 26, and pretty much at that point came to realization that I really wasn't enjoying the game.

For an immediate comparison I spent a couple hours playing Minecraft over the next few days and found that my satisfaction level was infinitely greater.  The game is more immersive, offers far more freedom and also greater consequences.  But more on that in a moment as I explain why for someone like me, World of Warcraft was pretty much doomed to fail even before I started.

While in college I was introduced to a game called Meat MUD, which so entranced me that I contributed vast amounts of my personal time toward this game, even after reaching the maximum level multiple times (which was increased first from 31 to 51, and then increased by permitting multiclassing up to level 51 in each of the four available classes).  Meat MUD was built on Merc 1.0, a derivative of the DIKU MUD family, and based heavily on Advanced Dungeons & Dragons (1st edition).  I've long been a big fan of Dungeons & Dragons, ever since I was given a copy of the red box starter edition and read the Lord of the Rings trilogy in the summer before I attended 3rd grade at school.  My mother and stepfather were worried that Dungeons & Dragons would have an adverse affect on me, and that I might turn to devil worship or worse, so they hid the red box away.  This of course had the opposite effect on me, which probably helped contribute to the amount of time I invested in Meat MUD and other MUDs like it, including a few that I started on my own.

At its core, World of Warcraft, and also EverQuest and Ultima Online and pretty much every other MMORPG out there is based on the same mechanics as a MUD.  A server (or servers) hosts the actual MUD world itself.  Players connect to the server using client software that updates in real time.  Updates are either created by events on the server itself in the form of monsters moving/attacking/respawning, doors closing, treasure chests refilling and traps resetting, or are created by the players as they explore, interact with objects and their environment, attack & kill monsters, and acquire treasure & experience.  Experience is converted into levels, granting access to more powerful abilities, spells or skills, and therefore the ability to acquire more powerful equipment and treasures.  This is a cycle that repeats over and over until the player either stops playing or reaches the highest level available in the game, completes every quest and acquires all of the best loot.

World of Warcraft slaps a graphical 3d world upon these mechanics, and configures their servers in such a way as to support as many simultaneous players as possible.  It offers a lush environment, animations and various other gimmicks designed to keep the player interested long enough to ensure that they continue to pay their $15 monthly subscription fee.

Make no mistake...all of what I just described in the paragraph above are features added to the core mechanics of what is ultimately a MUD.  Your actions in combat are decided by die rolls.  No matter how fast you are, or how intelligent your tactics, the fact remains that a level 20 character cannot enter a part of the world that has level 80 monsters, and expect to survive for very long.  This is a truth that has been part of MUDs since their inception.

MUDs have been around for over thirty years.  Their mechanics have not changed a whole lot since they began.  I enjoyed playing Star Trek Online for over a year ONLY because it offered a new type of game play that I had not experienced in the form of space combat between starships, but again, this is a feature that is governed largely by rolls of the dice, and is still bound by the mechanics of a MUD.  That Star Trek Online account is no longer active, in part due to the fact that the novelty of this feature has long since worn off, the fact that Willow no longer plays the game, and in part due to Atari selling the game and it's dev team to a Chinese game company.  I was also looking forward to the release of Star Wars: The Old Republic because I am a long time fan of Star Wars, and yet I am not really looking forward to it anymore now that it has been well publicized that there is very little difference between The Old Republic and World of Warcraft, indicating to me that it too is just another MUD with features.

So to get to the point in my extremely roundabout way - and the sad thing is I've known this truth all along but I've now confirmed it with experience - there is no such thing as a MMORPG that is not a MUD, and therefore I can find nothing of value to be gained by playing the game.  Team-based online interactive play?  Done it.  Marathon levelling sessions?  Done it.  Grouped with a large team of players to take down a massive boss monster nobody could ever survive on their own?  Numerous times.  Experienced a virtual romance with a member of the opposite sex who was not a guy pretending to be a girl?  Check.  Met the girl in real life and experienced the stark differences between real life and virtual romances?  You have no idea.  Would I willingly do any of the above again?  Maybe (except for the virtual romance part - that's a definite and resounding NO), but why would I want to pay a monthly subscription fee?  The MUDs I played back in the day were all free to play.

But the truth of the matter is, I've grown rather sick of MUDs in general.  So much so that I took my personal MUD project permanently offline.  If I get into MUDding again, it will have to be a completely new project, something that hasn't been done before, otherwise I'm just not interested (nor do I really have the necessary free time to contribute toward such a project anyway).

So if you factor that all in, World of Warcraft was doomed to fail at the outset.  Too much time is required to achieve anything worth mentioning, and even that which is worth mentioning is achievable by pretty much anyone else who is willing to do it, making it less noteworthy.  People like to play World of Warcraft because they feel like heros in the virtual world.  But when everyone is a hero, that makes the impact of being a hero much less significant.  The game would be far more interesting if people were free to be whatever they wanted to be, but unfortunately in the name of balance too much restriction exists for such a thing to be possible.  So I'm done with the game, but since my children have become entranced with it after watching me play, we currently have two active accounts so at least two of them can play at the same time with each other, and I'm perfectly fine with that.

So that brings me to Minecraft, the bizarre success story of a programmer who created a game after leaving a game development company and has become a multi-millionaire with the game's success, even though it is still in Beta and will not be released until November of this year.

Why is the game so successful?  Several factors including active communication with the game community, most notably Reddit (which has a massive user base), resulting in numerous player suggestions making it into the game.  Turning the negative of Paypal disabling his account due to "suspicious activity" into a positive by getting free press from every major gaming news website around the world.  Multi-platform support - by developing Minecraft in Java, it can be played on any Windows, LINUX and OSX based computer without needing to develop multiple versions of the same game - this results in creating the widest possible user base.  But most importantly - a virtual sandbox.  Players can create and destroy the world around them at will.  And that by itself is a very important tool that few games possess.  Minecraft has nearly unlimited potential.  And I haven't even brought up the mod community yet.

When you play Minecraft, you can choose to play in survival mode or whether you want to disable monsters and just be creative.  You can host a server to support multiple players simultaneously, or play the game solo on your own computer.  And as I mentioned, the game is immersive.  At first glance you see a low resolution, pixelated series of blocks and wonder how something that looks so retro, so old, could possibly be fun.  It's the seemingly limitless possibilities as you explore deep caves, travel across oceans, encounter strange monsters, build your fortress to survive the swarms that darkness will surely bring.

I have jumped in my seat while playing Minecraft, as an unexpected rattle and twang announces a skeleton waiting for me in a darkened section of the cave tunnel just around the corner.  I panicked, prepared to flee as I had not yet forged myself decent armor and was only lightly armed with a sword and bow.  I calmed down, and approached at an angle, swinging my sword at any part of the skeleton I saw, praying it wouldn't strike me one too many times with its arrow.  The sound of wind howling through the cave, moments later, reemphasized the amount of risk I was taking by exploring this dangerous place.

Returning to the surface with iron and gold ore, having established safe places to travel with numerous torches dotting the walls of the cave brings great satisfaction.  Converting the ore to ingots in order to forge armor, weapons and tools increases that sense of accomplishment.  If I get bored of my fortress, I travel by day, seeking out new caves to explore and places to establish as sanctuaries.  The world is randomly generated, but biomes and amazing landscapes make it beautiful, even with all the blocks and pixels.

I am eagerly anticipating the next Beta release, 1.8, which will include a new version of gameplay called Adventure.  It will also bring with it the Endermen, potentially the most frightening monsters ever experienced in a video game.  I can't wait.  I love this game.  If you haven't tried it yet, you should.  Especially if you like World of Warcraft.

This music video in no way demonstrates this game accurately, but I like the animation:

How to set up MPD & NCMPC in Ubuntu Natty 11.04

I've wanted to have a terminal based music player in LINUX for a while, and actually got it set up earlier this year but failed to document how quickly enough before I forgot all the steps.  Now that I've set it up again I wanted to make sure I didn't forget it for the next time I have to go through all of this.  The original post that started me down this path is here, but unfortunately does not contain enough details on how to get it working, therefore I had to gather my steps from multiple sources.

Step 1 - Install the necessary packages - open a terminal and enter the following command:

sudo apt-get install mdp ncmpc

Step 2 - Create necessary files and folders by entering the following commands:

mkdir ~/.mpd

mkdir ~/.mpd/playlists

sudo cp /etc/mpd.conf ~/.mpd

sudo chown user:user ~/.mpd/mpd.conf  #be sure to substitute "user" with your username here

touch ~/.mpd/tag_cache

touch ~/.mpd/mpd.log

gedit ~/.mpd/mpd.conf

This last command should open a text editor, scroll through the Files and directories section and change each line from /var/lib/,  /var/log/ or /var/run/ to /home/user/ (again subsituting "user" with your username, and if your music files are not located in /home/user/Music correct the path appropriately).  Now scroll down to General music daemon properties and place a # in front of user.  Lastly, scroll down to Audio Output and remove each # the example of a pulseaudio output, starting with #audio_output { and ending with #}.  Save the file and close it.  Now type the following commands:

sudo /etc/init.d/mpd stop

gksudo gedit /etc/default/mpd

Change the line "START_MPD=true" to "START_MPD=false", then save and close the editor.  This prevents the daemon from being started as a root application during bootup.

Now, start the daemon as the local user by typing:

mpd

Then start the music player client by typing:

ncmpc

Press the 1 key for a list of available commands.  Press 3 to access your music library, and press the spacebar on any folder or individual song you would like added to the playlist.  Press 2 to view your playlist, and press Enter to start playing music.  Press z to toggle shuffle, and r to toggle repeat.  Press q to quit.

To save yourself the hassle of starting mpd each time you want to launch the client, you can also add an entry under System > Preferences > Startup Applications so that it loads as you sign in.  Because this could interfere with other programs that use audio (video games?) you may not want to set this option.

Happiness is knowing Microsoft is not on my computer anymore

Ubuntu 11.04 Natty Narwhal 64-bit installed on Acer Aspire Ethos 8943G-9319 - Ubuntu Classic (no effects) mode selected upon login - Wallpaper: "Into the Mist" - Gallery of Art - http://gallery.artofgregmartin.com

Happiness is knowing Microsoft is not on my computer anymore

How to get the microphone working in Google+ Huddle, GoogleTalk Video Chat & Epiphany on Ubuntu 11.04 (Natty Narwhal)

If you want to skip the back story and go straight to the howto section, click here.

One would think that this would be a relatively simple task, or that logic could be used to resolve it.  Since that is not really the case, I figured I should probably document the necessary steps to prevent future hairpulling (by myself or by others in similar circumstances).  Bear in mind I love LINUX, but the primary reason I don't recommend it to just anyone is precisely due to the seemingly minor, idiotic things that should just work (and will work perfectly fine on other operating systems without any effort on the part of the computer owner) yet require hours of research and tweaking in order to accomplish.  The Oatmeal has pretty much hit the nail on the head with their cartoon "How to fix any computer" (especially the "How to fix a LINUX computer" section) .

So me being me, upon installing Ubuntu Natty Narwhal on my new laptop purchased earlier this year, the Acer Aspire Ethos 8943G I expected the majority of everything to work out of the box.  To be fair, most things did.  Wireless connectivity, check.  CAT5 network connectivity, check.  Sound, check.  Volume control mapped to physical volume wheel, check.  Keyboard hotkeys controlling brightness, etc., check.  And so on.

So shortly thereafter I had a session with friends via GoogleTalk, and attempted to use the video chat functionality as supported by the Epiphany instant message client, nobody could hear me, which was rather frustrating for everyone involved.  After an hour of tweaking the microphone using the built-in PulseAudio audio settings tool, and I finally gave up and booted to Windows 7 (I had set up a dual boot system with the apparently accurate premonition that everything might not work out of the box in Natty) and suffered with the knowledge that I had just switched to Windows due to a LINUX issue.  As I recently mentioned to a friend, it's not that Microsoft's Windows 7 is so utterly terrible; in fact it's probably one of the best releases of the Windows operating system designed by Microsoft to date.  It's the years spent fixing crap on other people's Windows computers due to poor security design and various weird issues that just doesn't make a whole lot of sense that has driven me to a LINUX system as my preferred operating system.  So running into a Windows-like issue in LINUX, resulting in my turning to Windows as a solution (however temporarily) was causing me to break out in hives.

So as things got busy I forgot about this issue, and needing to use GoogleTalk as a video conference in LINUX was not actually a big issue, and then I decided I wanted to do a presentation that recorded my entire desktop only to find that the same audio recording issue was still present.  In fact in my quest to fix the mic problem in GoogleTalk I had inadvertently broken the mic elsewhere, and couldn't for the life of me figure out how to fix it.  Sadly, I again turned to Windows in order to handle the desktop recording of my video session.  This was getting ridiculous.

Periodically I'd get a bug up my arse and spend an hour or two researching and trying to follow advice from other members in the community.  I'd manage to get something working, like Ubuntu's built in sound recorder program, but then I'd try GoogleTalk and it would fail again.  Then I joined Google+ and noticed the Huddle program, offering up to 10 users in simultaneous video chat, and figured as soon as I had some free time I really needed to give it a shot.  The problem, as I saw it, was that I had tried so many different ways to get the damn microphone working that I had lost track of all of the various changes I had made, and consequently unravelling the mess was going to take longer than just starting from scratch.

I also had a spare 60GB solid state drive that I had acquired from work (yay perks!) that was lying around unused.  I had originally intended to put it into a new server for this site, but since the motherboard does not support SATA and I'm not about to spend the $500 or so that I anticipate on a new server build, I opted to use it on the new laptop instead, especially because this particular laptop has an unused secondary hard drive bay.  A bit of searching online for a drive caddy proved fruitless, until I mentioned it in passing to my awesome wife who managed to find a vendor carrying them in the first forum she delved into on the subject.  So that has been ordered and should arrive sometime next week, which means I will be able to take the 500GB hard drive that came with this laptop and use it as storage for photos, music and video in the secondary drive bay.

With all this in mind, I opted to check out the new Ubuntu 11.10 Oneiric Ocelot on the 60GB SSD (9 second boot!), which is still in Alpha (and therefore certain things, such as the sound recorder program, were broken).  Based on the system being rendered unbootable upon installing ATI's proprietary video drivers for the laptop's Radeon HD 5850 graphics card, with my impression that either a) it's an alpha issue or b) lightdm just doesn't play well with 3d accelleration, I opted to give the last Ubuntu LTS release (10.04) a try with the result of a non-functioning CAT5 network connection, and a ridiculously convoluted series of steps necessary to get it working based on my research.  Consequently I started again with a clean install of Ubuntu 11.04 Natty (10 second boot!), which made it to the point of setting up World of Warcraft in Wine, upon which the system crashed and became unbootable with a kernel panic error during startup.  This I deemed unrepairable after a bit of research yeilded only one other sufferer of the same error who opted to reinstall LINUX rather than try to fix the problem.  Therefore I too reinstalled Ubuntu 11.04, opting to not set up a Swap partition due to the laptop having 4GB of system memory, and an additional 2GB of dedicated video memory besides.  With my friend Andy's advice I also enabled Trim for the solid state drive, and all has been well with the installation ever since.  

Now it was time to approach the hurdle of fixing the microphone problem (I'm switching to howto mode for this next part).

1) First, you will want to open the sound recorder (Click logo, type sound and press enter, or click Applications > Sound & Video > Sound Recorder) for testing purposes.  Go ahead and test the record functionality of the sound recorder.  If it works - great, move on to step three.  If not, go to the next step.

2) Next, open a terminal session (if you are using Ubuntu Unity, you can click the Ubuntu logo at the top-left corner of the screen, then type "terminal" and press enter; if you are using Ubuntu Classic, click Applications > Accessories > Terminal to open it).  Once open, type "alsamixer" at the prompt to open the mixer control panel, which should look like this:

I recommend enlarging the terminal window and pressing the F5 key so that all of the available devices can be viewed.  Now in my case, I have an internal microphone, but alsamixer detects it as CAPTURE, not MIC (I assume MIC is reserved for a microphone plugged into the microphone jack on the side of the laptop).  I was not aware of this at first so I originally unmuted MIC, which interfered with CAPTURE.  You may or may not have a device listed under CAPTURE depending on your laptop configuration, but if your laptop has Intel HDA sound controllers, there's a good chance you do.  It is also important to note that these laptops appear to have dual internal microphones for stereo sound recording, which appears to be the primary factor in causing problems, but we'll get to that momentarily.

Use the left and right arrow keys to select the device you believe is your microphone and raise the volume to 100 by pressing the up arrow key.  Press the 'm' key to unmute your device, or to mute unwanted devices, and you will see either MM for muted or 00 for unmuted.  To avoid garbage noise interference, lower Mic Boost to 0 volume using the down arrow key if it is not there already.  Also arrow over to Input Source and use the up and down arrow keys to select the appropriate one (in my case Internal Mic).

As you make these changes you will find that it is a very good idea to keep testing with Sound Recorder to determine if and when the microphone is working correctly.  Once you are satisfied with your changes you can quit out of alsamixer by pressing the Esc key.  If you would like to save your current alsamixer configuration type "sudo alsactl store 0" into the terminal, and these settings will be loaded automatically the next time you boot your computer.

If you have no intention of using Google+ Huddle, Google Talk video chat or Skype, you may stop here because all other microphone related programs such as Sound Recorder, Desktop Recorder, etc. should now work as expected.  Otherwise, proceed.

3) Now that sound recorder is working as expected, the next step is to configure GoogleTalk's chat plugin so that it does not change your audio settings automatically (thus destroying your attempts to get it working correctly in the first place).  You should already have the plugin installed (if you don't, simply sign into Google+ and click the green "Start a Hangout" button; you will then be prompted to download and install the necessary plugin - note that there will either be no activity or steady activity in the microphone indicator; this means you will need to run alsamixer again in order to reconfigure your microphone settings because they have already been changed by the plugin - remember to close the Hangout before you do).

In the terminal window, backup and open the GoogleTalk plugin config file by typing the following:

cd ~/.config/google-googletalkplugin

cp options options.bak

gedit options #alternatively nano options

Next, change the first line in the file that looks like this:

audio-flags=3

To this:

audio-flags=1

Save the file and close the editor.  You will also need to either log out and back in again, or else restart your system so these changes go into effect.  In short, this setting will disable GoogleTalk's auto-adjust feature that in our case is interfering with our microphone settings.

4) The final necessary step requires the PulseAudio Volume Control.  You can either search for it and install it using the Synaptic Package Manager, or you can use the terminal to install it by typing:

sudo apt-get install pavucontrol

Once installed, open the PulseAudio Volume Control (in Ubuntu Classic select Applications > Sound & Video > PulseAudio Volume Control) and select the input tab.  Click once on the padlock to allow the left and right channels of the microphone to be adjusted separately.  Leave one channel at max (100%), and slide the other channel to its minimum (0%).  Close the PulseAudio Volume Control utility.

If you open alsamixer again by typing "alsamixer" in the terminal, when you press F5 and arrow over to your input device, you will notice that instead of a series of thick blocks indicating your microphone volume level, you will see a skinny line instead.  This should confirm that only one of the microphone inputs is set to record, and the other is still set to 0 volume.  Press the Esc key and type the following to make these changes persist on every boot:

Note: If you have more than one sound card it may not be 0

sudo alsactl store 0

Now open the Google+ Huddle window again, and you should see the microphone indicator is showing activity (provided there is sound in your environment to cause it).  If there is not, you may also need to click Settings and change "Default Device" to "Internal Audio Analog Stereo", then click Save before this functionality works for you.

If you need additional assistance feel free to shoot me a message via the Feedback page.  Feel free to critique me in the comments as well.

How to Install Sun's Java 6 in Ubuntu Lucid, Maverick or Natty

I recently made a friend on the internet by assisting them with their transition to Ubuntu (Lucid Lynx) from Windows Vista.  For new users especially this can be a right nasty pain in the neck.  But even for long-time users who don't install LINUX on systems on a regular basis it can be confusing, and the methods tend to change over time from distro to distro.

I'm currently running Ubuntu "Natty Narwhal" 11.04, but these instructions ought to work for anyone using Ubuntu "Lucid Lynx" 10.04 LTS  or "Maverick Meerkat" 10.10 as well.

1) Manage and update your respositories:

This can potentially be frustrating for new Ubuntu users, but if you can get this step done correctly it will help you out in the long run.  Ubuntu uses a repository system to manage software.  A repository is effectively a server that you access over the internet using tools in Ubuntu such as the Synaptic Package Manager, and via these tools you install software from these servers that is compatible with your system.  What makes this great is that Synaptic Package Manager (and other tools) typically automatically select and install additional software packages that are required by the package you are installing in order to run correctly.  While this is not foolproof, it does help simplify some things.

For the sake of this tutorial I will be providing instructions using another tool, known simply as apt (or aptitude).  This tool is run from the command line, which, while seemingly archaic (and potentially overwhelming for new users who are not familiar with typing in commands instead of clicking things) tends to give you the best feedback should something go wrong, and is also a good universal standard making it easier to follow.  So on with the goodness.

Open a terminal window (typically found under Applications, in the Accessories sub-menu), and type the following command:

gksudo gedit /etc/apt/sources.list

You will probably get a prompt for your password - go ahead and enter it into the prompt.  A notepad-like window with a bunch of information should open and will probably look something like this:

If you scroll through this sources.list file it will probably start to look a bit like a mess.  That is pretty normal for default installations of Ubuntu - the file has been set up this way to make it easier to make changes using other tools in the system.

In my experience this is really annoying to deal with, especially should you later wish to add additional repositories to this file.  So the first thing I like to do is clean it up, and also to enable certain repositories that are automatically disabled at the same time.  There are many redundant entries that don't necessarily need to be there.  But to make it easier for everyone involved, I recommend selecting all of the text in this file and deleting it entirely.  Once the file is empty, you can add in the following information (just select it, copy and paste):

## Main
deb http://us.archive.ubuntu.com/ubuntu/ lucid main restricted universe multiverse
deb-src http://us.archive.ubuntu.com/ubuntu/ lucid main restricted universe multiverse

## Bug Fixes
deb http://us.archive.ubuntu.com/ubuntu/ lucid-updates main restricted universe multiverse
deb-src http://us.archive.ubuntu.com/ubuntu/ lucid-updates main restricted universe multiverse

## Backports
deb http://us.archive.ubuntu.com/ubuntu/ lucid-backports main restricted universe multiverse
deb-src http://us.archive.ubuntu.com/ubuntu/ lucid-backports main restricted universe multiverse

## Canonical Partner
deb http://archive.canonical.com/ubuntu lucid partner
deb-src http://archive.canonical.com/ubuntu lucid partner

## Security
deb http://security.ubuntu.com/ubuntu lucid-security main restricted universe multiverse
deb-src http://security.ubuntu.com/ubuntu lucid-security main restricted universe multiverse

The above is a sources.list file for Lucid Lynx (10.04).  If you are using Maverick Meerkat, you must change every instance of the word "lucid" to "maveric", and if you are using Natty Narwhal be sure to change every instance of the word "lucid" to "natty".  

Also, please note that the above sources.list example enables two repositories that are not already enabled by default in Ubuntu, which are the Backports repository which contains software that is not supported by the Ubuntu team, and the Canonical partner repository which contains software which is usually not open source or supported by the Ubuntu team.  It is the Canonical repository that needs to be enabled in order to install Sun's Java.

Don't forget to save the sources.list file before you close it.  You should now be back at the terminal window, and you need to update this information in the Ubuntu system.  To do so, simply type:

sudo apt-get update

And you are now finished with the first step.

2) Install the necessary packages:

This is pretty straight forward, and should be relatively simple to do from the command line - however there will be a bit of a snag so I will provide an alternate option for those who have trouble.  Type in the following to download Java and the necessary web browser plugin:

sudo apt-get install sun-java6-jdk sun-java6-plugin

This will probably take a while.  When the packages have finished downloading and sun-java6-jdk begins to install, it will prompt you with Sun's license.  There is an OK at the bottom of the license that you must first click the Tab key on your keyboard to highlight, and then you must press Enter in order to continue.  You will then be prompted again as to whether you accept the license, and No will be selected by default.  Use your left arrow key to select Yes and press Enter again, and sun-java6-jdk will continue installing and not prompt you further.

If this turns out to be a big hassle, you may also open Synaptic Package Manager (under System and then the Administrator subfolder) and do a search for both sun-java6-jdk and sun-java6-plugin.  Make sure you place a check mark in the box to the left of each package, and then click the Apply button to install.  You will get prompted with a license dialogue that you can click on with your mouse, instead of being forced to use the keyboard if you use this method.

Step two is now complete.

3) Select sun-java6 as the default Java for Ubuntu:

This may not be a necessary step, depending on which version of Ubuntu you installed and whether you selected the "include extra software" option during the installation.  If you did, you have an open source version of Java installed and selected by default, which may not be 100% compatible with the application you are trying to use.  If this is the case, you can select sun-java6 instead by typing the following command:

sudo update-alternatives --config java

Select sun-java6 by pressing the appropriate number and allow the program to save and close.

You should now have Sun's Java installed on your system, with web browser support.  To test this, open a web browser and go to this web address:

http://www.java.com/en/download/testjava.jsp

Congratulations, you should now have working Java.  If you run into a snag, feel free to contact me by clicking the "Feedback" link at the top of this page.

Syndicate content