Skip to main content

Raymii.org Raymii.org 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 ten 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. It means the world to me if you show your appreciation and you'll help pay the server costs:

GitHub Sponsorship

PCBWay referral link (You get $5, I get $20 after you've placed an order)

Digital Ocea referral link ($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:

#!/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 , tutorials , wallpaper