[bash] Commande who pour session X (résolu)
[bash] Commande who pour session X (résolu)
Bonjour,
Je cherche, dans un script, à connaitre le nom des utilisateurs logués sur une session graphique et quel tty ils utilisent. La commande who me renvoie uniquement les utilisateurs logués en session console (tty1 à tty6)mais rien sur les session X. Quelqu'un a-t-il une idée?
Je cherche, dans un script, à connaitre le nom des utilisateurs logués sur une session graphique et quel tty ils utilisent. La commande who me renvoie uniquement les utilisateurs logués en session console (tty1 à tty6)mais rien sur les session X. Quelqu'un a-t-il une idée?
Dernière modification par lesebas le jeu. 12 sept. 2013, 23:26, modifié 1 fois.
Seb
Archlinux sur AMD64 (xfce / lightdm)
Archlinux sur AMD64 (xfce / lightdm)
- benjarobin
- Maître du Kyudo
- Messages : 17187
- Inscription : sam. 30 mai 2009, 15:48
- Localisation : Lyon
Re: [bash] Commande who pour session X (en cours)
Zsh | KDE | PC fixe : core i7, carte nvidia
Titre d'un sujet : [Thème] Sujet (état) / Règles du forum
Titre d'un sujet : [Thème] Sujet (état) / Règles du forum
Re: [bash] Commande who pour session X (en cours)
Salut,
Bien c'est pas mieux... loginctl ne me retourne que mes sessions, que je lance depuis n'importe quelle console (voir un xterminal ouvert par un autre user):
Voila ce que me retourne cat /etc/passwd :
Bien c'est pas mieux... loginctl ne me retourne que mes sessions, que je lance depuis n'importe quelle console (voir un xterminal ouvert par un autre user):
Code : Tout sélectionner
[stephanie@Vulpus ~]$ loginctl
SESSION UID USER SEAT
1 1000 sebastien seat0
4 1000 sebastien seat0
2 sessions listed.
[stephanie@Vulpus ~]$
Code : Tout sélectionner
[sebastien@Vulpus ~]$ cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/bin/false
daemon:x:2:2:daemon:/sbin:/bin/false
mail:x:8:12:mail:/var/spool/mail:/bin/false
ftp:x:14:11:ftp:/srv/ftp:/bin/false
http:x:33:33:http:/srv/http:/bin/false
uuidd:x:68:68:uuidd:/:/sbin/nologin
dbus:x:81:81:dbus:/:/sbin/nologin
nobody:x:99:99:nobody:/:/bin/false
sebastien:x:1000:100:Sébastien:/home/sebastien:/bin/bash
avahi:x:84:84:avahi:/:/bin/false
polkitd:x:102:102:Policy Kit Daemon:/:/bin/false
usbmux:x:140:140:usbmux user:/:/sbin/nologin
lxdm:x:121:121::/var/lib/lxdm:/bin/bash
stephanie:x:1001:100:Stéphanie:/home/stephanie:/bin/bash
gdm:x:120:120:Gnome Display Manager:/var/lib/gdm:/sbin/nologin
Seb
Archlinux sur AMD64 (xfce / lightdm)
Archlinux sur AMD64 (xfce / lightdm)
Re: [bash] Commande who pour session X (en cours)
En fait j'utilise XFCE avec lxdm pour me loguer. loginctl retourne en fait l'ID de la première session ouverte, ensuite quand j'ouvre une autre session en repassant par lxdm c'est comme si les nouveau utilisateur utilisait la session initial. D'ailleurs si je ferme la première session loginctl retouren toujours le nopm de l'utilisateur qui veint d'être déloguer... Je ne sais pas si c'est clair
Seb
Archlinux sur AMD64 (xfce / lightdm)
Archlinux sur AMD64 (xfce / lightdm)
- benjarobin
- Maître du Kyudo
- Messages : 17187
- Inscription : sam. 30 mai 2009, 15:48
- Localisation : Lyon
Re: [bash] Commande who pour session X (en cours)
loginctl est à lancer en root bien sûr, pour des questions évidente de sécurité ton user ne peut voir que ses propres sessions
Zsh | KDE | PC fixe : core i7, carte nvidia
Titre d'un sujet : [Thème] Sujet (état) / Règles du forum
Titre d'un sujet : [Thème] Sujet (état) / Règles du forum
Re: [bash] Commande who pour session X (en cours)
Non ce n'est pas mieux en root :
Par contre si j'ouvre des sessions dans des terminaux (tty 1 et 2 pour l'exemple) en lançant la commande même sans être en root je les vois :
Code : Tout sélectionner
[root@Vulpus sebastien]# loginctl
SESSION UID USER SEAT
1 1001 stephanie seat0
1 sessions listed.
[root@Vulpus sebastien]#
Code : Tout sélectionner
[root@Vulpus sebastien]# exit
exit
[sebastien@Vulpus ~]$ loginctl
SESSION UID USER SEAT
1 1001 stephanie seat0
2 1000 sebastien seat0
3 1001 stephanie seat0
3 sessions listed.
[sebastien@Vulpus ~]$
Seb
Archlinux sur AMD64 (xfce / lightdm)
Archlinux sur AMD64 (xfce / lightdm)
Re: [bash] Commande who pour session X (en cours)
Bon j'ai réussi à contourner le problème en ajoutant un petit script à l'ouverture des sessions qui enregistre le numéro de terminal et le nom d'utilisateur :
Mais c'est quand même bizarre tout ça!
Code : Tout sélectionner
#!/bin/bash
list_user="/tmp/list_user_connected"
user_tty=$(sudo fgconsole)
user_name=$(eval whoami)
#vérifie si le fichier contenant la liste des utilisateurs connectés existe
# s'il existe, supprime l'utilisateur qui se connecte (deconnexion + reconnexion)
# ajoute le numéro de tty + nom user
if test -e $list_user
then
sed -i "/$user_name/d" $list_user
echo -e $user_tty" "$user_name\\r >> $list_user
else
echo -e $user_tty" "$user_name\\r > $list_user
chmod g+rw $list_user
chmod o+rw $list_user
fi
Seb
Archlinux sur AMD64 (xfce / lightdm)
Archlinux sur AMD64 (xfce / lightdm)
Re: [bash] Commande who pour session X (en cours)
Tu devrais essayer ceci : https://bbs.archlinux.org/viewtopic.php ... 8#p1247658
Tu pourrais aussi essayer avec lightdm par exemple (comme le souci semble lié à lxdm ...)
Tu pourrais aussi essayer avec lightdm par exemple (comme le souci semble lié à lxdm ...)
Re: [bash] Commande who pour session X (en cours)
Non ça n'ai pas vraiment mon problème...tuxce a écrit :Tu devrais essayer ceci : https://bbs.archlinux.org/viewtopic.php ... 8#p1247658
J'ai bien suivi ce post, mais la correction est déja inclus dans la version courrante de lxdm :
https://bbs.archlinux.org/viewtopic.php?id=143913
Par contre je viens de tester lightdm... tout fonctionne correctement du coté de loginctl... donc visiblement ça vient de lxdm. J'attends d'avoir d'autres avis pour reporter un bug!tuxce a écrit :Tu pourrais aussi essayer avec lightdm par exemple (comme le souci semble lié à lxdm ...)
Seb
Archlinux sur AMD64 (xfce / lightdm)
Archlinux sur AMD64 (xfce / lightdm)
Re: [bash] Commande who pour session X (en cours)
Bon il s'agit bien d'un bug de lxdm :
https://bugs.archlinux.org/task/36533
Mais apparemment pas trop de solution pour le moment... j'ai reporté dans le upstream :
https://sourceforge.net/tracker/?func=d ... tid=894869
https://bugs.archlinux.org/task/36533
Mais apparemment pas trop de solution pour le moment... j'ai reporté dans le upstream :
https://sourceforge.net/tracker/?func=d ... tid=894869
Seb
Archlinux sur AMD64 (xfce / lightdm)
Archlinux sur AMD64 (xfce / lightdm)
Re: [bash] Commande who pour session X (en cours)
OK bug résolu dans la dernière version du git de lxdm !
Seb
Archlinux sur AMD64 (xfce / lightdm)
Archlinux sur AMD64 (xfce / lightdm)