Bienvenue visiteur (Inscription |  Connexion)
Qui est en ligne ?
Il y a : 18 utilisateurs en ligne, consultez le détail
Auteur Message
Mimile
#0 Message posté le : 20-04-2009 à 14:48:25


Scarabée


Forum : Inscrit
Association :
Arrivé(e) le : 25-07-2004
Nombre de messages : 345
Bonjour

Je suis sous Debian Lenny + KDE 3.5.1

ksensors me permet d'afficher la température de mes disques ce qui peut mettre en évidence une éventuelle surchauffe (les chiffres passent au rouge au-delà de la valeur dite "idéale").

Mon problème est le suivant :

Quand je lance ksensors en simple user, je n'obtiens rien d'autre que l'apparition d'une icône et la fenêtre d'affichage des valeurs est vide :



En revanche, quand je le lance en root, j'obtiens l'affichage souhaité :



Si je configure ksensors pour qu'il soit lancé à chaque démarrage de KDE, une fenêtre s'ouvre indiquant que ce logiciel nécessite les droits du superuser et il me faut à chaque fois donner mon mot de passe root, ce qui est casse-pied pour un programme d'affichage sans implication particulière qui justifierait des précautions spéciales.

Ma question est donc : comment faire en sorte que ksensors démarre en root sans pour autant qu'il soit nécessaire de donner le mot de passe.

Avant de poster, j'ai essayé ceci :

1°) ajout de la ligne /usr/bin/ksensors dans /etc/kde3/kdm/Xsetup
(pourquoi ? parce qu'il est indiqué en commentaire de ce fichier que les logiciels indiqués sont démarrés en root avant l'apparition de la boîte de dialogue du login).

2°) ajout d'une petit script *.sh dans /etc/init.d contenant la commande /usr/bin/ksensors

3°) j'ai armé le bit setuid du programme ksensors (chmod +s ksensors)

4°) attribution de tous les droits de ksensors (chmod 777) et changement du nom d'utilisateur en ma faveur

5°) j'ai arpenté Google sans résultat

Rien n'y fait.

Quelqu'un aurait-il une idée ?

Amicalement,

--Message édité par Mimile le 20-04-2009 à 14:49:56--


-------------------------------------
Il y a 3 sortes de gens : ceux qui savent compter et ceux qui ne savent pas.
stanislas
#1 Message posté le : 20-04-2009 à 15:39:02


Jedi


Forum : Administrateur
Association : Secrétaire général
Arrivé(e) le : 08-05-2003
Nombre de messages : 4497
Et autoriser ton user à utiliser ksensors via une règle sudo ?

-------------------------------------
Quand le dernier arbre aura été abattu, et le dernier animal exterminé, les hommes se rendront compte que l'argent ne se mange pas.
Mimile
#2 Message posté le : 20-04-2009 à 23:04:56


Scarabée


Forum : Inscrit
Association :
Arrivé(e) le : 25-07-2004
Nombre de messages : 345
Salut et merci de me répondre.

J'ai déjà configuré sudoers pour me donner en tant qu'utilisateur tous les droits de root.

Il est évident que si je tape en ligne de commande : sudo /usr/bin/ksensors, le problème ne se pose pas
(EDIT : en fait, cette commande ne marche pas ! ksensors démarre mais comme si j'étais en simple user !! donc il n'affiche rien d'autre que l'icône du programme et aucune valeur !!! La bonne commande est en fait : kdesudo ksensors)

Ce que je souhaiterais, c'est qu'au démarrage du PC et plus précisément, au lancement de KDE, ksensors démarre directement en root sans que je doive indiquer mon mot de passe root dans la fenêtre qui s'ouvre, indiquant que "ce logiciel requiert les droits de super utilisateur ..."

Cordialement

--Message édité par Mimile le 26-04-2009 à 11:24:01--


-------------------------------------
Il y a 3 sortes de gens : ceux qui savent compter et ceux qui ne savent pas.
Mimile
#3 Message posté le : 21-04-2009 à 10:06:16


Scarabée


Forum : Inscrit
Association :
Arrivé(e) le : 25-07-2004
Nombre de messages : 345
Dernières nouvelles du front :


J'ai ajouté au fichier /etc/kde3/kdm/Xsetup la ligne kdesudo /usr/bin/ksensors.


Le fichier se présente donc comme suit :


#! /bin/sh
# Xsetup - run as root before the login dialog appears

#xconsole -geometry 480x130-0-0 -notify -verbose -fn fixed -exitOnFail -file /dev/xconsole &
/usr/bin/numlockx on
/usr/bin/xhost -
/usr/bin/xhost +local:
kdesudo /usr/bin/ksensors


Au démarrage de KDE, un message s'affiche :


There were an error setting up inter-process communication for KDE. The message returned by the system was : "could not open network socket. Please check that the "dcopserver" program is running".


Je clique sur le bouton OK de validation et la séquence de boot se poursuit normalement et miracle, ksensors fonctionne en root.


La bonne commande est donc : kdesudo /usr/bin/ksensors qui ne me réclame pas mon mot de passe root.


Il faudrait donc faire en sorte que cette instruction soit appelée automatiquement après le chargement de KDE.


Comment faire ?


NB J'ai modifié mon script dans /etc/init.d en conséquence, mais cela ne change rien.


Amicalement,

-------------------------------------
Il y a 3 sortes de gens : ceux qui savent compter et ceux qui ne savent pas.
stanislas
#4 Message posté le : 21-04-2009 à 11:36:35


Jedi


