Install GNOME 3.0 on Arch Linux

I am GNOMEHello World! GNOME 3.0 was just released to the public and already it’s available in Arch Linux. Granted it’s in the testing and unstable repository (at the time of this writing), but it’s very much available and very much usable. In this article I will outline how to fresh-install GNOME 3.0 on your Arch Linux system.

Configuration

In order to install GNOME 3.0 on Arch Linux you’ll need to make some changes to your pacman.conf file. This will instruct pacman to reference two new repositories, the [testing] and [gnome-unstable]. GNOME 3.0 is built on top of testing, so the order is important here as well. Your pacman.conf should end up looking like this:

[gnome-unstable]
Server = http://mirrors.kernel.org/archlinux/$repo/os/$arch

[testing]
Include = /etc/pacman.d/mirrorlist

[core]
Include = /etc/pacman.d/mirrorlist

[extra]
Include = /etc/pacman.d/mirrorlist

#[community-testing]
#Include = /etc/pacman.d/mirrorlist

Once you’ve made this change you’re ready to install the new gnome package and its dependencies.

Installation

Installing GNOME 3.0 is very similar to installing 2.3x, with the only difference that you’re pulling it from a different repository. Referencing the new repository allows you to make sure you’re getting the right package:

pacman -S gnome-unstable/gnome

and for additional applications

pacman -S gnome-unstable/gnome-extra

Into the future…

GNOME 3.0 is just the first of a new generation. We can expect GNOME 3.2 in the fall (September) with a number of great improvements! In the meantime, please install it, play with it, offer feedback, and let’s make GNOME great!

Impressions of OpenSUSE 11.3: Dell Latitude D630

Last evening I got the urge (read: I was bored) to install openSUSE 11.3 on my Dell Latitude D630. The specs are as follows:

Core 2 Duo 2.40GHz
2G RAM
120G HDD
Intel 3945 Wireless
nVidia Quadro NVS 135M Video

The installation was simple enough, and I didn’t have any initial hardware problems–wired and wireless worked out of the box, as did the display. So far so good. I do credit openSUSE with having a very mature installer, and I was very happy to see that their liveCD image could also be written to a USB drive. The only major distribution yet to provide native USB installation is Ubuntu, which drives me crazy!

While the installation was simple enough, post installation is where I ran into some problems. There are a few issues that really got to me, but one of them I’ll blame on the nVidia proprietary hardware. That stuff just can’t be helped.

Problem #1:

The first major problem I ran into was unlocking the encrypted LVM partitioning that I configured during installation. Creating an encrypted LVM setup was as simple as ticking two boxes during installation, but unlocking it again at boot was difficult due to the fact that I’m a dvorak typist.

Why would my selection of keymap have any effect on drive encryption you might ask? Well, you might notice (any of you that are using encrypted LVM) that the only supported keymap (it even prints this at the prompt) is English. This means I had to go back and figure out how to type my 17 character passphrase in qwerty, which took some doing!

openSUSE, listen up. Every other major distribution I’ve used in the last two years sets and loads the keymap in the initrd to avoid this kind of crap. Get with the times; this is ridiculous.

Problem #2:

My second issue was regarding the nVidia card. Again, I’ll give openSUSE the benefit of the doubt here because it is proprietary and these same issues are likely present in other distributions as well. My video did work out of the box using the “nv” driver. I had to do some Google searching to find out how to install the proprietary nvidia drivers, which worked, but the utility then complained that it could not find and could not use/write/backup my xorg.conf file. That’s because recent versions of X no longer require or use an xorg.conf config file. Did nobody test this? Really? I know it’s proprietary, but nVidia is really common and there are specific instructions toward installing and configuring nVidia on the openSUSE wiki. I just don’t get how nobody ran into this and there is no solution (that I could find). So, while I can’t blame openSUSE for the problems of proprietary drivers and hardware, I do blame them for poor QA.

Conclusion

Based primarily on these issues I think I’ll be trying another distribution by the end of the day. While openSUSE does make a very pretty, integrated desktop, it’s a big PITA to boot my encrypted drive in a keyboard layout that I’m not familiar with. I’m sure this is something that could be easily fixed. Perhaps someone will get around to it someday.

I’m disappointed to say that each year I get the urge to try openSUSE again, hoping it will have improved, and each year I’m let down.

Open and View .chm Files on Linux (Ubuntu / Debian /Fedora)

The .chm file type is a “Microsoft Compressed HTML Help” file in a proprietary format for online help files. Linux and UNIX generally don’t come with native .chm support, but the functionality can easily be added. There are a number of solutions available, which I’ll outline below:

chm conversion

One option is to simply convert the .chm file to a more usable format, like .pdf. Most Linux distributions will come with a native .pdf viewer so conversion will allow you to use an existing application to view the information included in a .chm file. The most common conversion utility is chm2pdf. To install this application, use your favorite package manager, as shown below:

Ubuntu / Debian

sudo apt-get install chm2pdf

Fedora / CentOS

sudo yum install chm2pdf

The basic syntax for this utility is chm2pdf input_file output_file

GNOME .chm viewers

Another option is to install a native GNOME application to view .chm files. There are two such options, one is the gnochm utility and the other is chmsee. To install one of these applications, use your favorite package manager, as shown below:

Ubuntu / Debian

sudo apt-get install gnochm

sudo apt-get install chmsee

Fedora / CentOS

