Install GNOME 3.0 on Arch Linux

April 6th, 2011 No comments

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!

Categories: GNOME Tags:

Impressions of OpenSUSE 11.3: Dell Latitude D630

December 7th, 2010 No comments

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)

December 4th, 2010 3 comments

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.

Categories: GNOME, KDE Tags:

Check the Status of ‘dd’ Command

July 11th, 2010 2 comments

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.

Categories: Uncategorized Tags:

How to Install VirtualBox Guest Additions in Fedora Guests

June 27th, 2010 No comments

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

June 26th, 2010 4 comments

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.

Categories: arch, GNOME Tags:

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

January 15th, 2010 No comments

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.

Categories: Debian Tags: ,

Disable Thunderbird 3 Bloat!

January 15th, 2010 5 comments

I have been using Thunderbird 3 since its final release, and overall I have enjoyed it. I never quite liked version 2, but version 3 appeals to me a bit more. I’ve got multiple accounts configured, and it has been working very well. The one issue that I recently discovered is the HUGE amount of disk-space that it can take up. In this post I’ll outline how to regain that lost space.

Thunderbird 3

If you have been using Thunderbird 3, take a look at how much space the .thunderbird folder is using. Open a terminal (Applications > Accessories > Terminal), and run the command:

cd .thunderbird/
du -sh

On my machine Thunderbird was using 923M of disk space! I was very surprised to find that amount–I didn’t even think I had that much email! This got me curious, because Thunderbird 2 never used nearly this much disk space! I made my way to Google to do some digging, and this is what I found out.

Thunderbird Profile

