From 17502d56ac76f424ee57d02c02b96fe2fb35e52a Mon Sep 17 00:00:00 2001 From: digital-freak Date: Thu, 7 May 2015 23:42:35 +0500 Subject: [PATCH] Initial GitHub commit --- README.md | 42 +++++++++++++++++++++++++ conky-hw-monitor.png | Bin 0 -> 24920 bytes drivedb.h | 12 ++++++++ hdd.rc | 47 ++++++++++++++++++++++++++++ hdd.sh | 69 ++++++++++++++++++++++++++++++++++++++++++ hwmon.sh | 27 +++++++++++++++++ system.lua | 8 +++++ system.rc | 65 +++++++++++++++++++++++++++++++++++++++ system.sh | 55 +++++++++++++++++++++++++++++++++ templates/system.tmpl | 62 +++++++++++++++++++++++++++++++++++++ 10 files changed, 387 insertions(+) create mode 100644 README.md create mode 100644 conky-hw-monitor.png create mode 100644 drivedb.h create mode 100644 hdd.rc create mode 100755 hdd.sh create mode 100755 hwmon.sh create mode 100644 system.lua create mode 100644 system.rc create mode 100755 system.sh create mode 100644 templates/system.tmpl diff --git a/README.md b/README.md new file mode 100644 index 0000000..db1354d --- /dev/null +++ b/README.md @@ -0,0 +1,42 @@ +conky-hw-monitor +================ + + +Conky configs and scripts for FreeBSD desktop that monitors the CPU & RAM +usage and CPU temperature. Also monitors of all connected storages (i.e. +HDD, SSD drives and USB-dongles) with all mounted filesistems. For HDD +drives shows the current temperature (in Celsius). + +Requirements +------------ + +* `sysutils/smartmontools` - for HDD +* `coretemp.ko / amdtemp.ko` - for the on-die digital thermal sensor +* `devel/lua-sysctl` - for reading dev.cpu.X.temperature sysctl's + +Usage +----- + +First of all, install the `sysutils/smartmontools` and `devel/lua-sysctl`. +For `devel/lua-sysctl` remove the patch from the port, because this patch +for using with Lua 5.2 and Conky won't work correctly. + +Load the corresponding kernel module for your CPU: + +`kldload coretemp` - for Intel Core CPU's +`kldload amdtemp` - for AMD CPU's + +Add it to the loader.conf file: + + echo "coretemp_load=YES" >> /boot/loader.conf + +or + + echo "amdtemp_load=YES" >> /boot/loader.conf + +Get the project files to your computer: + + git clone https://github.com/digital-freak/conky-hw-monitor.git + +And run the `hwmon.sh` sctipt + diff --git a/conky-hw-monitor.png b/conky-hw-monitor.png new file mode 100644 index 0000000000000000000000000000000000000000..b89de86a4d068458d723a7cec6d34144cde0cd9a GIT binary patch literal 24920 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 TLePu8J%GIQTd888(Z~M*DmWNz literal 0 HcmV?d00001 diff --git a/drivedb.h b/drivedb.h new file mode 100644 index 0000000..1e33b39 --- /dev/null +++ b/drivedb.h @@ -0,0 +1,12 @@ +/* + * drivedb.h - smartmontools drive database file + * + */ + + { "USB: Samsung M2 Portable; ", + "0x04e8:0x60b3", + "", + "", + "-d usbjmicron" + }, + diff --git a/hdd.rc b/hdd.rc new file mode 100644 index 0000000..70bcd86 --- /dev/null +++ b/hdd.rc @@ -0,0 +1,47 @@ +background no + +cpu_avg_samples 2 +net_avg_samples 2 +diskio_avg_samples 2 +double_buffer yes +no_buffers yes +text_buffer_size 4096 +total_run_times 0 +update_interval 1.0 + +alignment tr +gap_x 212 +gap_y 10 +border_inner_margin 0 +border_outer_margin 0 +border_width 0 + +maximum_width 172 +minimum_size 172 12 + +own_window yes +own_window_class conky_hdd_monitor +own_window_hints undecorated,below,sticky,skip_taskbar,skip_pager +own_window_argb_visual yes +own_window_transparent yes +own_window_type normal + +default_color E1E7CD +default_outline_color 281C06 +default_shade_color 281C06 +default_bar_size 172 4 + +draw_borders no +draw_graph_borders yes +draw_outline no +draw_shades no + +override_utf8_locale yes +use_xft yes +xftalpha 0.8 +xftfont DejaVu Sans:size=8 + +short_units yes +TEXT +${execpi 4 ./hdd.sh} + diff --git a/hdd.sh b/hdd.sh new file mode 100755 index 0000000..6f6f42e --- /dev/null +++ b/hdd.sh @@ -0,0 +1,69 @@ +#!/bin/sh + +SMARTCMD="smartctl -B +./drivedb.h" + +get_attached_devices() { +# DEVS="`sysctl kern.disks | awk '{$1=""; ;print $0}' | awk 'gsub(" ", "\n")' | grep -v ^$ | sed '/^cd[0-9]/d' | sort`" + DEVS="`sysctl -n kern.disks | tr ' ' '\n' | sed '/^cd[0-9]*/d' | sort`" + echo ${DEVS} +} + +get_device_model() { + DEVICE_MODEL="`${SMARTCMD} -i /dev/${1} | grep "Device Model" | awk -F\: '{print $2}' | sed 's/^[ \t]*//'`" + echo ${DEVICE_MODEL} +} + +get_device_capacity() { + DEVICE_CAPACITY="`${SMARTCMD} -i /dev/${1} | grep "User Capacity" | awk -F\[ '{print $2}' | sed 's/]//'`" + echo ${DEVICE_CAPACITY} +} + +get_device_temperature() { + DEVICE_TEMP="`${SMARTCMD} -A -f brief /dev/${1} | grep "Temperature_Celsius" | awk '{print $8}'`" + echo ${DEVICE_TEMP} +} + +get_device_partitions() { + PARTITIONS="`mount | grep /dev/${1} | grep -v none | awk '{print $1}' | sed 's/\/dev\///' | sort`" + echo "${PARTITIONS}" +} + +get_mount_point() { + MOUNT_POINT="`mount | grep /dev/${1} | awk '{print $3}'`" + echo ${MOUNT_POINT} +} + +for DEV in `get_attached_devices`; do + MODEL="`get_device_model ${DEV}`" + TEMP="`get_device_temperature ${DEV}`" + CAPACITY="`get_device_capacity ${DEV}`" + + if [ "${TEMP}" != "" ]; then + TEMP="[ ${TEMP} ℃ ]" + fi + +#BEB9A5 + printf "\${color 2A403D}\${font Poky:size=16}y\${font}\${color} \${color B53C27}\${hr}\${color}\n" + printf "\${voffset -20}\${alignr}${MODEL} \n\n" + printf "\${voffset -7} ${DEV} (${CAPACITY})\${alignr}${TEMP} \n" + printf "\${voffset -4}\${color B53C27}\${stippled_hr}\${color}\n" + + for PARTITION in `get_device_partitions ${DEV}`; do + MP="`get_mount_point ${PARTITION}`" + + if [ "${MP}" != "" ]; then + printf "\${goto 30}${MP}\${alignr}${PARTITION} \n" + printf "\${voffset -3}\${goto 30}\${fs_bar 3,140 ${MP}}\n" + printf "\${voffset -3}\${goto 30}\${alignr}\${fs_free ${MP}} / \${fs_size ${MP}} \n" + printf "\${voffset -4}\${goto 30}\${color 7F8484}\${stippled_hr}\${color}\n" + fi + done +done +#printf "\n" + +# ${font Poky:size=16}y${font} ${color B53C27}${stippled_hr}${color} +# ${voffset -18}${alignr}WDC WD2500AAKS-00F0A0 +# +# ${voffset -4}ada2 (250 GB)${alignr}[ 41 ℃ ] +# ${voffset -4}${color B53C27}${hr}${color} + diff --git a/hwmon.sh b/hwmon.sh new file mode 100755 index 0000000..7866058 --- /dev/null +++ b/hwmon.sh @@ -0,0 +1,27 @@ +#!/bin/sh + +############################################################################## +# Get the real directory, where is located executable file +case `uname` in +"FreeBSD" ) + if [ $( readlink ${0} ) ]; then + RUNDIR=$( realpath $( dirname $( readlink ${0} ) ) ) + else + RUNDIR=$( realpath $( dirname ${0} ) ) + fi +;; +"Linux" ) + RUNDIR=$( dirname $( readlink -f ${0} ) ) +;; +esac +############################################################################## + +INTERVAL=${1:-20} + +cd ${RUNDIR} + +sleep ${INTERVAL} + +./system.sh +conky -c hdd.rc & +exit 0 diff --git a/system.lua b/system.lua new file mode 100644 index 0000000..533a6bd --- /dev/null +++ b/system.lua @@ -0,0 +1,8 @@ +require ('sysctl') + +function conky_cpu_temperature(core) + temperature = sysctl.IK2celsius(sysctl.get('dev.cpu.' .. core .. '.temperature')) .. ' ℃' + + return (temperature) +end + diff --git a/system.rc b/system.rc new file mode 100644 index 0000000..eed8b0e --- /dev/null +++ b/system.rc @@ -0,0 +1,65 @@ +background no + +cpu_avg_samples 2 +net_avg_samples 2 +diskio_avg_samples 2 +double_buffer yes +no_buffers yes +text_buffer_size 2048 +total_run_times 0 +update_interval 1.0 + +alignment tr +gap_x 20 +gap_y 10 +border_inner_margin 0 +border_outer_margin 0 +border_width 0 + +maximum_width 172 +minimum_size 172 12 + +own_window yes +own_window_class conky_system_monitor +own_window_hints undecorated,below,sticky,skip_taskbar,skip_pager +own_window_argb_visual yes +own_window_transparent yes +own_window_type normal + +default_color E1E7CD +default_outline_color 281C06 +default_shade_color 281C06 +default_bar_size 172 4 + +draw_borders no +draw_graph_borders yes +draw_outline no +draw_shades no + +override_utf8_locale yes +use_xft yes +xftalpha 0.8 +xftfont DejaVu Sans:size=8 + +short_units yes + +lua_load system.lua + +TEXT +${color 2A403D}${font Poky:size=16}P${font} ${color B53C27}${hr}${color} +${voffset -20}${alignr}${offset -3}Intel Core i3 CPU 550 +${voffset 5}${alignr}${offset -3}3.20GHz +${voffset -3}${alignr}${offset -120}${font Open Sans Condensed Light:size=14}${cpu cpu0}%${font} +${voffset -22}${alignr}${offset -3}${cpugraph cpu0 16,110} +${goto 30}${lua cpu_temperature 0}${alignr}${offset -3}${lua cpu_temperature 1} +${voffset -4}${goto 30}${cpubar cpu1 3,60}${alignr}${offset -3}${cpubar cpu2 3,60} +${goto 30}${lua cpu_temperature 2}${alignr}${offset -3}${lua cpu_temperature 3} +${voffset -4}${goto 30}${cpubar cpu3 3,60}${alignr}${offset -3}${cpubar cpu4 3,60} +${voffset -4}${goto 30}${color 7F8484}${stippled_hr}${color} +${color 2A403D}${font Poky:size=16}M${font} ${color B53C27}${hr}${color} +${voffset -20}${alignr}${offset -3}⛂ ${mem} │ ⛀ ${memfree} +${voffset 5}${alignr}${offset -3}⛃ ${memmax} +${goto 30}RAM:${alignr}${offset -15}${memperc}%${offset -172}${alignr}${offset -3}${membar 3,60} + +${goto 30}SWAP:${alignr}${offset -15}${swapperc}%${offset -172}${alignr}${offset -3}${swapbar 3,60} +${voffset -4}${goto 30}${color 7F8484}${stippled_hr}${color} diff --git a/system.sh b/system.sh new file mode 100755 index 0000000..dc74ff7 --- /dev/null +++ b/system.sh @@ -0,0 +1,55 @@ +#!/bin/sh + +CPU_NAME="`sysctl -n hw.model | \ + sed 's/(R)//;s/(TM)//' | \ + sed -E 's/[[:space:]]+/ /g' | \ + awk -F\@ '{print $1}' | \ + sed -E 's/[[:space:]]+$//'`" +CPU_SPEED="`sysctl -n hw.model | \ + sed 's/(R)//;s/(TM)//' | \ + sed -E 's/[[:space:]]+/ /g' | \ + awk -F\@ '{print $2}' | \ + sed -E 's/^[[:space:]]+//'`" +CPU_CORES="`sysctl -n hw.ncpu`" + +CPU_LOAD="" + +if [ ${CPU_CORES} -eq 1 ]; then + CPU_LOAD='${goto 30}[cpu_temp]\ +${voffset -2}${goto 30}${cpubar cpu0 3,140}' +else + N=0 + while [ ${N} != ${CPU_CORES} ]; do + POS=$((${N} % 2)) + + if [ ${POS} -eq 0 ]; then + CORE_TEMP='${goto 30}${lua cpu_temperature '${N}'}' + CORE_LOAD='${voffset -4}${goto 30}${cpubar cpu'$((N+1))' 3,60}' + else + CORE_TEMP=${CORE_TEMP}'${alignr}${offset -3}${lua cpu_temperature '${N}'}' + CORE_LOAD=${CORE_LOAD}'${alignr}${offset -3}${cpubar cpu'$((N+1))' 3,60}' + if [ ${N} -gt 1 ]; then + CPU_LOAD=${CPU_LOAD}'\ +'${CORE_TEMP}'\ +'${CORE_LOAD} + else + CPU_LOAD=${CORE_TEMP}'\ +'${CORE_LOAD} + fi + CORE_TEMP="" + CORE_LOAD="" + fi + + N=$((N + 1)) + done +fi + +rm -f system.rc + +cat templates/system.tmpl | \ + sed -E "s/\[cpu_name\]/${CPU_NAME}/; + s/\[cpu_speed\]/${CPU_SPEED}/; + s/\[cpu_load\]/${CPU_LOAD}/" >> ./system.rc + +conky -c system.rc & +exit 0 diff --git a/templates/system.tmpl b/templates/system.tmpl new file mode 100644 index 0000000..9ea9db0 --- /dev/null +++ b/templates/system.tmpl @@ -0,0 +1,62 @@ +background no + +cpu_avg_samples 2 +net_avg_samples 2 +diskio_avg_samples 2 +double_buffer yes +no_buffers yes +text_buffer_size 2048 +total_run_times 0 +update_interval 1.0 + +alignment tr +gap_x 20 +gap_y 10 +border_inner_margin 0 +border_outer_margin 0 +border_width 0 + +maximum_width 172 +minimum_size 172 12 + +own_window yes +own_window_class conky_system_monitor +own_window_hints undecorated,below,sticky,skip_taskbar,skip_pager +own_window_argb_visual yes +own_window_transparent yes +own_window_type normal + +default_color E1E7CD +default_outline_color 281C06 +default_shade_color 281C06 +default_bar_size 172 4 + +draw_borders no +draw_graph_borders yes +draw_outline no +draw_shades no + +override_utf8_locale yes +use_xft yes +xftalpha 0.8 +xftfont DejaVu Sans:size=8 + +short_units yes + +lua_load system.lua + +TEXT +${color 2A403D}${font Poky:size=16}P${font} ${color B53C27}${hr}${color} +${voffset -20}${alignr}${offset -3}[cpu_name] +${voffset 5}${alignr}${offset -3}[cpu_speed] +${voffset -3}${alignr}${offset -120}${font Open Sans Condensed Light:size=14}${cpu cpu0}%${font} +${voffset -22}${alignr}${offset -3}${cpugraph cpu0 16,110} +[cpu_load] +${voffset -4}${goto 30}${color 7F8484}${stippled_hr}${color} +${color 2A403D}${font Poky:size=16}M${font} ${color B53C27}${hr}${color} +${voffset -20}${alignr}${offset -3}⛂ ${mem} │ ⛀ ${memfree} +${voffset 5}${alignr}${offset -3}⛃ ${memmax} +${goto 30}RAM:${alignr}${offset -15}${memperc}%${offset -172}${alignr}${offset -3}${membar 3,60} + +${goto 30}SWAP:${alignr}${offset -15}${swapperc}%${offset -172}${alignr}${offset -3}${swapbar 3,60} +${voffset -4}${goto 30}${color 7F8484}${stippled_hr}${color}