Custom Raspberry Pi Console Login Message

The Raspberry Pi tweaking continues. I did a fresh install of my first project to make sure that I documented all the steps correctly. To make sure I didn't loose any work I created a backup of the SD card.

The documentation was relatively complete. I did miss some things I added to the Pi, but forgot to document. One of these was a nicer welcome screen when you log in to the Pi via console or SSH.

I added the following to the /etc/bash.bashrc file for all users, or just in the ~/.bash_profile file (at the end):

let upSeconds="$(/usr/bin/cut -d. -f1 /proc/uptime)"
let secs=$((${upSeconds}%60))
let mins=$((${upSeconds}/60%60))
let hours=$((${upSeconds}/3600%24))
let days=$((${upSeconds}/86400))
UPTIME=`printf "%d days, %02dh%02dm%02ds" "$days" "$hours" "$mins" "$secs"`

# get the load averages
read one five fifteen rest < /proc/loadavg

echo "$(tput setaf 2)
   .~~.   .~~.    `date +"%A, %e %B %Y, %r"`
  '. \ ' ' / .'   `uname -srmo`$(tput setaf 1)
   .~ .~~~..~.   
  : .~.'~'.~. :   Uptime.............: ${UPTIME}
 ~ (   ) (   ) ~  Memory.............: `cat /proc/meminfo | grep MemFree | awk {'print $2'}`kB (Free) / `cat /proc/meminfo | grep MemTotal | awk {'print $2'}`kB (Total)
( : '~'.~.'~' : ) Load Averages......: ${one}, ${five}, ${fifteen} (1, 5, 15 min)
 ~ .~ (   ) ~. ~  Running Processes..: `ps ax | wc -l | tr -d " "`
  (  : '~' :  )   Local IP Addresses.: `hostname -I`
   '~ .~~~. ~'    WAN IP Address.....: `wget -q -O - http://icanhazip.com/ | tail`
       '~'        Weather............: `curl -s "http://rss.accuweather.com/rss/liveweather_rss.asp?metric=1&locCode=EUR|NL|NL001|UTRECHT|" | sed -n '/Currently:/ s/.*: \(.*\): \([0-9]*\)\([CF]\).*/\2°\3, \1/p'`
$(tput sgr0)"

The result is this:

I got the 'original' script form the Raspberry Pi forum, and I altered the IP Address section and the weather forecast.

Posted on June 22, 2015 and filed under Tips'n Tricks, Raspberry Pi.