Your .thunderbird profile directory contains all of your settings, as well as your ImapMail headers and other information. If using the default Thunderbird settings, all email will also be synchronized to your local computer. This means that your email, including attachments, will be stored within this directory (ie; .thunderbird/*.profile/ImapMail/). I have this option turned off, and I’ll outline how to do so below.

I bring up the topic of the profile directory simply so that you are aware of the files contained there. Some of these files are those that you’ll end up deleting to remove some of the bloat that can come along with Thunderbird 3 settings. Generally, the files that take up the most space are:

  • /ImapMail/
  • global-messages-db.sqlite

We’ll have a look at each of these below.

ImapMail – Mail Synch and Cache

Assuming you are using IMAP with your mail accounts, you will have an ImapMail folder, caching email and headers for your Imap accounts. If you take a look into this directory you’ll find sub-folders for each of your accounts. If you have “Message Synchronization” activated (which, I believe, is the default), you should have a local cache of all your mail in this folder.

If you’d prefer to disable this feature to regain disk space, you can do the following:

  1. Delete the contents of the ImapMail/mail.domain.tld/ folder (where mail.domain.tld is your mail server(s)).
  2. Disable “Message Synchronization” in Edit > Account Settings > Synchronization and Storage
  3. I would suggest leaving the remaining settings at their defaults. This post doesn’t cover them.

Global Search and Indexer

Once I deleted the previously synchronized mail from my ImapMail folder I still found that there was over 200M being used elsewhere. After some additional digging I found that the bulk of this was used by the global-messages-db.sqlite file. This file is used for the Global Search and Indexing features of Thunderbird 3. I did a little research and this sqlite database is used to index your messages, attachments, etc. The new additions in Thunderbird 3 allow you to search this database and quickly find files and messages.

I realized that I rarely use the search feature, so I disabled this setting and freed up a lot of additional space. I use Message Filters to sort my mail, so disabling Indexing and Searching doesn’t affect me. If you would like to disable Global Search and Indexer, and free up an additional 200M of disk-space, do the following:

  1. Delete the global-messages-db.sqlite file, and regain the disk-space.
  2. Uncheck “Enable Global Search and Indexer” in Edit > Preferences > Advanced > General

I would be interested in any additional feedback the readers have about improving Thunderbird 3. How to make the client more efficient or customizable.

Categories: Ubuntu Tags: , , , ,

Install Required Fonts on Arch Linux

January 15th, 2010 No comments

I was reinstalling Arch Linux just the other day and I noticed that, while my Desktop looked natural enough, my web browser fonts did not. I did some quick reading and found some of the fonts that seem to clear up the issue. If your fonts look a bit fuzzy, you’ll likely want to keep reading.

Arch Linux Fonts

To get a better all-around font experience, including the desktop and the web, I installed the following packages:

  • ttf-droid
  • ttf-liberation
  • ttf-dejavu
  • ttf-ms-fonts

To install all of these, simply run:

sudo pacman -S ttf-droid ttf-liberation ttf-dejavu ttf-ms-fonts

You may need to restart your browser, or even logout and log back in, but you should notice a change once these fonts are installed.

Categories: arch Tags: ,

Finding Files and Binaries on Linux and UNIX

January 8th, 2010 1 comment

I manage a number of different types of systems. I have an Arch Linux laptop, a Macbook installed with OS X, CentOS and RHEL machines at work, as well as Debian servers both at work and home. As if that weren’t enough I also maintain a few FreeBSD servers. Between all of these different Operating Systems and variants I find that certain files and commands aren’t always where I might expect them to be. For today’s article I’ve outlined different methods for finding files and binaries on Linux and UNIX systems.

Locate

The first tool I’ll share is the locate command. This command searches through an index, built-daily, of all files and folders on your machine. Locate should be available on all standard UNIX systems, and is generally a very fast way to search for files.

  • Positives: fast
  • Negatives: not very specific, index updated daily

If you need to re-build your index to include recently added files, you can run the command:

updatedb

Find

The find command is much, much more granular than the locate command but it can also be more complicated to use. Explaining all of its options would warrant a post of its own, so I’ll just outline a few basic uses.

  • Positives: very, very granular search parameters
  • Negatives: slower than other methods

To use the find command, refer to one of these examples:

find / -type f -iname "httpd.conf"
find . -type f -name ".bashrc"
find /etc/ -type f -name "hosts.*"
find /usr/local/ -type d -iname "www"

These examples are all very similar, with only slight variations, to give you an idea of some of the power of find. Again, find can do much more than this, but this is enough to get you started.

  • The first command searches from the root directory for any files (-type f) for the case-insensitive string of “httpd.conf”.
  • The second command searches the current working directory for any files with the case-sensitive name of “.bashrc”.
  • The third command searches within the /etc/ directory (and subdirectories) for any files matching the name “hosts.*”
  • The last command searches within the /usr/local/ directory for any directories (-type d) with the case-insensitive name of “www”.

As you can see, find can be very flexible and this only touches on the advanced search patterns it can define. I highly suggest you have a look at the find man page for more information!

Which

The which command searches for binary files within your PATH. For example, let’s say you need to know the full path to the wget command. You could use:

which wget

You should see something along the lines of:

/usr/bin/wget

Binaries may be stored in different places on different systems, which is again why it is important to know how to find them. I use which frequently within my scripting in an attempt to make scripts portable. Let me give you an example:

#!/bin/bash
if [ -x $(which wget) ]; then
$(which wget) http://example.com/file.txt
fi

This very simply script doesn’t make any assumptions about the availability or the location of the wget tool. It does a simple check to see if the binary, as defined by its full path, is executable and if so use it to download a file. If wget does not exist the script will do nothing, and if it does exist it will be sure to execute it by its full path.

This tool has been helpful when moving between operating systems and variants. It helps me ensure I know exactly where files are, and not make any assumptions.

Whereis

The whereis tool is similar to the locate tool in that it is not as granular as find, and it is also similar to the which tool in that it searches only a predefined PATH for files. I use whereis constantly on my FreeBSD systems to search for ports within the ports tree. An example:

whereis portmaster

This would give me the output (assuming it is installed), of:

portmaster: /usr/local/sbin/portmaster /usr/local/man/man8/portmaster.8.gz /usr/ports/ports-mgmt/portmaster

This searches the standard binary, manual page, and source directories. As you can see from the above output, I have a result from each. This tells me where the binary is in its full path, where the man page(s) is stored as well as within the ports tree. If I didn’t have it installed, the only result I would be given would be the ports tree entry. This would help me find the path, allowing me to install it.

Conclusion

All of these tools are standard UNIX binaries that you should find on any system. Each tool has its own strengths and weaknesses, and none of them will always do the job the right way. I find myself using each of these on a regular basis, each for its own strengths. I would invite you to start using these commands in your day-to-day as needed, and read more about them.