sudo yum install gnochm

sudo yum install chmsee

I have had much better luck with the second, chmsee. The gnochm utility crashes on me randomly, where chmsee has been very reliable.

KDE .chm viewers

There are a few options for KDE users as well. One option is to install a new application, and another is to use a plugin for Okular. I’ll outline each below.

First, you can try the utility kchmviewer. This is a native KDE application to open and view .chm files.
Second, you can add extra functionality to your existing viewer, Okular. You can install either of these using your preferred package manager, as shown below:

Ubuntu / Debian

sudo apt-get install kchmviewer

sudo apt-get install okular-extra-backends

Fedora / CentOS

sudo yum install kchmviewer

sudo yum install okular-extra-backends

Generic X viewers

For those looking for something a little more desktop-environment-agnostic, you might want to try xchm. This can be installed using the same methods outlined above:

Ubuntu / Debian

sudo apt-get install xchm

Fedora / CentOS

sudo yum install xchm

Conclusion

As a GNOME user I have had the best luck with chmsee. It feels very native and all of the .chm files I have opened are very well formatted. Navigation is easy, font style and size are easily readable as well.

I’d be interested in hearing what other options are out there. While it isn’t everyday that Linux users run into .chm files, when we do it is nice to have good solutions available.

Check the Status of ‘dd’ Command

The other day I was copying the entire contents of one USB drive to another. To use this I used the dd command, as I needed the images to be identical. Once the copy started I started wondering about its progress, and was reminded that dd does not have any kind of progress bar or other status output. In this article I’ll outline how to output the status / progress of dd during a large copy.

A note about speed

Before I outline how to output the status of the dd command, I wanted to comment briefly on the speed of the dd reads/writes. The dd command allows you to specify the input file, output file, block size and count. I have found that not specifying the block size can have detrimental effects on the speed of your transfer. Currently I find the best performance specifying a 4k block size, the same as the default block size on ext file systems.

To specify this block size, use:

dd if=/source/file of=/dest/file bs=4k

Status of dd command

The quickest and easiest way I’ve found to check the status of the dd command is to run the following:

watch -n 10 killall -USR1 dd

There are, of course, other ways to find the result, but this is what I use. This command will report the status on any running dd process every 10 seconds. When the transfer is finished you can kill this reporting via ctrl-c.

How to Install VirtualBox Guest Additions in Fedora Guests

VirtualBox Guest Additions on FedoraInstalling VirtualBox guest additions seems to vary between distributions. The other day I saw an article outlining how to install VirtualBox Guest Additions on Ubuntu, but those same steps did not apply to my Fedora 13 Virtual Machine. In this article I’ll outline the packages and steps required to install VirtualBox Guest Additions on a Fedora Guest.

Requirements

This tutorial assumes you already have VirtualBox installed and a Fedora Virtual Machine running.

Installation

To successfully install VirtualBox Guest Additions on a Fedora guest, you’ll need to install the following:

yum install kernel-headers kernel-devel gcc

Once these packages are installed you’ll be able to mount the VirtualBox Guest Additions image, and run the required script. This is done using the following steps:

  1. In the VirtualBox menu, under Devices, select “Install Guest Additions”
  2. Select the VBOXADDITIONS* image from the Places menu, which will mount the image.
  3. In a Terminal, navigate to /media/VBOXADDITIONS*/ and run: sudo ./VboxLinuxAdditions-(x86,amd64).sh
  4. Reboot the Fedora guest

Installing VirtualBox Guest Additions isn’t difficult, it is just different on most Linux distributions. Hopefully this helps those using Fedora quickly get it installed on their systems.

Install GNOME-Shell in Arch Linux

I was getting curious about the progress of the new GNOME-Shell (which will be part of GNOME 3.x), so I went to find how to install it in Arch Linux. It is, just like a number of things, available in the Arch User Repository (AUR), but I also found that there is an official package in the gnome-unstable repository. This post outlines how to add the gnome-unstable repository and install GNOME-Shell in Arch Linux

Repository

The first requirement for installing GNOME-Shell is the addition of the gnome-unstable repository. This can be done by adding the following to your /etc/pacman.conf:

[gnome-unstable]
Server = http://mirrors.kernel.org/archlinux/$repo/os/$arch/

You’ll notice I’m using mirrors.kernel.org, but you should be able to use your own preferred mirror.

Installation
Once you’ve added the repository, you can add the GNOME-Shell using the following command:

sudo pacman -Sy gnome-shell clutter

Usage

To launch GNOME-Shell (and replace your current environment for this session), run:

gnome-shell --replace

You should now be in GNOME Shell. Have fun playing with this, still in development, Desktop Environment.

[SECURITY] [DSA-1971-1] New libthai packages fix arbitrary code execution

Package : libthai
Vulnerability : integer overflow
Problem type : local (remote)
Debian-specific : no
CVE Id : CVE-2009-4012

Tim Starling discovered that libthai, a set of Thai language support routines, is vulnerable of integer/heap overflow. This vulnerability could allow an attacker to run arbitrary code by sending a very long string.

For the oldstable distribution (etch), this problem has been fixed in version 0.1.6-1+etch1.

For the stable distribution (lenny), this problem has been fixed in version 0.1.9-4+lenny1.

For the testing distribution (squeeze), and the unstable distribution (sid), this problem will be fixed soon.

We recommend that you upgrade your libthai package.