All pastes #437280 Raw Edit

Someone

public text v1 · immutable
·published 2007-04-12 23:21 UTC
rendered paste body
# Build Your Own Monitor
# Author: Edward (Ede) Somorjai
# Created: 2007-02-25
# Licence: GPL

#!Adjust the karamba height to fit Your Monitors height when finished!
#---------------------------------------------------------------------
#Monitor backgrounds:
#back_topa.png - The top part of the monitor
#back_bottoma.png - The bottom part
#back_40a.png - The 40pixel height background for graphs, double sensors
#back_20a.png - The 20pixel height background for bars
#back_10a.png - The 10pixel height background for text
#---------------------------------------------------------------------
#!Replace all "a.png" with "b.png", "c.png" or "d.png" to get other background set!
#!Replace all "barX.png" to "barY.png" to get another sensor bar!



karamba x=1000 y=240 w=240 h=1000 interval=1000 locked=false
#!Uncomment for light theme: (black text color)!
#defaultfont font="Sans" fontsize=9 color=0,0,0 shadow=1 bgcolor=180,180,180
!Uncomment for dark theme: (white text color)!
defaultfont font="Sans" fontsize=9 color=205,205,205 shadow=1 bgcolor=80,80,80
#!Uncomment for an alternate: (grey text color)!
#defaultfont font="Sans" fontsize=9 color=45,45,45 shadow=1 bgcolor=120,120,120



#The theme top. It contains system information
image x=0 y=0 path="img/back_topb.png"
<group> x=60 y=16
	text x=5 y=5 sensor=program program="echo ${USER}@`hostname`" fontsize=14 interval=600000
	text x=4 y=22 value="Kernel:"
	text x=156 y=22 sensor=program program="uname -r" align="right" interval=600000
	text x=4 y=32 value="Machine:"
	text x=156 y=32 sensor=program program="uname -m" align="right" interval=600000
	text x=119 y=32 sensor=program program="cat /proc/cpuinfo | grep 'vendor_id' | sed -e 's/.*: //'" align="right" interval=600000
	text x=4 y=42 value="KDE / Qt:" interval=600000
	text x=126 y=42 sensor=program program="kde-config --version | grep KDE | sed -e 's/.*: //'"  align="right" interval=600000
	text x=126 y=42 value="/"
	text x=156 y=42 sensor=program program="kde-config --version | grep Qt | sed -e 's/.*: //'"  align="right" interval=600000
	text x=4 y=52 value="Uptime:"
	text x=156 y=52 sensor=uptime format="%dDay   %Hh:%Mm"  align="right" interval=600000
#	text x=4 y=62 value="Date / Time:"
#	text x=156 y=62 sensor=time format="ddd dd.MM.yyyy  /  hh:mm:ss"  align="right" interval=600000
</group>



#CPU load graph, below the TOP process:
<group> x=0 y=80
    image x=0 y=0 path="img/back_40b.png"
    #CPU load graph
	image x=63 y=1 path="img/backgrix.png"
	graph x=63 y=0 w=149 h=30 points=75 color=0,0,255 sensor=cpu max=100
    #Top process - two methods to chose, the second is faster
#	text x=63 y=30 value="TOP"
#	text x=93 y=30 sensor=program program="top -bid0n1 | grep 'COMMAND' -A1 | awk '{print $9$12}'" interval=1000
	text x=63 y=30 value="Top:"
	text x=205 y=30 sensor=program program="ps axo comm,user,pcpu --sort pcpu | tail -n1 | awk '{print $1,$3}'" align="right" interval=1000
	text x=201 y=30 value="%"
</group>



#CPU speed bar
<group> x=0 y=120
    image x=0 y=0 path="img/back_20b.png"
	#CPU speed bar
	image x=63 y=2 path="img/backsens.png"
	bar x=63 y=2 w=150 h=15 vertical=false sensor=cpu path="img/bar6.png" max=100
	text x=63 y=4 value="CPU"
	text x=213 y=4 sensor=cpu format="%v %" align="right"
</group>



