xdm Login Screenshot 2015-11-01
Lately I have been using Windows 7 on my laptop. This is only because I was pushed off XP by applications and drivers. I worry about the day I will be pushed off Windows 7 and have been trying to find a way to run Linux that is less painful than Windows.
It seems to me that Ubuntu has the best repository of applications, but the default install is pretty bloated. Sure I could build from scratch if I really wanted to, but who has time to sort out the ridiculous dependency problems and build each application independently? To limit Ubuntu's bloat I decided to use the netinstall image, put it on a USB stick with unetbootin, ran the installer, and selected no packages when asked. When done, I installed just the xorg components I wanted... which included openbox, xdm, and the panel applet from Xfce.
This setup is pretty scaled down (which is good) but the default login screen is pretty heinous. Not only is it ugly, but it also has the Ubuntu logo, which seems kind of "dirty" somehow. So I decided to customize my xdm login screen, mostly based on the information I found here. Don't get me wrong, that anime background is also heinous but the information was relevant to what I wanted to do. Problem is, I had trouble figuring out how to take a screenshot of this awesome new login screen... here's the simple answer I ended up using:
First, create a script that actually takes the screenshot, we will call this /home/user/screen.sh.
#!/bin/sh
sleep 10
xwd -root -out /home/user/screen.xwd
Don't forget to add the execute bit to it
chmod +x /home/user/screen.sh
Now edit the file that configures basic settings for your xdm login screen
sudo nano /etc/X11/xdm/Xsetup
in here you want to add a line at the end that says
/home/user/screen.sh &
If you do not include the ampersand at the end of the line I believe it will still take the screenshot but the configuration provided by Xresources will not yet be loaded. In short, when your xdm login screen starts up, this will wait ten seconds in the background and then take the screenshot... saving it to /home/user/screen.xwd. If you prefer a different format than xwd you can use the convert command as described here.
A minimal login screen like that gives me the warm an' fuzzies.