43 lines
1.5 KiB
Bash

#!/bin/bash
# Precheck
if [ "$EUID" -ne 0 ]
TERM=ansi whiptail --title "Info" --infobox "Please run as root!" 7 23
sleep 3
exit
fi
# Check if file exists
if [ -f /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor ]; then
# If file exists show menu
Governor=$(whiptail --title "Choose a power plan" --radiolist \
"Choose user's permissions" 9 61 3 \
"Performance" "Run the CPU at the maximum frequency" OFF \
"Ondemand" "Scales the frequency according to load" OFF \
"Powersave" "Run the CPU at the minimum frequency" ON 3>&1 1>&2 2>&3)"
else
TERM=ansi whiptail --title "Info" --infobox "This CPU/OS does not support a governor!" 7 44
sleep 3
exit
fi
if [ -n "$Governor" ]; then
# If var is NOT empty then set var to lowercase
Governor="${Governor,,}"
# Download service file
wget https://git.ictcorpnet.com/b.waal/Snippets/raw/branch/main/Debian/CPU%20Governor/governor.service -O /etc/systemd/system/cpu-governor.service
# Change CHOSEN_POWERPLAN to selected Governor var
sed -i "s/CHOSEN_POWERPLAN/$Governor/g" /etc/systemd/system/cpu-governor.service
fi
TERM=ansi whiptail --title "Info" --infobox "Enabling governor at startup." 7 35
systemctl daemon-reload
TERM=ansi whiptail --title "Info" --infobox "Enabling governor at startup.." 7 35
systemctl enable cpu-governor
TERM=ansi whiptail --title "Info" --infobox "Enabling governor at startup..." 7 35
systemctl start cpu-governor
TERM=ansi whiptail --title "Info" --msgbox "Setup finished!" 8 19
cls