#CPU speed MHz
<group> x=0 y=140
    image x=0 y=0 path="img/back_20b.png"
	#Speed MHz
	image x=63 y=2 path="img/backsens.png"
	bar x=63 y=2 w=150 h=15 vertical=false path="img/bar6.png" sensor=program program="cat /proc/cpuinfo | grep 'cpu MHz' | sed -e 's/.*: //'| sed -e 's/\....//'" max=2700 interval=1000
	text x=63 y=4 value="CPU Speed"
	text x=213 y=4 sensor=program program="cat /proc/cpuinfo | grep 'cpu MHz' | sed -e 's/.*: //'| sed -e 's/\..../ MHz/'" align=right interval=1000
</group>



#CPU temp graph example
#	text x=10 y=16 font="Bitstream Vera Sans"  fontsize=14 color=120,0,0 sensor=program program="cat /proc/acpi/thermal_zone/THRM/temperature | awk '{print $2}'" interval=10000
#	graph x=3 y=0 w=149 h=30 points=75 color=140,0,0 sensor=sensor type="temp3" max=100 interval=1000
#	text x=10 y=16 font="Bitstream Vera Sans"  fontsize=14 color=120,0,0 sensor=program program="acpi -t | grep degrees | awk '{print $4}'" interval=10000
#	text x=10 y=16 font="Bitstream Vera Sans"  fontsize=14 color=120,0,0 sensor=sensor type="CPU Temp" interval=10000
#	text x=39 y=16 font="Bitstream Vera Sans"  fontsize=14 color=120,0,0 value="°C" interval=600000



#Sensor GPU temp for NVIDIA
#!Needs nvidia driver!
<group> x=0 y=160
    image x=0 y=0 path="img/back_20b.png"
	#GPU Temp
	image x=63 y=2 path="img/backsens.png"
	bar x=63 y=2 w=150 h=15 vertical=false sensor=program program="nvidia-settings -q gpucoretemp | grep '):' | awk '{print $4 0}'" path="img/bar6.png" max=70 interval=10000
	text x=63 y=4 value="GPU Temp"
	text x=213 y=4 value="°C" align="right"
	text x=197 y=4 sensor=program program="nvidia-settings -q gpucoretemp | grep '):' | awk '{print $4 0}'" align="right" interval=10000
</group>



#CPU temperature
#!Needs lm_sensors installed!
#!Replace "CPU Temp" if different! (execute "sensors" command and check your CPU sensor name)
<group> x=0 y=180
    image x=0 y=0 path="img/back_20b.png"
	#CPU Temp
	image x=63 y=2 path="img/backsens.png"
	bar x=63 y=2 w=150 h=15 vertical=false sensor=sensor type="CPU Temp" path="img/bar6.png" max=70 interval=10000
	text x=63 y=4 value="CPU Temp"
	text x=213 y=4 value="°C" align="right"
	text x=197 y=4 sensor=sensor type="CPU Temp" align="right" interval=10000
</group>



#Motherboard temperature (2nd temp sensor, sometimes cooler temperature)
#!Needs lm_sensors installed!
#!Replace "M/B Temp" if different! (execute "sensors" command and check your 2nd sensor name)
<group> x=0 y=200
    image x=0 y=0 path="img/back_20b.png"
	#M/B Temp
	image x=63 y=2 path="img/backsens.png"
	bar x=63 y=2 w=150 h=15 vertical=false sensor=sensor type="M/B Temp" path="img/bar6.png" max=60 interval=10000
	text x=63 y=4 value="M/B Temp"
	text x=213 y=4 value="°C" align="right"
	text x=197 y=4 sensor=sensor type="M/B Temp" align="right" interval=10000
</group>



#3rd temperature (3nd temp sensor, sometimes motherboard temperature
#!Needs lm_sensors installed!
#!Look for lm_sensors package for Your distro
#!Replace "temp3" if different! (execute "sensors" command and check your 3rd sensor name)
<group> x=0 y=220
    image x=0 y=0 path="img/back_20b.png"
	#AIR Temp
	image x=63 y=2 path="img/backsens.png"
	bar x=63 y=2 w=150 h=15 vertical=false sensor=sensor type="temp3" path="img/bar6.png" max=60 interval=10000
	text x=63 y=4 value="AIR Temp"
	text x=213 y=4 value="°C" align="right"
	text x=197 y=4 sensor=sensor type="temp3" align="right" interval=10000
</group>



#HDD temperatures
#!There are two methods to get the temperatures.
#!EXAMPLES:

