#!/usr/bin/perl -w
# This little program sets my background image
# randomly in blackbox (and now openbox).
# It's called when I startx.
$isxrunning = `ps -C startx | grep "startx"`;
if ($isxrunning =~ "startx") {
changebackdrop();
} else {
exit;
}
sub changebackdrop {
if (!defined $ARGV[0]) {
$backdrop_directory = "/home/willyyam/misc/bmps/";
# Set this to your backdrop files directory.
opendir(BD, "$backdrop_directory") or die;
# Normally we'd report errors, but since we will be
# running this via script and discarding the STDOUT
# that it generates, that would be a waste of time.
@backdrops = readdir(BD);
# Grab the contents of the backdrop directory.
@spordkcab = reverse(@backdrops);
pop(@spordkcab);
pop(@spordkcab);
# The first two entries readdir() finds are
# . and .. We don't want to hand these
# entries to bsetbg, so I reverse the array
# and do away with them. There is a smooth,
# tidy way to do this. I don't care :-)
$randpic = $spordkcab[ rand @spordkcab];
$randpic = $backdrop_directory . $randpic;
`/usr/bin/Esetroot -display :0.0 $randpic`;
#`/usr/bin/X11/xli -display :0.0 -onroot $randpic > /dev/null &`;
exit;
} else {
# If backdrop is called with an argument, use the argument
# as the backdrop.
`/usr/bin/Esetroot -display :0.0 $ARGV[0]`;
#`/usr/bin/X11/xli -display :0.0 -onroot $ARGV[0] > /dev/null &`;
exit;
}
}
# William O'Higgins yam@nerd.cx
Day: April 25, 2005
Resolved: 2.6.8 and USB
Well, I got things sorted. I got them sorted quite a while ago, but I have just emerged from the cave of my Masters and I resolve to begin catching up on my blogging – I haven’t been hibernating, I just haven’t done any reporting on my activities.
Okay, back to the kernel – I went through the process again, and I still had USB issues, but everything else worked. I got a bit of help from TLUG and discovered that my problems went away if I typed sudo modprobe ehci_hcd and sudo modprobe uhci_hcd, which are the modules for USB 2.0 and USB 1.1 respectively. After a bit more looking, I found that the reason I had some old, unused modules loading was that they were in /etc/modules. So, I extrapolated, put the USB modules in and commented the obsoleted ones out, and Bob’s your uncle, everything works.
Fun with the 2.6.8 Kernel and ALSA
I figured it was high time I updated my desktop machine to a modern kernel. And, as usual there were some hiccoughs, but it seemed to go reasonably well with the following procedure:
cd /usr/src tar xjfv linux.[version].tar.bz2 rm linux (assuming it is a link to your old kernel) ln -s /usr/src/linux.[version] linux cd /usr/src/linux cp /usr/src/[oldkernel-source-directory]/.config .config make oldconfig make menuconfig cd /usr/src/linux make-kpkg clean make-kpkg --append-to-version=.[a_unique_and_clever_name] kernel_image modules_image cd /usr/src dpkg -i kernel-image-[version].[a_unique_and_clever_name]_10.00.Custom386.deb vi /etc/lilo.conf lilo
What gave me troubles was using ALSA instead of OSS as the sound architecture. It worked, after following instructions to install a few things, if I was root. I don’t always want to be root though, and nothing I tried seemed to work. Finally, I used the brute force approach. I went into /dev and went to town, chmoding everything in sight, including mixer, sequencer, dsp, music and the snd directory, as well as the entire contents of /dev/snd. It works now though, so that’s something.