Informationen auf dem Desktop

Wie im letzten Blog Post zu lesen, habe ich mal wieder etwas für die Shell gescriptet. Als ich gerade etwas aufgeräumt habe, ist mit mein Desktop in Auge gefallen und denke das dies einen Post gewidmet werden kann.
Ich denke das Programm GeekTool oder NerdTool kennt ihr. Die Kernfunktionalität sind Shellscripte, Bilder oder andere Dateien als Teil des Bildschirmhintergrundes integrieren.

Hier ein paar Beispiele (nicht alles selbst gescriptet):

System usage

top -l 1| awk '/CPU usage/ {print "CPU: " $8, $9, $10, $11, $12, $13}'
top -l 1 | awk '/PhysMem/ {print "RAM: used: " $8 " free: " $10}'
uptime | awk '{sub(":", "h ", $3); sub(",", "min", $3); print "Time since last system boot: " $3}'

System (refresh 480s)

system_profiler SPHardwareDataType SPSoftwareDataType | perl -e '@info= ; $info= join("", @info);if($info=~m@[rn]+s*Computer Name:s*([^rn]+)[rn]+@) {print "$1n";}if($info=~m@[rn]+s*System Version:s*([^rn]+)[rn]+@) {print "$1n";}if($info=~m@[rn]+s*Memory:s*([^rn]+)[rn]+@) {print "$1n";}if($info=~m@[rn]+s*Total Number Of Cores:s*([^rn]+)[rn]+@) {print "$1 x ";}if($info=~m@[rn]+s*Processor Speed:s*([^rn]+)[rn]+@) {print "$1 ";}if($info=~m@[rn]+s*Processor Name:s*([^rn]+)[rn]+@) {print "$1n";}'

Network (refresh 60s)

#! /bin/bash
myen0=`ifconfig en0 | grep "inet " | grep -v 127.0.0.1 | awk '{print $2}'`
if [ "$myen0" != "" ]
then
    echo "Ethernet : $myen0"
else
    echo "Ethernet : INACTIVE"
fi
myen1=`ifconfig en1 | grep "inet " | grep -v 127.0.0.1 | awk '{print $2}'`
if [ "myen1" != "" ]
then
    echo "AirPort  : $myen1"
else
    echo "Airport  : INACTIVE"
fi
echo External : `curl -s http://checkip.dyndns.org/ | sed 's/[a-zA-Z/ :]//g'`

Network traffic

#!/bin/sh
# created by chris helming.
# chris dot helming at gmail
# get the current number of bytes in and bytes out
myvar1=`netstat -ib | grep -e "en1" -m 1 | awk '{print $7}'` #  bytes in
myvar3=`netstat -ib | grep -e "en1" -m 1 | awk '{print $10}'` # bytes out
#wait one second
sleep 1
# get the number of bytes in and out one second later
myvar2=`netstat -ib | grep -e "en1" -m 1 | awk '{print $7}'` # bytes in again
myvar4=`netstat -ib | grep -e "en1" -m 1 | awk '{print $10}'` # bytes out again
# find the difference between bytes in and out during that one second
subin=$(($myvar2 - $myvar1))
subout=$(($myvar4 - $myvar3))
# convert bytes to kilobytes
kbin=`echo "scale=2; $subin/1024;" | bc`
kbout=`echo "scale=2; $subout/1024;" | bc`
# print the results
echo "IN : $kbin Kb/sec"
echo "OUT: $kbout Kb/sec"

Für weitere fertige Scripte kannst du auch einmal eine Suchmaschine deines Vertrauens befragen.
Zusätzlich habe ich noch iStatsMenus installiert. Meines Erachtens ein Tool, welches auch auf dem Mac nicht fehlen sollte.
Alternativen bzw. Programme die in die gleiche Richtung gehen sind MenuMeters, atMonitor und X Resource Graph