Fixed cls with clear. Added check for powertop, if package does not exist prompt user to install and configure this as an addon to the governor
61 lines
2.1 KiB
Bash
61 lines
2.1 KiB
Bash
#!/bin/bash
|
|
|
|
# Precheck
|
|
if [ $UID != 0 ]; then
|
|
TERM=ansi whiptail --title "Info" --infobox "Please run as root!" 7 23
|
|
sleep 3
|
|
clear
|
|
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
|
|
sleep 1
|
|
TERM=ansi whiptail --title "Info" --infobox "Enabling governor at startup.." 7 35
|
|
systemctl enable cpu-governor
|
|
sleep 1
|
|
TERM=ansi whiptail --title "Info" --infobox "Enabling governor at startup..." 7 35
|
|
systemctl start cpu-governor
|
|
sleep 1
|
|
|
|
|
|
|
|
|
|
# Check if package exists
|
|
which powertop > /dev/null 2>&1
|
|
if [ $? != 0 ]; then
|
|
# If package does not exist ask the user to install and configure powertop
|
|
if whiptail --title "Info" --yesno "Also install and configure powertop? \n\nPowertop is a tool to enable various powersaving modes." 11 59; then
|
|
TERM=ansi whiptail --title "Info" --infobox "Please stand by while this script downloads the next installer" 7 66
|
|
sleep 5
|
|
#wget next installer from rep
|
|
else
|
|
TERM=ansi whiptail --title "Info" --msgbox "Setup finished!" 8 19
|
|
clear
|
|
fi
|
|
fi |