Skip to main content Logo

Quis custodiet ipsos custodes?
Home | About | All pages | Cluster Status | RSS Feed

Set your IP as wallpaper

Published: 14-09-2014 | Author: Remy van Elst | Text only version of this article

❗ This post is over nine years old. It may no longer be up to date. Opinions may have changed.

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

Recently I removed all Google Ads from this site due to their invasive tracking, as well as Google Analytics. Please, if you found this content useful, consider a small donation using any of the options below:

I'm developing an open source monitoring app called Leaf Node Monitoring, for windows, linux & android. Go check it out!

Consider sponsoring me on Github. It means the world to me if you show your appreciation and you'll help pay the server costs.

You can also sponsor me by getting a Digital Ocean VPS. With this referral link you'll get $200 credit for 60 days. Spend $25 after your credit expires and I'll get $25!

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:

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 ~/ and then chmod 755 ~/

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 , tutorials , wallpaper