Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#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 wink

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 licence

choice=$(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 wink


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 lol Mais de bon matin faut pas trop m'en demander, j'aurais bien une solution mais elle est trop brute big_smile ))

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/

roll


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 tongue

`--> 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 lol

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 tongue )

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 wink

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 lol

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 tongue


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&#039;

Re : [Script Zenity] Changement sécurisé de fréquence du processeur

until [[ $i == 10 ]]
do
....
i=$(( i + 1 ))
done

wink

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 big_smile

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

Ras' a écrit :

until [[ $i == 10 ]]
do
....
i=$(( i + 1 ))
done

wink

for 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 wink

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