#1 Le 23/05/2008, à 23:01
- Kriegy
[Script Zenity] Changement sécurisé de fréquence du processeur
Bonjour à tous,
Comme certains d'entre vous le savent déjà, la commande "sudo chmod +s /usr/bin/cpufreq-selector" créé une faille de sécurité dans le système.
Pour pouvoir tout de même changer la fréquence du processeur, et ceci de manière graphique, j'ai créé ce modeste script Zenity :
#!/bin/bash
# Script créé par Kriegy (2008-05-23) (kriegy@gmail.com)
# Version 1.0
# CPU Frequency
# GPLv3 licence
choice=$(zenity --list --radiolist \
--title="CPU Frequency Manager" \
--column="" --column="" --column="Options" \
--hide-column=2 \
--separator=" " \
FALSE 01 "Performance"\
FALSE 02 "Ondemand"\
FALSE 03 "Powersave")
if [ $choice = "01" ]; then
gksudo 'cpufreq-selector -c 0 -g performance'
elif [ $choice = "02" ]; then
gksudo 'cpufreq-selector -c 0 -g ondemand'
elif [ $choice = "03" ]; then
gksudo 'cpufreq-selector -c 0 -g powersave'
fi
Il vous suffit de l'enregistrer dans le dossier ~/.gnome2/nautilus-scripts/ puis de le rendre exécutable. Vous aurez ensuite en cliquand droit dans le bureau, une option "scripts" avec un menu contenant le nom du script. Cliquez, et suivez le guide
Hors ligne
#2 Le 24/05/2008, à 06:21
- Ras'
Re : [Script Zenity] Changement sécurisé de fréquence du processeur
Je te propose une simplification, normalement c'est valide et plus simple mais à vérifier tout de même :
#!/bin/bash
# Script créé par Kriegy (2008-05-23) (kriegy@gmail.com)
# Version 1.0
# CPU Frequency
# GPLv3 licencechoice=$(zenity --list --radiolist \
--title="CPU Frequency Manager" \
--column="" --column="" --column="Options" \
--hide-column=2 \
--separator=" " \
FALSE performance "Performance"\
FALSE ondemand "Ondemand"\
FALSE powersave "Powersave")if [[ $? == "1" ]]
then zenity --warning --title="Fin du script" --text="Le script à été arreté"
exit
else
gksudo 'cpufreq-selector -c 0 -g $choice'
fi
t'es pas obligé de mettre un zenity pour dire que le script est arrêté, mais c'était surtout pour regrouper les 3 choix en une commande
Va t'faire shampouiner par le compteur_V2 en timezone[Canada/Eastern] !
Les types awesome n'ont rien à prouver. À personne.
'k bye là
Hors ligne
#3 Le 24/05/2008, à 08:44
- philpep-tlse
Re : [Script Zenity] Changement sécurisé de fréquence du processeur
Mouais, il y a quand même un problème car tous les governors ne sont pas disponibles sur tous les processeurs.
Il faudrait quelque chose pour afficher que les governors utilisables.
Je suis pas sur Ubuntu, mais chez moi c'est dans /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors
Autre chose aussi, chez moi la commande c'est cpufreq-set y'a une différence ? (Sur Gentoo)
Sinon, vous pouvez aussi afficher la frequence actuelle comme ceci :
cat /proc/cpuinfo | grep cpu\ MHz | cut -d ' ' -f3 | cut -d '.' -f1 | sed s/^1/1./ | sed s/$/\ Ghz/
((J'ai conscience qu'il y a un problème si le proco fait plus de 2 Ghz Mais de bon matin faut pas trop m'en demander, j'aurais bien une solution mais elle est trop brute ))
EDIT : ça y est, je me réveille :
cat /proc/cpuinfo | grep cpu\ MHz | cut -d ' ' -f3 | cut -d '.' -f1 | sed -e 's/\(^[0-9]\)/\1./' | sed s/$/\ Ghz/
EDIT : s/Mhz/Ghz
Dernière modification par philpep-tlse (Le 24/05/2008, à 09:53)
le "lol" est aux boulets ce que le ";" est aux programmeurs
blog | Wiki Fvwm | Essayez le Window Manager From Scatch | Topic WMFS
Hors ligne
#4 Le 24/05/2008, à 09:02
- Ras'
Re : [Script Zenity] Changement sécurisé de fréquence du processeur
cat /proc/cpuinfo | grep cpu\ MHz | cut -f2 -d ":" | sed s/$/\ Mhz/
Va t'faire shampouiner par le compteur_V2 en timezone[Canada/Eastern] !
Les types awesome n'ont rien à prouver. À personne.
'k bye là
Hors ligne
#5 Le 24/05/2008, à 09:56
- philpep-tlse
Re : [Script Zenity] Changement sécurisé de fréquence du processeur
Tss, le mien est plus beau
`--> cat /proc/cpuinfo | grep cpu\ MHz | cut -d ' ' -f3 | cut -d '.' -f1 | sed -e 's/\(^[0-9]\)/\1./' | sed s/$/\ Ghz/
1.862 Ghz
`--> cat /proc/cpuinfo | grep cpu\ MHz | cut -f2 -d ":" | sed s/$/\ Mhz/
1862.000 Mhz
na
Dernière modification par philpep-tlse (Le 24/05/2008, à 09:56)
le "lol" est aux boulets ce que le ";" est aux programmeurs
blog | Wiki Fvwm | Essayez le Window Manager From Scatch | Topic WMFS
Hors ligne
#6 Le 24/05/2008, à 12:47
- kamou
Re : [Script Zenity] Changement sécurisé de fréquence du processeur
il me semble qu'en faisant:
sudo dpkg-reconfigure gnome-applets
puis en faisant "ajouter dans le tableau de bord" et en selectionnant moniteur de changement de frequence du processeur
on à exactement la même chose !
Hors ligne
#7 Le 24/05/2008, à 14:52
- Kriegy
Re : [Script Zenity] Changement sécurisé de fréquence du processeur
Effectivement, la modif de Ras' est pas mal (mis à part le 2ème Zenity que je trouve qui sers à rien, mais ce n'est que mon avis )
Par contre kamou, si tu exécute ta commande, tu verras qu'il t'affiche un gros warning comme quoi cela présente une faille de sécurité. "sudo chmod +s /usr/bin/cpufreq-selector" et "sudo dpkg-reconfigure gnome-applets" c'est exactement pareil au final.
Pour les governors utilisables, effectivement il faut revoir le script à ce niveau la, si l'on veut que tout le monde puisse l'utiliser. Si j'ai du temps je regarde ça ce soir
Hors ligne
#8 Le 24/05/2008, à 15:23
- Ras'
Re : [Script Zenity] Changement sécurisé de fréquence du processeur
Le 2°zenity est effectivement inutile ^^
Va t'faire shampouiner par le compteur_V2 en timezone[Canada/Eastern] !
Les types awesome n'ont rien à prouver. À personne.
'k bye là
Hors ligne
#9 Le 25/05/2008, à 00:56
- philpep-tlse
Re : [Script Zenity] Changement sécurisé de fréquence du processeur
Hop :
#!/bin/bash
FILE=/sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors
TMP_FILE=/tmp/cpu_freq.tmp
N_GOVERNORS=`wc -w < $FILE`
CMD="xterm -e sudo cpufreq-set -g"
i=1
rm -f $TMP_FILE
str_prepare () {
if [ $1 -le $N_GOVERNORS ]; then
cut -d' ' -f$1 $FILE >> $TMP_FILE
str_prepare $(($1+1))
fi
}
str_prepare 1
sed -ie 's/^/FALSE\ /g' $TMP_FILE
GOVERNOR=$(zenity --list --radiolist \
--text "Quel governor ce Monsieur désire ?" \
--title "CPU Freq-set" \
--column "" --column "Governors" \
`cat $TMP_FILE`)
EXIT=$?
if [[ $EXIT != 0 ]]; then exit $EXIT; else $CMD $GOVERNOR; fi
exit $?
J'avoue que j'ai fait ça pour la beauté de la fonction récursive. Ben je savais pas que ça marchait aussi avec bash \o/ .
En fait je me rend compte que le C est vraiment un code simple par rapport a bash.
D'ailleurs les scripteurs fous, si vous pouvez me traduire ça en bash, je vous serait reconnaissant
for (i = 0; i <= 10; i++)
Pour le script, vous pouvez tester a vos risques et perils, mais normalement y'a pas de soucis si le fichier existe bien chez vous. Vous pouvez aussi changer la variable CMD comme vous voulez
le "lol" est aux boulets ce que le ";" est aux programmeurs
blog | Wiki Fvwm | Essayez le Window Manager From Scatch | Topic WMFS
Hors ligne
#10 Le 25/05/2008, à 06:54
- Ras'
Re : [Script Zenity] Changement sécurisé de fréquence du processeur
until [[ $i == 10 ]]
do
....
i=$(( i + 1 ))
done
for en bash sert à des trucs différent :
for i in $liste
do
travail sur le $i ème élément de la liste
done
Va t'faire shampouiner par le compteur_V2 en timezone[Canada/Eastern] !
Les types awesome n'ont rien à prouver. À personne.
'k bye là
Hors ligne
#11 Le 25/05/2008, à 16:58
- philpep-tlse
Re : [Script Zenity] Changement sécurisé de fréquence du processeur
Merci
N'empêche que bash c'est un langage assez barbare je trouve... Ce qui est compliqué c'est les construction [[ [ et ( qui veulent dire pleins de choses différentes.
Sinon, c'est quoi le mieux entre
i=$(($i+1))
et
let i+=1
?
le "lol" est aux boulets ce que le ";" est aux programmeurs
blog | Wiki Fvwm | Essayez le Window Manager From Scatch | Topic WMFS
Hors ligne
#12 Le 09/12/2008, à 22:01
- bargeot5999
Re : [Script Zenity] Changement sécurisé de fréquence du processeur
Bonjour,
La possibilité de changer la fréquence du processeur via un script me permettrait de me passer de kpowersave...mais le problème c'est que j'utilise openbox...y'a moyen quand même d'utiliser ce script et si oui comment ?
Merci pour vos réponses ^^
Hors ligne
#13 Le 16/12/2008, à 20:34
- coethium
Re : [Script Zenity] Changement sécurisé de fréquence du processeur
until [[ $i == 10 ]]
do
....
i=$(( i + 1 ))
donefor en bash sert à des trucs différent :
for i in $liste
do
travail sur le $i ème élément de la liste
done
Mais $liste peut être une liste de nombres, et ce ce fait on peut écrire par exemple :
for i in $(seq 10)
do
# $i augmente à chaque itération, jusqu'à 10
done
haaaa bash, j'adore
Hors ligne
#14 Le 16/12/2008, à 22:43
- bargeot5999
Re : [Script Zenity] Changement sécurisé de fréquence du processeur
Bonsoir..est-il possible d'adapter ce script à kpowersave et non gnome-applets ?
Hors ligne