#!1st method - faster
#!Needs hddtemp installed and the service running!
#!Look for hddtemp package for Your distro
#!Change the "awk '{print $4}'" to $9 for hdd2, $14 for hdd3 etc
#	#HD1 Temp from hddtemp
#	bar x=63 y=2 w=150 h=15 vertical=false sensor=program program="nc localhost 7634 | sed 's/|/ /g' | awk '{print $4}'" path="img/bar6.png" max=70 interval=10000
#	text x=197 y=4 sensor=program program="nc localhost 7634 | sed 's/|/ /g' | awk '{print $4}'" align="right" interval=10000

#!2nd method - slower
#!Needs smartmontools installed - also needed for displaying the hard disk SMART (Health) information
#!Look for smartmontools package for Your distro
#!Change /dev/sda to Your harddisk
#	#HD1 Temp from smartctl
#	bar x=63 y=2 w=150 h=15 vertical=false sensor=program program="sudo smartctl -d ata -A /dev/sda | grep Temperature | awk '{print $10}'" path="img/bar6.png" max=70 interval=10000




#First HDD temperature
<group> x=0 y=240
    image x=0 y=0 path="img/back_20b.png"
	#HD1 Temp
	image x=63 y=2 path="img/backsens.png"
	bar x=63 y=2 w=150 h=15 vertical=false sensor=program program="nc localhost 7634 | sed 's/|/ /g' | awk '{print $4}'" path="img/bar6.png" max=70 interval=10000
	text x=63 y=4 value="HD1 Temp"
	text x=213 y=4 value="°C" align="right"
	text x=197 y=4 sensor=program program="nc localhost 7634 | sed 's/|/ /g' | awk '{print $4}'" align="right" interval=10000
</group>



#Second HDD temperature
<group> x=0 y=260
    image x=0 y=0 path="img/back_20b.png"
	#HD2 Temp
	image x=63 y=2 path="img/backsens.png"
	bar x=63 y=2 w=150 h=15 vertical=false sensor=program program="nc localhost 7634 | sed 's/|/ /g' | awk '{print $9}'" path="img/bar6.png" max=70 interval=10000
	text x=63 y=4 value="HD2 Temp"
	text x=213 y=4 value="°C" align="right"
	text x=197 y=4 sensor=program program="nc localhost 7634 | sed 's/|/ /g' | awk '{print $9}'" align="right" interval=10000
</group>



########END OF TEMPERATURES
########FANS SECTION



#CPU Fan sensor
#!Needs lm_sensors installed!
<group> x=0 y=280
    image x=0 y=0 path="img/back_20b.png"
	#CPU Fan
	image x=63 y=2 path="img/backsens.png"
	bar x=63 y=2 w=150 h=15 vertical=false sensor=sensor type="CPU Fan" path="img/bar6.png" max=5000 interval=10000
	text x=63 y=4 value="CPU Fan"
	text x=213 y=4 value="RPM" align="right"
	text x=193 y=4 sensor=sensor type="CPU Fan" align="right" interval=10000
</group>



#CPU Fan sensor
#!Needs lm_sensors installed!
<group> x=0 y=300
    image x=0 y=0 path="img/back_20b.png"
	#SYS Fan
	image x=63 y=2 path="img/backsens.png"
	bar x=63 y=2 w=150 h=15 vertical=false sensor=sensor type="CPU Fan" path="img/bar6.png" max=5000 interval=10000
	text x=63 y=4 value="SYS Fan"
	text x=213 y=4 value="RPM" align="right"
	text x=193 y=4 sensor=sensor type="CPU Fan" align="right" interval=10000
</group>



########END OF FANS SECTION
########MEMORY



#Memory bar, shows the RAM usage
<group> x=0 y=320
    image x=0 y=0 path="img/back_20b.png"
	# RAM
	image x=63 y=2 path="img/backsens.png"
	bar x=63 y=2 w=150 h=15 vertical=false sensor=memory format="%um" path="img/bar6.png" min=0 interval=5000
	text x=63 y=4 value="RAM"
	text x=213 y=4 sensor=memory format="%um / %tm MB" align="right" interval=5000
</group>



#Swap bar, shows the swap usage
<group> x=0 y=340
    image x=0 y=0 path="img/back_20b.png"
	# Swap space
	image x=63 y=2 path="img/backsens.png"
	bar x=63 y=2 w=150 h=15 vertical=false sensor=memory format="%us" path="img/bar6.png" min=0 interval=5000
	text x=63 y=4 value="Swap"
	text x=213 y=4 sensor=memory format="%us / %ts MB" align="right" interval=5000
