This past week I spent a little time installing and configuring the latest version of the desktop Ubuntu version 9.04, code name Jaunty Jackalope. Installation was simple and headache free. On the final page of the installation there is an “Advanced” button that one can click that will determine where the boot loader is installed. I believe I incorrectly configured this initially, because my Grub loader didn’t correctly point to my existing installation of Windows. Also, I wanted to get the famed Wobbly Windows, working since the hardware I was installing to had a decent 3D graphics video card, so I wanted to take advantage of it. I can’t say that the wobbly windows do much for productively, but it is fun to throw windows around on the screen, and maximizing / minimizing windows adds an interesting expanding / collapsing bouncing effect which is humorous. Now, on to my configuration fixes.
<p>For reference, here is my hardware setup:</p> <p>Pentium 4 3GHZ <br />2 GB RAM <br />2 Hard drives:</p>     1 ATA 160 GB – 2 80GB Partitions, first with WinXP, second was the location for Ubuntu. (initially the second partition had an installation of windows 7) <br />    1 SATA 1 TB - All data<p>1. Grub Configuration </p> <p> During installation I had issues with installing the GRUB boot loader for Ubuntu 9.04. On the final page of the install, there is an "Advanced" button that I clicked that allows one to select the location of the boot loader. I selected my ATA hard drive root, since I assumed that GRUB would load to the MBR, which it did, but the Ubuntu installation didn't appropriately configure GRUB to point at my WinXP installation such that I could boot into XP. The following is an expert from the end of my /boot/grub/menu.lst file and is what the installation configured for Windows XP: </p> <p> title           Windows Vista (loader) <br /> rootnoverify    (hd1,0) <br /> savedefault <br /> map             (hd0) (hd1) <br /> map             (hd1) (hd0) <br /> chainloader     +1 </p> <p>I had to modify the above lines to read as follows: </p> <p> title           Windows Vista (loader) <br /> rootnoverify    (hd0,0) <br /> savedefault <br /> chainloader     +1 </p> <p>The fact that the title was Windows Vista was ok considering that the destination for Ubuntu used to be my local installation of Windows 7, and apparently from Ubuntu's point of view, the boot loader is vista. After making this change, the Grub loader will now successfully find the Windows 7 boot loader, and I can from there boot into Windows XP. Apparently, the Ubuntu installer considered my SATA drive the primary (and first) drive on the system, even though there was no boot loader configured there, and I wasn’t installing Ubuntu to that drive. Or, more likely, I just incorrectly completed the Ubuntu installation by changing what the installer wanted to do by default. In any event, this subtle change made everything work again.</p> <p>2. Dual Monitor / Video driver setup </p> <p>On this front I ran into quite a bit of luck. My video card is an NVidia 7600 GT chipset. To install the latest tested NVIDIA driver, I opened the System -> Administration -> Hardware Drivers menu. After the "Searching for Drivers" dialog closes, there is a screen displayed similar to the below: </p> <p><a target="_blank" href="img/VideoCardDriver_Install_2.png"><img title="VideoCardDriver_Install" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="196" alt="VideoCardDriver_Install" src="/img/VideoCardDriver_Install_thumb.png" width="244" border="0" /></a> </p> <p>All that I needed to do was to ensure that the recommended driver was selected (in this case, the NVIDIA accelerated graphics driver, version 180) and click the "Activate" button. After the install, Ubuntu required that I restart the computer, which I did. </p> <p>After the install I could tell that the interface had smoother edges, and was rendering better (read: faster) than it had before the driver install, but only one of my monitors was working. To configure dual monitor support, I opened the NVidia X Server configuration screen at System -> Administration -> NVidia X Server Configuration. </p> <p><a target="_blank" href="img/Screenshot-NVIDIA%20X%20Server%20Settings_2.png"><img title="Screenshot-NVIDIA X Server Settings" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="232" alt="Screenshot-NVIDIA X Server Settings" src="/img/Screenshot-NVIDIA%20X%20Server%20Settings_thumb.png" width="244" border="0" /></a> </p> <p>From the above screen, I needed to click the "Configure" button on the right, to enable "TwinView." This is essentially the same as a "Spanned" desktop in the windows world. (i.e. One desktop that spans across both monitors) Disabled only uses 1 monitor, and Separate X Screen actually creates separate instances of the desktop environment on each screen. This last option seems a bit odd to me, but I'm sure there are some that prefer this setting, otherwise it wouldn't exist. </p> <p>After enabling "TwinView"so both moniters are used, I needed to set my resolution to the maximum recommended for each screen, however one of my screen's default's were coming up. I set the default of 1024X768 temporarily hoping that a restart of X server would do the trick. </p> <p><strong>Note:</strong> I wasn’t able to actually merge the /etc/X11/xorg.conf file with the new one that this dialog was generating. I needed to save the new file to a temporary location, then <strong>cp</strong> the new file into the /etc directory. To do this, I clicked “Save to X Configuration File” and stored it in my /home/<username> directory. After saving this new file, I opened a terminal window, then created a backup of the existing xorg.conf file:</p> <p>sudo cp /etc/X11/xorg.conf /etc/X11/xorg.conf_backup</p> <p>Then I copied the new file generated from the NVIDIA dialog over the existing xorg.conf file:</p> <p>sudo cp /home/<username>/xorg.conf /etc/X11/xorg.conf</p> <p>Then I needed to restart X server. To do so, I initialized single user mode, which in my experience was the easiest way to restart X, YMMV. </p> <p>From a command line prompt, enter the command: </p> <p>sudo init 1 </p> <p>To enter single user mode. In Ubuntu 9.04, this closed all the UI of course, and went into a console-type "Recovery Mode" dialog window. The easiest choice here is to select "Resume" for normal loading of the operating system. Alternatively, you can scroll down to "drop into root shell" and execute the following command: </p> <p>init 2 </p> <p>This will initialize run level 2, and resume normal computer operations. </p> <p>After getting back into the graphical interface, I opened the NVIDIA X server configuration dialog again, and this time I was able to select the 1280X1024 resolution on my second monitor (a 4:3 aspect ratio) and the 1680X1050 for my main monitor. (16:9 ratio) After setting this appropriately, I followed a similar process I described above with saving the xorg.conf file to my /home directory, then copying it into the /etc directory. However, with simply changing screen resolutions, I was able to click “Apply” and see the results of these settings immediately, to ensure they would work. In order to have these settings persist, I needed to save them to the xorg.conf file.</p>