only the first command is being run for some reason
Isso porque você tem o seguinte:
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; [...]
O Bash dividirá os comandos por um ponto-e-vírgula (não pela nova linha), então o que está sendo executado é mais como abaixo (mostrado com um comando por linha):
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
[...]
Você também tem sorte que konsole
" irá capturar todos os argumentos a seguir passados para o Konsole " [ ref ] - a maioria dos comandos não fará isso, em vez de usar sudo
como o parâmetro para o -e
e tentando manipular cp
, -f
, /home/austin/...
como outros argumentos de linha de comando.
cp
não é realmente apropriado para uso com gravação em sysfs
... mesmo que funcione. Você teria mais chances de ter sucesso com o redirecionamento ou tee
.
Por exemplo, se o arquivo scaling_governor
contiver o texto performance
, você poderá fazer o seguinte:
echo "performance" | sudo tee /sys/devices/system/cpu/cpufreq/policy0/scaling_governor
Em seguida, não haveria necessidade da subsequente chown
ou chmod
. São três comandos para um.
Você está fazendo isso uma vez para cada policy0
, policy1
, policy2
e policy3
. Como sobre o seguinte:
sudo tee /sys/devices/system/cpu/cpufreq/policy*/scaling_governor <<<"performance"
São quatro repetições até uma chamada para tee
- e até ajusta automaticamente para sistemas diferentes (meu sistema tem 8 políticas, não 4).
Repita isso novamente para energy_performance_preference
e o valor que você gostaria de usar.
Quanto a isso aparecer em konsole
... você precisa disso? Você não pode apenas executá-lo como um script bash?
Talvez, se você realmente quiser, use o seguinte como um comando / atalho para iniciar o script:
konsole -e "${PATH_TO_SCRIPT}"