#!/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, chmod
ing 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.