Linux

Beryl 0.2 makes Vista and OSX look boring

Topics

I upgraded yesterday to Beryl 0.2, and besides some minor upgrade problems, this desktop manager is looking spiffy. Lunapark6.com has a nice roundup at the state of the current Linux desktop, which has way more eye candy than OSX and Vista together.
I really like trailfocus, which makes unfocused windows transparent. I don't like a cluttered desktop, so trailfocus really emphasizes the current active application.

Linux virtualization

Topics

IBM carries an article containing an overview of the current Linux virtualization methods, the techniques used over the years, and a survey of Linux virtualization projects. The different methods are somehow very briefly discussed, eg the part about the now standard KVM could have been described in more detail. QEMU though, looks promising, and I really should give it a try in order to remove VMWare from my system.

WM_CLASS

Topics

I upgraded my XGL/Compiz set from Quinnstorm packages to the new Beryl-manager. The Gimp has an attitude of keeping several windows open, so trailfocus isn't really helpfull there, so I decided to exclude Gimp from the trailfocus module. That can be accomplished to specifying a WM_CLASS in the Beryl-manager, but what has to be specified there exactly ?

On can find the exact name of a WM_CLASS object by typing the command :

xprop | grep WM_CLASS | cut -d \" -f 4

The cursor then changes to a cross, which enables you to select the application of which you want to know the WM_CLASS.

Nasty Sparc Xorg bug fixed

Topics

A long living Xorg bug has finally been fixed : on my Ultra-10, Xorg crashes the system when starting up. The code in Xorg was trying to mimmick VGA routing by disabling I/O responses behind the Simba PCI controller. Unfortunately, doing this also happens to disable access to the IDE controller I/O registers, thus crashing the system. No console messages because the console has been put into framebuffer mode by the X server already.

This took a painfully long time to track down and debug. Luckily, once fixed, the code got blindingly fast implemented in the Debian packages, and the fix is now available in xserver-xorg-core-1.1.1-10. No luck however in SparcUbuntu, cause the package isn't yet available, and the Debian xserver-xorg-core package cannot be installed on Ubuntu, because of conflict issues. However, by unpacking the deb file, one can simply copy the Xorg binary to /usr/bin, which fixes also the problem.

SIGUSR1

Topics

If there's on thing you can say about Unix, then it's the fact that it keeps on amazing you, even after years of usage. Here's a new gem I recently discovered :

When using dd to copy data between devices, it can take a long time to finish, even when using large block sizes. The dd utility doesn't report status information by default, but when fed a SIGUSR1 signal it will dump the status of the current operation :

$ dd if=/dev/zero of=/tmp/foo bs=512 &
[1] 7749

$ kill -SIGUSR1 7749
1038465+0 records in
1038465+0 records out
554904576 bytes (555 MB) copied, 8.79635 seconds, 63.1 MB/s

InstaLinux

Topics

InstaLinux is a new website developed by open source enthusiasts based on code released by Hewlett Packard allows users to point and click through a few simple screens to generate a small (less than 30 MB) installation image. When booted, it will install an operating system via the network according to the user's specifications. Debian, Ubuntu and KUbuntu are all supported on x86 and x86_64 platforms, as well as several other distributions.

How to build Xephem-3.7.1 on amd64

Topics

I just installed the latest Xephem-3.7.1 onto my debian amd64. The problem with the default deb package in the Debian repository is that the version is quite old, at 3.4.5. Unfortunately, building Xephem-3.7.1 isn't quite straightforward; here's a small howto to craft the binaries (no package, unfortunately) :

* download the source from the Xephem site
* unpack the tgz tarball
* create and run this script in the ./xephem-3.7.1 directory :

#!/bin/bash
# Fix gcc flags
for i in libastro/Makefile libip/Makefile \ 
 libjpegd/Makefile liblilxml/Makefile GUI/xephem/Makefile ; 
do
  echo "Fixing CFLAGS in ${i}"
  sed -e "s~^CFLAGS[ ]*=\(.*\)-O2\(.*\)~CFLAGS= \1 \2 \ 
  ${CFLAGS}~" -i ${i} || die "sed failed"
done
sed -e 's~^CFLAGS[ ]*=\(.*\)$(CLDFLAGS)\(.*\)~CFLAGS=\1 \2~' \ 
  -i GUI/xephem/Makefile

* Remove the ./xephem-3.7.1/libXm/linux86 directory, as it contains 32bit libraries
* Create a symlink ./xephem-3.7.1/libXm/linux86 towards /usr/lib
* Install the lesstif2 and lesstif2-dev packages
* Build as described in the INSTALL file

That's it ! Copy your binary to /usr/bin, and you're ready to rumble.