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@[\r\n]+\s*Computer Name:\s*([^\r\n]+)[\r\n]+@) {print "$1\n";}if($info=~m@[\r\n]+\s*System Version:\s*([^\r\n]+)[\r\n]+@) {print "$1\n";}if($info=~m@[\r\n]+\s*Memory:\s*([^\r\n]+)[\r\n]+@) {print "$1\n";}if($info=~m@[\r\n]+\s*Total Number Of Cores:\s*([^\r\n]+)[\r\n]+@) {print "$1 x ";}if($info=~m@[\r\n]+\s*Processor Speed:\s*([^\r\n]+)[\r\n]+@) {print "$1 ";}if($info=~m@[\r\n]+\s*Processor Name:\s*([^\r\n]+)[\r\n]+@) {print "$1\n";}'
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