Forum : Administrateur
Association : Secrétaire général
Arrivé(e) le : 08-05-2003
Nombre de messages : 4497
Il n'y a pas un fichier indiquant ce qui doit être lancé automatiquement par KDE dans ta session après que tu t'es loggué (c'es-à-dire avec tes droits) ?
Dans ce fichier, tu inclus ksensors, éventuellement avec l'appel par sudo ...

-------------------------------------
Quand le dernier arbre aura été abattu, et le dernier animal exterminé, les hommes se rendront compte que l'argent ne se mange pas.
TrizoLakai
#5 Message posté le : 21-04-2009 à 18:46:02


Petit scarabée


Forum : Inscrit
Association :
Arrivé(e) le : 18-11-2007
Nombre de messages : 95
C'est quand même abérrant de voir ça.
Un logiciel qui donne des valeurs qu'on peut lire en utilisateur, demandant les droits root.

Personnellement je ne chercherais pas à l'éxecuter avec les droits, si il ne sert juste à afficher la température et dire quand ça dépasse. Le fait qu'il demande les droits root c'est que c'est un programme pas super bien écrit. Alors lui donner les droits de mettre le bordel, j'aimerais pas


[trizolakai@chocakai ~]$ cat /proc/acpi/thermal_zone/THRM/temperature 

temperature:             40 C



Sinon oui la technique de stanisla fonctionnerait. Tu fais un .desktop qui est un raccourcit vers la commande sudo ksensors.

Tu le met dans ~/.kdeX/Autostart ou ~/.kdeX/autostart ou ~/.config/kdeX/autostart ou ~/.config/kdeX/Autostart et ça devrait fonctionner.
stanislas
#6 Message posté le : 22-04-2009 à 10:25:51


Jedi


Forum : Administrateur
Association : Secrétaire général
Arrivé(e) le : 08-05-2003
Nombre de messages : 4497
Qu'il ait besoin des droits root peut, dans l'esprit des développeurs, être lié au fait que pour récupérer ses données cet utilitaire intervient à assez bas niveau sur le matériel ; pour peu qu'en plus il ait été écrit initialement il y a un moment, à une période où la gestion du matos était moions fine qu'actuellement ...

-------------------------------------
Quand le dernier arbre aura été abattu, et le dernier animal exterminé, les hommes se rendront compte que l'argent ne se mange pas.
jerep6
#7 Message posté le : 22-04-2009 à 20:45:23


Scarabée


Forum : Inscrit
Association :
Arrivé(e) le : 14-08-2005
Nombre de messages : 495
Salut, je n'ai pas la solution à ton problème, mais je veux juste te dire qu'il existe d'autres logiciels que ksensors.
Par exemple superkaramba avec le thème qui va bien affiche la température du proc, du disque dur, la consommation de ram ...
Mimile
#8 Message posté le : 22-04-2009 à 22:53:11


Scarabée


Forum : Inscrit
Association :
Arrivé(e) le : 25-07-2004
Nombre de messages : 345
Bonjour à tous et merci pour vos interventions.

Je connais assez bien Superkaramba pour avoir écrit plusieurs thèmes dont, par exemple, celui-ci :



ou celui-ci :



Malheureusement, je n'ai jamais réussi à intégrer les valeurs de températures.

De plus, Superkaramba et ses thèmes sont gros consommateurs de CPU ou de RAM et, compte tenu de l'ancienneté de mon PC, ils constituent une gène alors que ksensors se limite à un affichage discret dans la barre des tâches :



Quant à faire un raccourci desktop : évidemment, c'est une solution (il faut utiliser kdesudo et pas sudo qui, à l'analyse, ne donne pas le résultat escompté) mais elle ne m'intéresse pas : ce que je voudrais, c'est que ksensors démarre automatiquement en root, à la manière d'un applet.

Donc, la solution préconisée par Stanislas me paraît être la plus idoine :

Il n'y a pas un fichier indiquant ce qui doit être lancé automatiquement par KDE dans ta session après que tu t'es loggué (c'es-à-dire avec tes droits) ?
Dans ce fichier, tu inclus ksensors, éventuellement avec l'appel par sudo ...


Mon problème, c'est que j'ignore comment provoquer cela une fois que KDE est démarré (vu que tant qu'il ne l'est pas, ksensors ne peut pas afficher ses valeurs).



Amicalement,

EDIT : j'avais stupidement zappé la suggestion de TrizoLakai qui complètait la réponse de Stanislas ! j'ai donc créé le raccourci puis je l'ai placé dans le dossier ~/.kde/Autostart : ça marche !



Merci à tous

--Message édité par Mimile le 01-05-2009 à 12:20:51--


-------------------------------------
Il y a 3 sortes de gens : ceux qui savent compter et ceux qui ne savent pas.
stanislas
#9 Message posté le : 23-04-2009 à 09:45:57


Jedi


Forum : Administrateur
Association : Secrétaire général
Arrivé(e) le : 08-05-2003
Nombre de messages : 4497
~/kde/autostart : c'est exactement ce que j'avais en vue .

-------------------------------------
Quand le dernier arbre aura été abattu, et le dernier animal exterminé, les hommes se rendront compte que l'argent ne se mange pas.
Mimile
#10 Message posté le : 23-04-2009 à 14:22:10


Scarabée


Forum : Inscrit
Association :
Arrivé(e) le : 25-07-2004
Nombre de messages : 345
C'était effectivement dans ce fichier que se trouvait la solution mais je m'étais égaré dans /etc/init.d avec ses liens symboliques dans rc.x ...

Bien content d'avoir appris comment lancer automatiquement un programme graphique sous KDE.

Encore merci pour vos interventions.

Amicalement

--Message édité par Mimile le 23-04-2009 à 14:22:42--


-------------------------------------
Il y a 3 sortes de gens : ceux qui savent compter et ceux qui ne savent pas.