Now, we’ll finish this chapter with a collection of other common problems and quirks that don’t fit neatly into any of the other categories.
Running Another OS in Ubuntu
Some of you read the title of this recipe and wondered how on earth you can run another OS on an existing OS. Surely such a thing is not possible? Well, actually, it is.
In recent years, virtualization technology has been developed to simulate a computer in software. You can use this technology to boot a virtual computer in a window and run an entire operating system on it. There are a few options open to the Ubuntu user to enable this functionality: qemu, kvm, and VirtualBox.
Qemu and kvm have a similar core and are both command-line based, although various graphical front ends exist to simplify their use. The main differences are their speed and hardware support. Many modern CPUs have hardware features (often called VT, VMX, or SVM) that enable virtualization software to more closely interact with the hardware to improve performance. kvm supports VT where qemu does not. Qemu does have an optional extra kernel-level module called kqemu, which mitigates the lack of VT support and improves performance accordingly.
VirtualBox comes in two main incarnations: a free open source edition (OSE) and a binary-only version. The binary-only nonfree version is almost identical to the OSE but also currently features USB support.
In recent versions of Ubuntu, the OSE edition of VirtualBox is available in the universe repository. The nonfree version of VirtualBox can be obtained from virtualbox.org, where an additional Ubuntu-compatible repository can be used to simplify installation.
All of the above-mentioned virtualization options can run Windows, FreeBSD, Netware, and even other Ubuntu installations. We now describe how to get started with each of the three in turn.
To discover if your CPU has hardware virtualization support, issue the following command. If there is no output, then your CPU does not have VT support.
foo@bar:~$ egrep '^flags.* (vmx|svm)' /proc/cpuinfo
First, use Synaptic to install either qemu and kqemu or kvm (select kvm if you know your CPU has VT support). When it has installed, use the file manager to create a folder in your home directory called emu. Now load a terminal and run the following commands:
foo@bar:~$ cd qemu foo@bar:~qemu$ qemu-img create hd.img 350M
The last parameter (350M) indicates the size of the virtual drive in megabytes. Feel free to adjust this to your liking.
If you’re using kvm, you will need to load the necessary kernel-level modules to enable VT support. They should be loaded automatically upon boot-up, but if they’re not, then you can forcibly attempt to load them with the following command:
foo@bar:~emu$ sudo modprobe kvm
The next step is to boot an install CD in the virtual machine (replacing qemu with kvm, if necessary, in the following examples):
foo@bar:~emu$ qemu -boot d -cdrom /dev/cdrom -hda hd.img
When your installation has finished, reboot the virtual machine:
foo@bar:~emu$ qemu -boot c -fda /dev/fda -cdrom /dev/cdrom -hda hd.img -user-net -pci -m 256 -k en
With the setup complete, you can add a link to the new OS on your panel. Right-click on the panel where you want to create the launcher, and choose Add to Panel > Custom Application Launcher. Enter the following details:
- Name: VirtualMachine
- Command: qemu -boot c -fda /dev/fda -cdrom /dev/cdrom -hda ~/emu/hd.img -user-net -pci -m 256 -k en
Choose an icon for your new OS.
Alternatively, if you choose to use VirtualBox (either OSE or nonfree edition), you can skip all the command-line fun above and instead use the graphical tools provided to manage your virtual machine.
Install VirtualBox either from the standard Ubuntu repository or from the virtualbox.org site. Once you do, you will find the icon for VirtualBox in the Applications > System Tools menu.
Click the New icon to start the Create New Virtual Machine Wizard. Give your virtual machine a description and select an OS and version you plan to run in the virtual machine from the drop-downs available. On the next panel, select the amount of your host computer’s memory you wish to give to the virtual machine while it’s running. Finally, use the Create New Virtual Disk wizard on the following pane to create an automatically expanding virtual disk image on your hard disk.
Once the image is created, use the Settings icon back in the main screen of VirtualBox to specify the boot device as either your local CD/DVD ROM drive or a previously downloaded ISO image of the OS you plan to install. If your CPU supports VT, then you will be able to select Enable VT-x/AMD-V from the General > Advanced tab. Modern versions of Virtual-Box support an easily configurable host networking option that enables any virtual machine you create to appear as if it were a host on your network. The alternative (NAT) will prevent the virtual machine from accessing your network, as if it were using a firewall.
Once the virtual machine has been configured, it can be started from the VirtualBox main screen. Additionally, from the menus, it’s possible to suspend and power off a running virtual machine.
It Was Suggested I File a Bug Report, but I Don’t Know How
Ubuntu is a collaboratively developed system in which hundreds of developers from around the world work together to build a simple yet powerful distribution. With so much software involved in Ubuntu, bugs and problems can naturally creep into the system. If you believe that the problem you have is not a configuration or hardware error, it may well be a bug. Anyone can submit a bug, and it is encouraged that regular users of Ubuntu contribute bug reports where possible.
Launchpad provides a complete environment in which bugs can be tracked and future features are merged into Ubuntu. Launchpad is designed not only to make bugs for Ubuntu easy to report but also to support bug reports for other systems, too. This means that developers can work together to resolve problems.
To report a bug, click on the Help menu in the application for which you want to report the bug. Select Get Online Help. Firefox will now load and take you to the Launchpad site. To use Launchpad, you need a user account, so click the Register link to register your account. Enter your e-mail address, and you will be e-mailed registration details. When you have completed the registration, log in to Launchpad. You can always access your application in Launchpad by using the Get Online Help menu item.
The first step is to check whether the bug has already been reported. In the right sidebar of Launchpad are a series of menu options. Each bug added to the system is automatically given a unique ID for the bug, and you can search for this number if needed. You can alternatively search for something related to the problem. As an example, search for “crash” or “hang.” If you find your bug has already been reported, you can stay updated with changes related to the bug by clicking the Subscribe link in the right sidebar.
If no bug exists, you should report it yourself. To do this, click the Report a Bug in <application name> in Ubuntu link. Simply fill in the Summary box with a single-line description of the bug, and then use the Description box to fill in the details. You should be as detailed as possible and include your computer’s specifications, any special steps you went through to trigger the bug, the effects of the bug, and how you expected the software to work. Try to be detailed, but keep everything you say relevant to the bug. If you would prefer to keep your bug report confidential, select the checkbox for that, but it is highly recommended that you keep your bug reports public if possible. This means that as many people as possible can see the report and possibly act on it.
With the bug submitted, you will receive e-mail updates about the progress the developers are making to fix the bug. In some cases the developers may ask you to run commands or try different things to help nail down the bug so they can fix it.
Bug reporting is an essential process in which everyday users of Ubuntu can really help keep the software as bug-free and stable as possible. It is a truly valid contribution to the open source community.
How Can I Monitor the Weather?
Besides looking out the window, you can add a weather applet to a panel that shows the current temperature along with an icon that indicates sunshine or rain. Right-click a panel, and select Add to Panel. Drag the weather applet (under Accessories) to an empty spot on the panel, and click Close. Now right-click the weather applet, select Preferences, and select the Location tab. From here you can select your city or a city in the vicinity. Click Close when you are done. If you want more detailed information, just click the applet.
How Do I Make Ubuntu Bread?
With so many recipes in this chapter to solve common problems or perform small tweaks and optimizations, it seems unfair not to include an actual recipe. This recipe was posted to the popular Ubuntu forums to create some special Ukrainian egg bread called kalach, which is much like challah or any other egg bread. The twist, of course, is that it is shaped like our favorite distribution’s logo (Figure 6-10).
To create this bread, you will need the following ingredients:
- 1 teaspoon of yeast
- 3/4 cup warm water (100°F/40°C)
- 3 eggs
- 3 to 5 cups flour
- 1/4 cup sugar
- 1/4 cup oil
- pinch of salt
First, put the yeast in the warm water while you gather the other ingredients.
Beat the three eggs in a bowl and save a teaspoon of the egg mixture for later. Add three cups of flour to a big bowl along with the egg, sugar, oil, and salt. When the yeast is bubbly, add it in too. Knead. If the mixture is crumbly, add water. If it is too sticky, add more flour. The dough should be firmer than your average bread dough to keep its shape.
Cover the bowl with a damp towel, and let the dough rise in a warm place. When it has doubled in size, punch it down, and roll it out into three ropes.
Make the ropes less than one inch (2.5 cm) thick so that the loaf will bake evenly. Do this on a large surface. You need a lot of room. Use a bit of oil if things are sticky. Your dough should be somewhat stiff, so this should not be a problem.
You should end up with three ropes that are a little less than three feet (75 cm) long. Pinch them together on one end, and set them horizontally on your work surface.
Now braid the ropes. Take the lowermost rope and place it between the other two. The middle rope is now the lowest rope. Move it into position by bringing it down to where the other rope (lowermost) used to be. Take the topmost rope and place it between the other two. Take the rope that is now highest and pull it up to its position as topmost rope. Place the lowermost rope between the two others. You get the picture. . . .
When you have a long braid, snip off the ends, and join the ends to form a circle. Join the individual ropes together as well as you can. Place the loaf on an oiled cookie sheet. Take the snipped-off bits and form two long strands. Intertwine them by putting them side by side and holding one end while rolling the other end with the palm of your hand. Stretch this out around the bottom of the big braid and join the ends together.
Cover the kalach with a damp towel and let it double in size (about an hour, maybe less on a hot day). Brush it with the egg mixture. You should have enough to cover the loaf completely. Bake at 350°F/180°C until it becomes dark brown. Let it cool.
Be very careful. One of our dogs jumps up on the table to eat this bread. It is embarrassing when guests find the dog with the half of the bread that she could not finish under the table.
How Can I Prevent the Pain I Get in My Fingers When I Type?
If you feel pain or numbness in your fingers, you are likely suffering from repetitive strain injury (RSI). This common complaint typically afflicts those who work with computers for long periods every day. The constant movement of the fingers in such a repetitive fashion can cause swelling and pain in the fingers and wrists. RSI can also affect your neck, back, legs, and other areas.
If you suspect you have RSI, you should first consult your doctor. RSI is a condition that requires treatment. This treatment can come in the form of physiotherapy, regular breaks, workspace adjustments, and in some extreme cases, medication or surgery.
One of the most common methods of reducing RSI is to take regular rest breaks. It is a good idea to break about once an hour. Your desktop can help with this. Click on System > Preferences > Keyboard, and select the Typing Break tab. You can use the settings in the tab to enforce a break once an hour.
Another type of break is a micropause. These breaks usually occur every couple of minutes, and the break lasts for only a few seconds. These breaks are intended to be less intrusive and give your hands a chance to regularly rest for a short period to allow the blood to flow. A useful little tool called Workrave has been developed to enforce regular micropauses. Use the Synaptic package manager to install Workrave.