solo il primo comando viene eseguito per qualche motivo
Questo perché hai i seguenti:
konsole -e sudo cp -f /home/austin/CPU_Boost/energy_performance_preference /sys/devices/system/cpu/cpufreq/policy0/; cp -f /home/austin/CPU_Boost/scaling_governor /sys/devices/system/cpu/cpufreq/policy0/; chown root:root /sys/devices/system/cpu/cpufreq/policy0/energy_performance_preference; chmod 444 /sys/devices/system/cpu/cpufreq/policy0/energy_performance_preference; [...]
Bash dividerà i comandi con un punto e virgola (non newline), quindi ciò che viene eseguito è più simile a quello di seguito (mostrato con un comando per riga):
konsole -e sudo cp -f /home/austin/CPU_Boost/energy_performance_preference /sys/devices/system/cpu/cpufreq/policy0/
cp -f /home/austin/CPU_Boost/scaling_governor /sys/devices/system/cpu/cpufreq/policy0/
chown root:root /sys/devices/system/cpu/cpufreq/policy0/energy_performance_preference
chmod 444 /sys/devices/system/cpu/cpufreq/policy0/energy_performance_preference
[...]
Sei anche fortunato che konsole
" cattura tutti i seguenti argomenti passati a Konsole " [ ref ] - la maggior parte dei comandi non lo farà, invece prendendo sudo
come parametro per la -e
e cercando di gestire cp
, -f
, /home/austin/...
come gli altri argomenti della riga di comando.
cp
non è davvero appropriato per l'uso con la scrittura su sysfs
... anche se funziona. Avresti maggiori probabilità di avere successo con il reindirizzamento o tee
.
Ad esempio, se il scaling_governor
file contiene il testo performance
, è possibile effettuare le seguenti operazioni:
echo "performance" | sudo tee /sys/devices/system/cpu/cpufreq/policy0/scaling_governor
Quindi non ci sarebbe bisogno del successivo chown
o chmod
. Sono tre comandi fino a uno.
Lo stai facendo che, una volta per ciascuno di policy0
, policy1
, policy2
e policy3
. Che ne dici di quanto segue:
sudo tee /sys/devices/system/cpu/cpufreq/policy*/scaling_governor <<<"performance"
Sono quattro ripetizioni fino a una chiamata a tee
- e si adatterà anche automaticamente per diversi sistemi (il mio sistema ha 8 criteri, non 4).
Ripetilo ancora per energy_performance_preference
e per il valore che desideri utilizzare.
Per quanto riguarda come farlo apparire in konsole
... ne hai bisogno? Non puoi semplicemente eseguirlo come uno script bash?
Forse, se lo desideri davvero, potresti usare quanto segue come comando / scorciatoia per avviare lo script:
konsole -e "${PATH_TO_SCRIPT}"