Si ça peut t’inspirer, j’avais commencé à faire une sorte de conky en console. Je l’ai jamais fini - j’ai finalement réussi à trouver les bonnes options de conky pour qu’il supporte le tiling (on peut aussi recompiler conky pour qu’il tourne en console, d’ailleurs) - , on peut donc mieux faire.
[code]#!/bin/sh
cconky : affiche des informations systèmes en console
Usage : percent NUMUSED NUMTOTAL
percent() {
NUM=$(echo “scale=2;(($1/$2)*100)” | bc)
if [ “$(echo $NUM | grep -Eo ‘^.[0-9]+’)” != “” ]; then
NUM=$(echo “$NUM” | grep -Eo ‘^[0-9]+’)
else
NUM=0
fi
}
Usage : percentbar NUM
percentbar() {
echo -n "|"
i=1 ; j=1
while [ “$i” -le “$1” ]; do
echo -n "#"
i=$(($i+1))
done
while [ “$j” -le “$((100-$1))” ]; do
echo -n "-"
j=$(($j+1))
done
echo “|”
}
echo "$(uname -s) $(uname -r) on $(uname -m)"
echo
CPU=$(uptime | grep -Eo ‘load average:\ [0-9].[0-9]{2}’| grep -Eo ‘[0-9]{2}’)
[ “$CPU” -lt “10” ] && CPU=$(echo $CPU | grep -o ‘[0-9]$’)
echo -n "CPU Usage : ${CPU}% "
percentbar $CPU
RAMTOTAL=$(cat /proc/meminfo | grep ‘MemTotal’ | grep -o ‘[0-9]’)
RAMFREE=$(cat /proc/meminfo | grep ‘MemFree’ | grep -o '[0-9]’)
RAMUSED=$(($RAMTOTAL-$RAMFREE))
percent $RAMUSED $RAMTOTAL ; RAM=$NUM
echo -n "RAM Usage : ${RAM}% "
percentbar $RAM
SWAPTOTAL=$(expand /proc/swaps | grep -Eo ‘[0-9]+\ [0-9]+’ | grep -Eo ‘^[0-9]+’)
SWAPUSED=$(expand /proc/swaps | grep -Eo ‘[0-9]+\ [0-9]+’ | grep -Eo ‘[0-9]+$’)
percent $SWAPUSED $SWAPTOTAL ; SWAP=$NUM
echo -n "SWAP Usage : ${SWAP}% "
percentbar $SWAP
echo
for mountpoint in hda2 /home /mnt/win /mnt/gentoo /mnt/slack /media/cdrom0 /media/cdrom1 /media/usb0 ; do
DISK=$(df | grep $mountpoint | grep -Eo [0-9]+% | grep -Eo [0-9]+)
if [ “$DISK” != “” ]; then
if [ “$mountpoint” = “hda2” ]; then
echo -n "/ : ${DISK}% "
else
echo -n "$mountpoint : ${DISK}% "
fi
percentbar $DISK
fi
done
echo
IPLOCAL=$(/sbin/ifconfig wlan0 | grep -Eo ‘inet adr:([0-9]+.){3}[0-9]+’ | grep -Eo ‘([0-9]+.){3}[0-9]+’)
IPPUBLIC=$(dig mondomaine.tld | grep mondomaine.tld | grep -Eo ‘([0-9]+.){3}[0-9]+’)
NETMASK=$(/sbin/ifconfig wlan0 | grep -Eo ‘Masque:([0-9]+.){3}[0-9]+’ | grep -Eo ‘([0-9]+.){3}[0-9]+’)
echo “IP | public : $IPPUBLIC | local : $IPLOCAL | netmask : $NETMASK”
ESSID=$(/sbin/iwconfig wlan0 | grep -Eo ‘ESSID:"[A-Za-z]+"’ | grep -Eo ‘"[A-Za-z]+"’ | grep -Eo ‘[A-Za-z]+’)
ACCESSPOINT=$(/sbin/iwconfig wlan0 | grep -Eo ‘([0-9A-F]{2}:){5}[0-9A-F]{2}’)
echo “WIFI | essid : $ESSID | access point : $ACCESSPOINT”
if [ “$(mpc | grep ‘playing’)” != “” ]; then
echo "MPD : Playing : $(mpc | grep -v ‘playing’ | grep -v ‘volume’)"
MPDRATIO=$(mpc | grep ‘playing’ | grep -Eo ‘[0-9]+:[0-9]+/[0-9]+:[0-9]+’)
MPDUSED=$(echo $MPDRATIO | grep -Eo ‘[0-9]+:[0-9]+/’ | grep -Eo ‘[0-9]+:[0-9]+’ | sed -e ‘s/:/./’)
MPDTOTAL=$(echo $MPDRATIO | grep -Eo ‘/[0-9]+:[0-9]+’ | grep -Eo ‘[0-9]+:[0-9]+’ | sed -e ‘s/:/./’)
percent $MPDUSED $MPDTOTAL ; MPD=$NUM
percentbar $MPD
else
echo "MPD : Not playing…"
fi
read[/code]