</group>



########END OF MEMORY
########DISK STATUS



#Disk usage bar
#!Replace MD0 with your root hard disk partition (hda1, hdb2, sda3, etc)
<group> x=0 y=360
    image x=0 y=0 path="img/back_20b.png"
	# / - MD0
	image x=63 y=2 path="img/backsens.png"
	bar x=63 y=2 w=150 h=15 vertical=false sensor=disk mountpoint="/" format="%u" path="img/bar6.png" min=0 interval=600000
	text x=63 y=4 value="MD0"
	text x=213 y=4 sensor=disk mountpoint="/" format="%u / %t MB" align="right" interval=600000
</group>



#Disk usage bar
#!Replace SDA6 with your any hard disk partition (hda1, hdb2, sda3, etc)
<group> x=0 y=380
    image x=0 y=0 path="img/back_20b.png"
	# / - SDA6
	image x=63 y=2 path="img/backsens.png"
	bar x=63 y=2 w=150 h=15 vertical=false sensor=disk mountpoint="/media/sda6" format="%u" path="img/bar6.png" min=0 interval=600000
	text x=63 y=4 value="sda6"
	text x=213 y=4 sensor=disk mountpoint="/media/sda6" format="%u / %t MB" align="right" interval=600000
</group>



#Disk usage bar
#!Replace SDB6 with your any hard disk partition (hda1, hdb2, sda3, etc)
<group> x=0 y=400
    image x=0 y=0 path="img/back_20b.png"
	# / - SDB6
	image x=63 y=2 path="img/backsens.png"
	bar x=63 y=2 w=150 h=15 vertical=false sensor=disk mountpoint="/media/sdb6" format="%u" path="img/bar6.png" min=0 interval=600000
	text x=63 y=4 value="sdb6"
	text x=213 y=4 sensor=disk mountpoint="/media/sdb6" format="%u / %t MB" align="right" interval=600000
</group>



#Disk usage bar
#!Replace SDB7 with your any hard disk partition (hda1, hdb2, sda3, etc)
<group> x=0 y=420
    image x=0 y=0 path="img/back_20b.png"
	# / - SDB7
	image x=63 y=2 path="img/backsens.png"
	bar x=63 y=2 w=150 h=15 vertical=false sensor=disk mountpoint="/media/sdb7" format="%u" path="img/bar6.png" min=0 interval=600000
	text x=63 y=4 value="sdb7"
	text x=213 y=4 sensor=disk mountpoint="/media/sdb7" format="%u / %t MB" align="right" interval=600000
</group>



#Network graph with ip address
#!Replace eth1 with Your network device
<group> x=0 y=440
    image x=0 y=0 path="img/back_40b.png"
	# Network up/down graph
	image x=63 y=1 path="img/backgrix.png"
	graph x=63 y=0 w=149 h=30 points=75 color=255,0,0 sensor=network device="eth1" format="%out" max=64
	graph x=63 y=0 w=149 h=30 points=75 color=0,0,255 sensor=network device="eth1" format="%in" max=64
	text x=70 y=5 sensor=network device="eth1" format="%out kB/s ul" color=255,0,0
	text x=70 y=15 sensor=network device="eth1" format="%in kB/s dl" color=0,0,255
	text x=63 y=30 value="Network"
	text x=213 y=30 sensor=program program="IPADDR=`ip addr show eth1`; if [ 0 -eq `echo $IPADDR | grep -c UP` ] ; then echo down ; elif [ 0 -eq `echo $IPADDR | grep -c 'inet '` ] ; then echo up, no IP ; else echo $IPADDR | sed -e 's/.*inet //;s/ .*$//' ; fi" align="right" interval=60000
</group>



