msoliver
(usa Debian)
Enviado em 11/12/2018 - 00:51h
albfneto escreveu:
Se eu modifico a linha do zenity e uso um comando geral,, tipo "ls -a"
zenity --title "Senha para Root:" --password | su -c "ls -a"
Funciona e só roda o "ls -a" se a senha de root na janela do Zenity, for a correta..., portanto acho que a sintaxe do zenity tá correta.
se eu uso a linha do script, linha 56 assim....
zenity --title "Senha para Root:" --password | su -c "cpupower frequency-set -g $performance"
o governor é trocado, portanto não é nessa linha o erro....
Resumo.... executado com su ou sudo ele troca o governor.
Executado normal como usuário, a janela do Zenity pede a senha, porém nunca troca, mesmo que seja senha de root.
quando pronto, quero publicar o script, citarei sua co-autoria, contribuição.
¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨
Albfneto,
Ribeirão Preto, S.P., Brasil.
Usuário Linux, Linux Counter: #479903.
Distros Favoritas:
Sabayon, Gentoo, openSUSE, Mageia e OpenMandriva.
Boa noite albfneto .
Quanto a var "PIPESTATUS", a mesma é gerada pelo "zenity"...
Cancelar=> PIPESTATUS=1
OK=> PIPESTATUS=0
E não é um array!!!
Vamos aos pontos:
1 - Com os comandos sugeridos, não é necessário definir as variáveis:
optionPerformance="FALSE"
optionOndemand="FALSE"
optionConservative="FALSE"
optionPowersave="FALSE"
optionUserspace="FALSE"
O comando:
for X in ${governor[*]};do
[[ $currentGovernor = $X ]] && eval Option${X^}="TRUE" || eval Option${X^}=FALSE;
done
define....
2 - Quanto ao "governor", no caso do meu "pc", não são todos os disponíveis.
O comando:
cpupower frequency-info|awk -F: '/reguladores/ {print $2}'
performance powersave
Mostra os disponíveis....
Nesse caso é interessante trocar:
governor=(performance ondemand conservative powersave userspace)
for X in ${governor[*]};do
[[ $currentGovernor = $X ]] && eval Option${X^}="TRUE" || eval Option${X^}=FALSE;
done
Por:
governor=($(cpupower frequency-info|awk -F: '/reguladores/ {print $2}'))
for X in ${governor[*]};do
[[ $currentGovernor = $X ]] && eval ${X}="TRUE" || eval ${X}=FALSE; done
E:
wantedGovernor=$(zenity --list --text "Selecionar o Governor que quer usar:" --radiolist --column "" --column "Opções" $optionPerformance "performance" $optionOndemand "ondemand" $optionConservative "conservative" $optionPowersave "powersave" $optionUserspace "userspace")
Por:
wantedGovernor=$(zenity --list --text "Selecionar o Governor que quer usar:" --radiolist --column "" --column "Opções" $(for ((x=0;x<${#governor[@]};x++));do echo "${!governor[$x]} ${governor[$x]}"; done))
3 - No debian o comando 'cpupower" não vem instalado por padrão,
instalei o libcpupower1 e o linux-cpupower.
O comando:
[[ $(which cpupower) ]] && echo instalado || echo intalar
Faz a verificação.
4 - zenity --title "Senha para Root:" --password | su -c "ls -a"
Aqui não funcionou... Mostra mensagem:
su : deve ser executado a partir de um terminal
Já que o comando exige o 'root',
Exija que esteja logado como tal....
(($UID != 0)) && { echo -e "\nExige Root\nSaindo...";exit;} || echo OKAY
Por hora é isso...
Espero não ter esquecido de postar tudo o que testei . . . rsrsrsr
Abç.:
Marcelo Oliver