44 lines
1.5 KiB
Bash
44 lines
1.5 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
|
|
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 |