#WLAN up/down graph
#!Replace wlan0 with Your network device
#<group> x=0 y=480
#    image x=0 y=0 path="img/back_40b.png"
#	# Wlan up/down graph
#	image x=63 y=1 path="img/backgrix.png"
#	graph x=63 y=0 w=149 h=30 points=75 color=255,0,0 sensor=network device="wlan0" format="%out" max=64
#	graph x=63 y=0 w=149 h=30 points=75 color=0,0,255 sensor=network device="wlan0" format="%in" max=64
#	text x=70 y=5 sensor=network device="wlan0" format="%out kB/s ul" color=255,0,0
#	text x=70 y=15 sensor=network device="wlan0" format="%in kB/s dl" color=0,0,255
#	text x=63 y=30 value="WLAN"
#	text x=213 y=30 sensor=program program="IPADDR=`ip addr show wlan0`; if [ 0 -eq `echo $IPADDR | grep -c UP` ] ; then echo down ; elif [ 0 -eq `echo $IPADDR | grep -c 'inet '` ] ; then echo up, no IP ; else echo $IPADDR | sed -e 's/.*inet //;s/ .*$//' ; fi" align="right" interval=5000
#</group>



#WLAN signal level graph
#<group> x=0 y=480
#    image x=0 y=0 path="img/back_40b.png"
#	# Wlan signal level
#	image x=63 y=1 path="img/backgrix.png"
#	text x=63 y=30 value="Wireless signal"
#	text x=213 y=0 sensor=program program="cat /proc/net/wireless | grep 'wlan0:' | awk '{print $4}'" align="right" interval=1000
#	graph x=63 y=0 w=149 h=30 points=75 color=100,100,100 sensor=program program="cat /proc/net/wireless | grep 'wlan' | awk '{print $4}'" max=250 interval=1000
#</group>



#Gateway (Its a ten pixel height text bar)
<group> x=0 y=480
    image x=0 y=0 path="img/back_10b.png"
	# Routing
	text x=63 y=0 value="Gateway"
	text x=213 y=0 sensor=program program="ip -f inet route list | grep default | sed 's/.*via //;s/ dev.*//'" align="right" interval=15000
</group>

########Hard disk smart status requires smartmontools package installed
########To run as user, smartctl requires the following inserted into /etc/sudoers file
########your_user_name ALL=NOPASSWD:/usr/sbin/smartctl
########Health status: smartctl -d ata -H -T conservative /dev/sda | grep result: | awk '{print $6}'
########Temperature:   smartctl -d ata -A /dev/sda | grep Temperature | awk '{print $10}'

#Smart Disk Status (Its a ten pixel height text bar)
<group> x=0 y=490
    image x=0 y=0 path="img/back_10b.png"
	text x=63 y=0 value="SMART Status SDA:"
	text x=213 y=0 sensor=program program="sudo smartctl -d ata -H -T conservative /dev/sda | grep result: | awk '{print $6}'" align="right" interval=3600000
</group>

#Smart Disk Status (Its a ten pixel height text bar)
<group> x=0 y=500
    image x=0 y=0 path="img/back_10b.png"
	text x=63 y=0 value="SMART Status SDB:"
	text x=213 y=0 sensor=program program="sudo smartctl -d ata -H -T conservative /dev/sdb | grep result: | awk '{print $6}'" align="right" interval=3600000
</group>

##Smart Disk Status (Its a ten pixel height text bar)
#<group> x=0 y=510
#    image x=0 y=0 path="img/back_10b.png"
#	text x=63 y=0 value="SMART Status HDD:"
#	text x=213 y=0 sensor=program program="sudo smartctl -d ata -H -T conservative /dev/hdd | grep result: | awk '{print $6}'" align="right" interval=3600000
#</group>

#THE THEME BOTTOM GRAPHICS WITH THE LOGGED IN USERS
<group> x=0 y=510
    image x=0 y=0 path="img/back_bottomb.png"
	#Users logged in
        text x=63 y=0 value="Users logged in:"
	text x=63 y=10 sensor=program program="users" interval=10000
</group>



#THE LEFT SIDE ICONS
#!Change it to fit Your theme!
<group> x=13 y=10
	# Graphics
	image x=9 y=12 path="img/case1.png"
	image x=8 y=70 path="img/cpu2.png"
	image x=5 y=104 path="img/cpu.png"
        image x=13 y=150 path="img/temp3.png"
        image x=15 y=196 path="img/temp.png"
        image x=7 y=226 path="img/disks2.png"
	image x=10 y=272 path="img/fan2.png"
	image x=8 y=309 path="img/memory5.png"
	image x=7 y=346 path="img/disks2.png"
	image x=7 y=386 path="img/disks2.png"
	image x=2 y=418 path="img/network2.png"
#	image x=2 y=360 path="img/network2.png"
#	image x=16 y=416 path="img/network.png"
	image x=13 y=468 path="img/gateway2.png"
</group>