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 06/12/2008, à 11:20

aurelbobol6

Détection de session ouverte

Bonjour,

je voulais savoir si il existait quelque chose en c++ (ou avec des commandes systèmes) pour savoir si une session était ouverte sous ubuntu.

Cette application tournerait en démon et dans le cas ou aucune session n'est ouverte, il effectue mon traitement souhaité.

Merci d'avance pour votre aide

Aurel

#2 Le 06/12/2008, à 11:54

frafa

Re : Détection de session ouverte

Salut,
moi je testerais comme ca, mais bon a surement des commandes dediées que je ne connait pas...

if [[ "$(ps ax | grep x-session-manager)" && $(ls -l /etc/alternatives/x-session-manager | grep /usr/bin/gnome-session) ]]; then
echo gnome-session en cours...
else
echo pas detecté de gnome-session
fi

Dernière modification par frafa (Le 06/12/2008, à 11:54)

Hors ligne

#3 Le 06/12/2008, à 12:04

aurelbobol6

Re : Détection de session ouverte

ok, merci!!

mais en gros, que signifie la première ligne? big_smile je dois tester ca dans un fichier .sh ?
désolé je débute seulement sous ubuntu, j'ai un peu du mal ... hmm

merci pour ta réponse

#4 Le 06/12/2008, à 12:07

jofab

Re : Détection de session ouverte

Bonjour
essaye plutot avec la commande "who" car il peut y avoir des personnes loggees sans qu'il y ai une session gnome d'ouverte...
Jo

Hors ligne

#5 Le 06/12/2008, à 12:39

jofab

Re : Détection de session ouverte

qqc comme ca :

if [[ `who | wc -l`==`who | grep "^mon_username" | wc -l` ]]; then
echo "personne"
else
echo "session ouverte"
fi

(Je ne suis pas certain de l'ecriture de mon "if" donc à verifier...)

La seule chose c'est qu'il faut relancer le test regulièrement pour verifier que qqn ne s'est pas logger entre temps...

Hors ligne

#6 Le 06/12/2008, à 13:23

frafa

Re : Détection de session ouverte

tout depend ce que tu veux faire...
et de ce que tu veux detecter, car comme te le dit jofab il peut en effet y avoir des user logés de differentes maniere , plusieurs users sous une session gnome ,
ou des user connectés via ssh , vnc, etc...

interesse toi a init.d (demande a google)

http://fr.wikipedia.org/wiki/Run_level
http://www.ac-creteil.fr/reseaux/systemes/linux/init.html
https://help.ubuntu.com/community/UbuntuBootupHowto
pour ubuntu tu as un fichier exemple de squelette dans:
/etc/init.d/skeleton

Hors ligne