Set your IP as wallpaper

14-09-2014 | Remy van Elst


Table of Contents


This is a tutorial with a script which lets you set your IP address as wallpaper.

You need to have a white background picture as base. Imagemagick will create it.

See an example wallpaper here.

First install imagemagick & feh:

apt-get install imagemagick feh

Then we'll make a bash script with the following in it:

#!/bin/bash  
export DISPLAY=:0.0  
# Create white background image
convert -size 1280x800 xc:white base.jpg

# Create IP image
convert base.jpg -pointsize 80 -fill lime -draw "text 0,150 'IPv4: $(ip -4 a s eth0 | grep -Eo 'inet [0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}' | awk '{print $2}')'" -fill black -draw "text -0,250 'Hostname: $(uname -n)'" -pointsize 60 -draw "text -0,500 'Date $(date)'" ip.jpg 

# Uncomment this one if you're not using gnome:  
# feh --bg-scale ./3.jpg  
# and place a # (hash) for the following rule:   
gconftool -t string -s /desktop/gnome/background/picture_filename ./ip.jpg  

Save as ~/.back.sh and then chmod 755 ~/.back.sh

So, what this does is basically put the output of the ifconfig eth0 (change if needed) command, and the time & date on the background image, then it sets the background image to the newly created image.

And the export DISPLAY=:0.0 is because you can then run the script from of ssh to.
For that I also had a problem. Luckily I found the solution, but I forgot to write down the source...

## as root, extract xauth info from user that started X  
**$ XAUTHORITY=/home/username/.Xauthority xauth list**  
hostname/unix:0 MIT-MAGIC-COOKIE-1 273bf22484148c6504f5d85e6ef510e5  
hostname.sub.domain:0 MIT-MAGIC-COOKIE-1 273bf22484148c6504f5d85e6ef510e5

# as current user, add xauth info to your xauth info...  
**$ xauth add hostname/unix:0 MIT-MAGIC-COOKIE-1 273bf22484148c6504f5d85e6ef510e5  
$ xauth add hostname.sub.domain:0 MIT-MAGIC-COOKIE-1 273bf22484148c6504f5d85e6ef510e5**  

Now you can set it as a crontab that runs every minute (crontab -e) or add it to the gnome startup apps (gnome-session-properties).


Tags: bash, imagemagick, ip, wallpaper,