After a while of using the default GNU/Linux X Window System, I use either GNOME or Xfce as my windows environment. However I wanted to make it a bit different. I've never liked a desktop cluttered with icons, and always liked the idea of displaying some of the log files directly on the root window, so it was time to create something like this.
Essentially this consisted of:
Many window managers hide this window from the user. Fortunately for me, GNOME and Xfce make it simple to expose it.
If you
use Xfce: Fire up the Desktop Preferences applet
(Xfce Menu -> Settings -> Desktop Settings) and deselect
Allow Xfce to manage my
desktop.
Your desktop icons will disappear. If a Information - To ensure Xfce does not manage... message is shown, click on Close to acknowledge it.
Click on Close to close the applet.
Log out of Xfce, selecting Save session for future logins as explained by the information message. Save sessions... need only be selected this once.
If you use GNOME: Install gconf-editor (unless it is already installed.
# yum install gconf-editor
Run gconf-editor (Applications -> System Tools -> Configuration Editor) and select apps -> nautilus -> preferences and uncheck show_desktop.
Then select desktop -> gnome -> background and set picture_options to none.

Create the following Bash shell script. It's a bit of a kludge, and maybe one day I'll create something more elegant.
#!/bin/bash
# Delete the /tmp/apod directory to get rid of all old pictures
rm -rf /tmp/apod
# Download the new astronomy picture of the day
wget -r -l1 --no-parent -A.jpg -P/tmp/apod http://antwrp.gsfc.nasa.gov/apod/
# Copy all jpeg files to the /tmp/apod directory
find /tmp/apod -regex .*jpg -exec cp '{}' /tmp/apod \;
# Rename the largest jpeg to bk.jpg and move it to an area where all
# clients can access it
array=(`ls -S /tmp/apod`)
mv /tmp/apod/${array[0]} /home/steve/share/doc/misc/bk.jpg
exit 0
Set up a cron job on the server to run this once each day.
# Download astronomy picture of the day 41 05 * * * /home/steve/share/bin/get.apod
Create the following bash shell script.
#!/bin/bash
# Display a background picture
display -backdrop -window root /home/steve/share/doc/misc/bk.jpg
# Display the logs from this machine and from the server
sudo -b root-tail -f -g 1250x975+25+0 -wordwrap \
/var/log/messages,indianred \
/var/log/secure,sandybrown \
/var/log/marilyn/messages,yellow3 \
/var/log/marilyn/secure,cadetblue3
For this script to work root-tail needs to be installed.
# yum install root-tail
To write to the root window, root-tail needs to be run as root. So give yourself root access by adding the username ALL... line to the /etc/sudoers file. The Defaults requiretty line also needs to be commented out or deleted.
... # Defaults requiretty ... steve ALL = NOPASSWD: /usr/bin/root-tail
The display command should have been installed as part of the ImageMagick software suite, but check this if necessary.
$ yum list installed ImageMagick
Note that to view the logs from other machines, these have been exported using NTFS and then mounted on the client machine, e.g. /var/log/marilyn/messages.
For Xfce: Run the Autostarted applications applet (Xfce Menu -> Settings -> Autostarted Appliations) and select Add.
Enter a Name for the script and put the full path to the script in Command, then select OK.
Select Close to close the applet, then close your X Windows System session, and restart it. Assuming you have run the script that downloads the picture, your screen should look something like this.
For GNOME: Run the Sessions applet (System -> Preferences -> More Preferences -> Sessions. and select Startup Programs. Click on Add.
Enter the full path to the script in Startup Command:, then select OK.
Select Close to close the applet, then close your X Windows System session, and restart it. Assuming you have run the script that downloads the picture, your screen should look something like this.