Bonsoir,

Une question toute simple !!!

Existe t-il une commande permettant de savoir le gestionnaire de fenêtre utilisé?
J'aimerais pour un script détecter ça..

Avez-vous des idées??

Merci a vous
Bonjour,

regarde du côté de la variable d'environnement DESKTOP_SESSION.
Simple, rapide efficace .. 😐

Merci beaucoup 🙂
Number wrote:Simple, rapide efficace .. 😐

Merci beaucoup 🙂
Du Pikachu_2014 quoi !
un mois plus tard
Pour continuer dans cette optique, il y'a sous Bash la variable $UID...

Mais comment savoir si on est dans un shell root (su -) ou seulement si on a les droits root ?

Merci a vous 😛
je dis peut etre une bétise mais...

whoami ne permet pas de faire la différence?

j'ai pas testé mais qqch comme

test [${whoami} == root]
Merci, tu viens de me donner une idée ...

La valeur de $USER est différente en fonction du shell...

(Si les experts peuvent confirmer ?? )
globilux wrote:if [ $(id -u) -ne 0 ] ?
Non, la question de Number est : comment identifier si on est réellement sous root ou derrière un sudo par ex :
dans les 2 cas, whoami renvoie root et id renvoie 0.

Comme dans le 2eme cas, l'environnement de root n'est pas positionné, les variables ne sont pas affectées, donc $USER conserve la valeur initiale (du user qui a fait sudo).
ah oui

j'avais pas pensé à sudo

mais vu que sudo est la pour faire croire qu'on est root, je vois pas pourquoi il se demande si on est sudo ou root
il faudrait que tu nous explique (plus précisément) ce que tu veux, Number (si tu veux de l'aide)
Regarde plutot du cote de la variable $HOME.
Quand tu es en utilisateur ou en simple su, le $HOME est celui de l'utilisateur.
En revanche, si tu es en su -, alors ton $HOME change. Enfin je crois...

Dans la meme optique, tu peux tester la presence de /sbin par exemple dans le $PATH.
Si tu es en su ou utilisateur, alors le $PATH ne contient pas /sbin.
Si tu es en "su -", alors ton $PATH contiendra entres autres /sbin, /usr/sbin, etc...
Bah certaine commande ne sont accessible qu'en etant vraiment root (useradd, modprobe, ...)

Vu que dans le script j'aimerais automatisé ces tâches aussi il faut que non slmt on soit root mais qu'on en aille le path...

Et avec $USER (d'après mes test..) ca fonctionne !!
Number wrote:Bah certaine commande ne sont accessible qu'en etant vraiment root (useradd, modprobe, ...)
Vu que dans le script j'aimerais automatisé ces tâches aussi il faut que non slmt on soit root mais qu'on en aille le path...
Gaffe aux fautes d'orthographe:
Certaines commandes ne sont accessibles [...].
Vue que dans le script, j'aimerai automatiser ces taches aussi, il faut que non seulement, on soit connecte en root, mais qu'on en ait aussi le PATH.

Si tu as des problemes avec la conjugaison, je te conseille ce site.
Si ton script est lancé via sudo, la solution consiste à mettre le path complet de la commande
Fox Delta wrote:Gaffe aux fautes d'orthographe.
Désolé, j'avoue avoir écris ce message super vite, sans même prendre la peine de me relire...

Alors, pour l'astuce du sudo avec les commandes complètes ça ne m'arrange pas vraiment, le depmode par exemple est exécuté par un
make install
Donc impossible de mettre le chemin complet de la commande..
[root@numberfixe ov51x-jpeg-1.5.8]# make install
make -C /lib/modules/2.6.25.11-97.fc9.i686/build M=/opt/ov51x-jpeg-1.5.8 modules
make[1]: entrant dans le répertoire « /usr/src/kernels/2.6.25.11-97.fc9.i686 »
  Building modules, stage 2.
  MODPOST 1 modules
make[1]: quittant le répertoire « /usr/src/kernels/2.6.25.11-97.fc9.i686 »
make -C /lib/modules/2.6.25.11-97.fc9.i686/build M=/opt/ov51x-jpeg-1.5.8 modules_install
make[1]: entrant dans le répertoire « /usr/src/kernels/2.6.25.11-97.fc9.i686 »
  INSTALL /opt/ov51x-jpeg-1.5.8/ov51x-jpeg.ko
  DEPMOD  2.6.25.11-97.fc9.i686
make[1]: quittant le répertoire « /usr/src/kernels/2.6.25.11-97.fc9.i686 »
depmod -a
make: depmod : commande introuvable
make: *** [install] Erreur 127
Donc j'en reviens à mon idée de départ, vérifier la variable $UID et $USER ne permettent d'après mes tests de vérifier si l'on est vraiment root ou pas.

Pensez-vous que cette solution soit bonne ?
Ce pilote de webcam n'est pas déjà intégré dans le noyau (voir le module ov511) ?
Harf, peut être bien je ne peux pas tester, la webcam est chez ma copine...

J'essayerai ce soir, mais le problème de root est toujours présent, ne serait-ce que pour le useradd pour virtualbox par exemple.
Mais apparemment d'après mes recherche sur le net le 511 n'est pas suffisant pour la Webcam eye-toys .
Verifie la presence des repertoires que je t'ai indique dans ton $PATH.
C'est une solution qui devrait marcher.

Si tu as /sbin, ou /usr/sbin, alors tu es sur d'etre en root, puique seul celui-ci les possede.
[fduret@toto] ~
1000 1 11:41 $ echo $PATH
/usr/lib64/qt-3.3/bin:/usr/kerberos/bin:/usr/lib64/ccache:/usr/local/bin:/usr/bin:/bin:/usr/X11R6/bin:/home/fduret/bin:/usr/local/Intel/Fortran/bin:/usr/local/Intel/idbe/bin:/usr/local/Intel/32/Fortran/bin:/usr/local/GMT/bin:/usr/local/sac/bin:/home/fduret/AmbientNoise/bin:/home/fduret/bin:/usr/local/Intel/Fortran/bin:/usr/local/Intel/idbe/bin:/usr/local/Intel/32/Fortran/bin:/usr/local/GMT/bin:/usr/local/sac/bin:/home/fduret/AmbientNoise/bin

[root@toto ~]# echo $PATH
/usr/lib64/qt-3.3/bin:/usr/kerberos/sbin:/usr/kerberos/bin:/usr/lib64/ccache:/usr/local/sbin:/usr/local/bin:[b]/sbin[/b]:/bin:[b]/usr/sbin[/b]:/usr/bin:/root/bin
edit: 1000 messages... Et ben..
Fox Delta wrote:Si tu as /sbin, ou /usr/sbin, alors tu es sur d'etre en root, puique seul celui-ci les possede.
.
ben non, pas forcément, j'ai toujours mis /sbin dans mon path.
$LOGNAME me parait plus fiable
Oui, a moins que tu n'aie modifie ton PATH effectivement. Personnellement, je prefere garder les choses comme elles sont, si ces repertoires ne sont pas dans les PATH des utilisateurs, c'est qu'il doit y avoir une raison.
Bref, c'est une affaire de gout...