Devo executar um script requerido pelo sudo em algum arquivo de configuração do shell?

0

É uma boa idéia colocar um comando sudo em um arquivo de configuração do shell?

Eu tenho um script bash /home/t/bin/changeCpuFreq.sh que pode alterar a frequência da minha CPU. A linha 40 no meu script é

echo $1 >  /sys/devices/system/cpu/cpu0/cpufreq/scaling_setspeed

O que determina que a execução do script requer privillege de raiz

Eu gostaria que o script fosse executado automaticamente toda vez que eu reiniciava o Ubuntu ou fazia o login, e me perguntava onde colocar o comando para executar o script?

  1. Em ~/.profile , eu coloquei

    sudo /home/t/bin/changeCpuFreq.sh 1600000
    

    Quando eu reinicio o Ubuntu, depois de logar, o Ubuntu reporta um erro

    Error found when loading /home/t/profile.

    sudo: no tty present and no askpass program specified.

    As a result the session will not be configured correctly.

  2. Em /etc/profile , coloco o seguinte no final:

    /home/t/bin/changeCpuFreq.sh 1600000 
    

    Quando eu reinicio o Ubuntu, eu tenho um erro antes de fazer login:

    Error found when loading /etc/profile:

    /home/t/bin/changeCpuFreq.sh: line 40

    /sys/devices/system/cpu/cpu0/cpufreq/scaling_setspeed: Permission denied

    As a result the session will not be configured correctly.

    É porque não defini sudo e como devo usar sudo para um comando em /etc/profile ?

Obrigado.

    
por Tim 31.03.2018 / 23:17

0 respostas