#!/bin/bash UNDERLINE="\033[4m" RED="\033[1;31m" YELLOW="\033[1;33m" BLUE="\033[1;34m" WHITE="\033[1;37m" RESET="\033[0m" USER=$(whoami) HOSTNAME=$(hostname) OS=$( if [ -f /etc/os-release ]; then PRETTY_NAME=$(grep -E "^PRETTY_NAME=" /etc/os-release | cut -d= -f2 | sed 's/^"//;s/"$//') if [ -n "$PRETTY_NAME" ]; then echo "$PRETTY_NAME" else NAME=$(grep -E "^NAME=" /etc/os-release | cut -d= -f2 | sed 's/^"//;s/"$//') if [ -n "$NAME" ]; then echo "$NAME" else echo "N/A" fi fi else echo "N/A" fi ) KERNEL=$(uname -r) UPTIME=$(awk '{ days = int($1 / 86400); hours = int(($1 % 86400) / 3600); minutes = int(($1 % 3600) / 60); seconds = int($1 % 60); if(days > 0) printf "%dd ", days; if(hours > 0 || days > 0) printf "%dh ", hours; if(minutes > 0 || hours > 0 || days > 0) printf "%dm ", minutes; printf "%ds\n", seconds }' /proc/uptime) RAM_USE=$(awk '/Active:/ {printf "%d MB", $2 / 1024}' /proc/meminfo || echo "N/A") RAM_MAX=$(awk '/MemTotal:/ {printf "%d MB", $2 / 1024}' /proc/meminfo) WM=$(ps -e | grep -E -o '2bwm|9wm|awesome|berry|blackbox|bspwm|cinnamon|compiz|cwm|dk|dwm|echinus|exwm|fluxbox|flwm|frankenwm|gala|herbstluftwm|i3|icewm|jwm|kwin|larswm|leftwm|lwm|marco|metacity|mlvwm|muffin|mutter|notion|openbox|openmotif|pawm|pekwm|qtile|ratpoison|sawfish|sowm|spectrwm|stumpwm|sway|tinywm|twm|ukwm|windowmaker|windwm|wingo|wm2|worm|xfwm4|xmonad|zwm' | { read wm || wm="N/A"; echo "$wm"; }) SERVER=${XDG_SESSION_TYPE:-"tty"} BEE=( " " " ${WHITE}__${YELLOW} " " ${WHITE}// \\\\${YELLOW} " " ${WHITE}\\\\\_/${YELLOW} / " " --(||)(${WHITE}'${YELLOW})" " ''' " " " ) INFO=( "${UNDERLINE}${BLUE}${USER}${RESET}@${UNDERLINE}${BLUE}${HOSTNAME}${RESET}" "${RED}OS:${RESET} ${OS}" "${RED}Kernel:${RESET} ${KERNEL}" "${RED}Uptime:${RESET} ${UPTIME}" "${RED}RAM:${RESET} ${RAM_USE} / ${RAM_MAX}" "${RED}Window Manager:${RESET} ${WM}" "${RED}Server:${RESET} ${SERVER}" ) for i in "${!BEE[@]}"; do printf "%b\t%b\n" "${YELLOW}${BEE[i]}${RESET}" "${INFO[i]}" done