#1 Le 02/08/2008, à 23:53
- DnsF
[Plus Résolu] Récuperer le display en cours d'utilisation
Bonjour,
Je souhaiterais récupérer le display sur lequel on ce trouve à ce moment.
J'ai plusieurs compte user sur mon PC et un script qui tourne sur la session maître (qui ce lance automatiquement au démarrage)
Quand un autre user ce connecte, cela créait un autre display (:20.0 avec Fast User Switch Applet)
J'ai pus voir qu'un fichier /var/lib/gdm/:20.Xservers ce créait, ce qui indique que la session est ouverte. Mais je n'arrive pas à savoir (depuis mon scipt) si je suis revenu sur mon display :0.0.
J'ai essayer de voir avec les tty, mais je n'ai rien trouvé.
Merci pour toutes informations.
Dernière modification par DnsF (Le 02/04/2010, à 19:30)
Hors ligne
#2 Le 03/08/2008, à 00:10
- william_evilangel
Re : [Plus Résolu] Récuperer le display en cours d'utilisation
dans un terminal
echo $DISPLAY
Dernière modification par william_evilangel (Le 03/08/2008, à 00:10)
« on peut être un partisan de l'open source sans être fondamentaliste »
Hors ligne
#3 Le 03/08/2008, à 12:01
- DnsF
Re : [Plus Résolu] Récuperer le display en cours d'utilisation
Merci pour cette réponse rapide, MAIS...
Cette variable est propre à chaque session donc elle ne change pas suivant l'utilisateur actif.
Elle reste toujours à :0.0 pour le maître et à :20.0 pour l'élève
Hors ligne
#4 Le 23/09/2008, à 09:48
- DnsF
Re : [Plus Résolu] Récuperer le display en cours d'utilisation
Petit up, je n'ai toujours pas trouvé de réponse convenable.
Hors ligne
#5 Le 23/09/2008, à 16:04
- Bigcake
Re : [Plus Résolu] Récuperer le display en cours d'utilisation
si c'est dans un script shell tu peut tester 'who -u' il me semble que sa te donne ce que tu veux
"Les gens" ne sont pas cons, ils ont été habitués à la facilité et à la désinformation. Le meilleur moyen de ne pas les aider, c'est de se moquer. Le meilleur moyen de les aider, c'est de les informer, encore et encore. La réflexion viendra. N'oubliez pas que vous aussi, vous êtes le con d'un autre.
Smartphone+GNU/Linux=Librem5
Hors ligne
#6 Le 23/09/2008, à 16:17
- DnsF
Re : [Plus Résolu] Récuperer le display en cours d'utilisation
Merci, ça avance un peu, mais il me donne tous ceux qui y sont connectés avec tout les tty.
Hors, moi je voudrais savoir justement quel est le tty actif en ce moment.
Hors ligne
#7 Le 23/09/2008, à 16:33
- Bigcake
Re : [Plus Résolu] Récuperer le display en cours d'utilisation
Je suis pas sur de bien comprendre ce que tu veux......
Essaye 'ps aux' ou 'ps au' ou 'ps a', regarde le 'man' correspondant si sa s'approche de ce que tu veux ^^
si tu ne veux qu'une ligne tu peux jouer avec un ou des 'grep'
"Les gens" ne sont pas cons, ils ont été habitués à la facilité et à la désinformation. Le meilleur moyen de ne pas les aider, c'est de se moquer. Le meilleur moyen de les aider, c'est de les informer, encore et encore. La réflexion viendra. N'oubliez pas que vous aussi, vous êtes le con d'un autre.
Smartphone+GNU/Linux=Librem5
Hors ligne
#8 Le 23/09/2008, à 17:53
- DnsF
Re : [Plus Résolu] Récuperer le display en cours d'utilisation
Encore perdu
Ce que je voudrais, c'est une instruction qui me renvoie le tty actif:
Je me logue sur :0, ça me retourne :0
J'ouvre une autre session sous :20, ça me retourne :20
Je fait (Ctrl-Alt-F7), ça me retourne :0
Je fait (Ctrl-Alt-F1), ça me retourne tty1
Je fait (Ctrl-Alt-F2), ça me retourne tty2
etc...
Ce script étant lancer sur :0 à l'ouverture de ma session.
Hors ligne
#9 Le 23/09/2008, à 19:12
- Bigcake
Re : [Plus Résolu] Récuperer le display en cours d'utilisation
Hum.....je ne suis pas sur qu'il y ait une instruction qui te donne sa mais je peux me tromper je ne suis pas non plus un expert en la matiere ^^!
Ce que je peux te proposer c'est de faire du script shell a base de who, de ps, de grep et de cut
chez moi sa donne :
>'who -m'
big pts/1 2008-09-23 18:50 (:0.0)
>who -m | cut -d "(" -f '2' sa me donne :
:0.0)
>who -m | cut -d "(" -f '2' | cut -d "." -f '1' :
:0
pour mon xterm en cours j'ai donc reussi a recuperer le :0 correspondant au display (ce que tu voulais non ?) apres pour tes tty, sa reviens un peu au meme :
Mais je pense que l'utilisation de 'ps aux' est plus adequat :
>ps aux | grep tty
root 4762 0.0 0.0 1716 508 tty4 Ss+ 17:40 0:00 /sbin/getty 38400 tty4
root 4763 0.0 0.0 1716 508 tty5 Ss+ 17:40 0:00 /sbin/getty 38400 tty5
root 4767 0.0 0.0 1716 508 tty2 Ss+ 17:40 0:00 /sbin/getty 38400 tty2
root 4768 0.0 0.0 1716 508 tty3 Ss+ 17:40 0:00 /sbin/getty 38400 tty3
root 4769 0.0 0.0 1716 508 tty6 Ss+ 17:40 0:00 /sbin/getty 38400 tty6
root 5190 1.7 4.4 75144 69452 tty7 SLs+ 17:40 1:28 /usr/bin/X -br -nolisten tcp :0 vt7 -auth /var/run/xauth/A:0-sbRp7l
root 5799 0.0 0.0 1716 508 tty1 Ss+ 17:40 0:00 /sbin/getty 38400 tty1
>ps aux | grep tty | grep "/usr/bin/X"
root 5190 1.7 4.4 75144 69452 tty7 SLs+ 17:40 1:29 /usr/bin/X -br -nolisten tcp :0 vt7 -auth /var/run/xauth/A:0-sbRp7l
>ps aux | grep tty | grep "/usr/bin/X" | cut -d " " -f 15
tty7
Après tu peux faire un tour dans les man de ps et who voir si tu a besoin d'info supplementaire en utilisant d'autre options, tu adapte sa a ce que tu veux faire et c gagné
Sinon Je peux plus rien pour toi
Dernière modification par Bigcake (Le 23/09/2008, à 19:17)
"Les gens" ne sont pas cons, ils ont été habitués à la facilité et à la désinformation. Le meilleur moyen de ne pas les aider, c'est de se moquer. Le meilleur moyen de les aider, c'est de les informer, encore et encore. La réflexion viendra. N'oubliez pas que vous aussi, vous êtes le con d'un autre.
Smartphone+GNU/Linux=Librem5
Hors ligne
#10 Le 23/09/2008, à 22:51
- DnsF
Re : [Plus Résolu] Récuperer le display en cours d'utilisation
Encore raté
Je pense que tu es parti dans une mauvaise direction...
J'essaie de t'expliquer le truc.
Donc, je lance le PC et me logue en tant qu'utilisateur Util1
who -m me donne:
Util1 pts/0 2008-09-23 22:17 (:0.0)
Avec Fast User Switch Applet, je logue Util2
who -m dans le terminal me donne:
Util2 pts/1 2008-09-23 22:17 (:20.0)
puis Util3
who -m dans le terminal me donne:
Util3 pts/2 2008-09-23 22:17 (:21.0)
Je reviens sous :0.0 avec (Ctrl-Alt-F7)
who -m dans le terminal me donne:
Util1 pts/0 2008-09-23 22:17 (:0.0)
Alors que dans mon script lancer au log de Util1
who -m me donne:
who me donne:
Util1 tty7 2008-09-23 08:27 (:0)
Util2 tty9 2008-09-23 22:14 (:20)
Util3 tty10 2008-09-23 22:15 (:21)
Util1 pts/0 2008-09-23 22:17 (:0.0)
Util2 pts/1 2008-09-23 22:18 (:20.0)
Util3 pts/2 2008-09-23 22:18 (:21.0)
Ce que je voudrais est:
Je fais (Ctrl-Alt-F7) (Util1)
who -m dans mon script me donne:
Util1 pts/0 2008-09-23 22:17 (:0.0)
Je fais (Ctrl-Alt-F9) (Util2)
who -m dans mon script me donne:
Util2 pts/1 2008-09-23 22:17 (:20.0)
Je fais (Ctrl-Alt-F10) (Util3)
who -m dans mon script me donne:
Util3 pts/2 2008-09-23 22:17 (:21.0)
Ai-je été assez clair?
Merci de ton acharnement
PS:
Si je me connecte via ssh avec Putty:
who -m dans le terminal me donne:
Util1 pts/0 Sep 26 10:17 (XXX.xxx.XXX.xxx)
Dernière modification par DnsF (Le 26/09/2008, à 10:28)
Hors ligne
#11 Le 22/10/2008, à 11:21
- DnsF
Re : [Plus Résolu] Récuperer le display en cours d'utilisation
Petit UP ...
Hors ligne
#12 Le 22/10/2008, à 11:40
- Totor
Re : [Plus Résolu] Récuperer le display en cours d'utilisation
Salut,
voilà une partie de la réponse :
tty
te donne le terminal courant...
-- Lucid Lynx --
Hors ligne
#13 Le 22/10/2008, à 15:02
- Dark-Sham
Re : [Plus Résolu] Récuperer le display en cours d'utilisation
Salut,
voilà une partie de la réponse :tty
te donne le terminal courant...
+1, c'est ce que je voulais dire
Script de sauvegarde/restauration APT
Ubuntu 8.04 "Hardy Heron"
CPU : AMD Athlon XP 2800+ ; GPU : ATI Radeon 9250/9200 Series ; RAM : 2 Gigots + 512 Mégots ; Carte mère : Asus A7N8X-E Deluxe
Hors ligne
#14 Le 22/10/2008, à 20:24
- DnsF
Re : [Plus Résolu] Récuperer le display en cours d'utilisation
Bonjour,
Désolé Totor et Dark-Sham
tty dans mon script lancé en auto me donne:
n'est pas un « tty »
tty dans mon script lancé dans un terminal me donne:
/dev/pts/0
tty dans mon script lancé dans un terminal quand je passe à un autre display (:20.0) me donne toujours :
/dev/pts/0
Vais-je réussir à trouver une solution?
Pour le moment j'utilise ce
TimeMode0=`stat -c '%Y' /var/log/Xorg.0.log`
TimeMode20=`stat -c '%Y' /var/log/Xorg.20.log`
UsingDisplay20=`test "$TimeMode0" -lt "$TimeMode20";echo $?`
Mais bon il ne me plais guère ...
Hors ligne
#15 Le 22/10/2008, à 23:24
- DnsF
Re : [Plus Résolu] Récuperer le display en cours d'utilisation
Ça y est, j'ai trouvé:
gdmflexiserver -a -c QUERY_VT
Ça me retourne OK et le numéro du tty actif
Merci à vous pour le temps passé...
Oups, j'oubliais ma source:
http://www.gnome.org/projects/gdm/docs/ … lling.html
Dernière modification par DnsF (Le 22/10/2008, à 23:25)
Hors ligne
#16 Le 25/10/2008, à 14:41
- Dark-Sham
Re : [Plus Résolu] Récuperer le display en cours d'utilisation
C'est pourtant bizarre que tty marche pas dans ton script, chez moi ça marche
Je vois que c'est une commande de gdm que tu utilises : si tu es dans un tty, je ne suis pas sûr qu'elle fonctionne.
Moi, je t'aurais plutôt proposé de faire des tests :
- si $DISPLAY contient une valeur, tu es dans ta session graphique
- si $DISPLAY est vide, tu es dans un tty : dans ce cas-là tu récupère son nom avec la commande tty.
à toi de voir maintenant
Dernière modification par Dark-Sham (Le 25/10/2008, à 14:42)
Script de sauvegarde/restauration APT
Ubuntu 8.04 "Hardy Heron"
CPU : AMD Athlon XP 2800+ ; GPU : ATI Radeon 9250/9200 Series ; RAM : 2 Gigots + 512 Mégots ; Carte mère : Asus A7N8X-E Deluxe
Hors ligne
#17 Le 27/10/2008, à 16:58
- llwynrt
Re : [Plus Résolu] Récuperer le display en cours d'utilisation
Ça y est, j'ai trouvé:
gdmflexiserver -a -c QUERY_VT
Ça me retourne OK et le numéro du tty actif
Merci à vous pour le temps passé...
Oups, j'oubliais ma source:
http://www.gnome.org/projects/gdm/docs/ … lling.html
bonjour
merci, je cherchais exactement ça !!
cependant, je souhaite le lancer par le cron de root et du coup, ça renvoit : ERROR 100 Not authenticated au lieu du tty actif ...
comment faire ?
Marie-Lyse
Les erreurs Windows, c'est un peu comme les rêves, il faut savoir les interpréter, parfois ça peut vouloir dire quelque chose !
Hors ligne
#18 Le 27/10/2008, à 17:26
- Dark-Sham
Re : [Plus Résolu] Récuperer le display en cours d'utilisation
comment faire ?
$ tty
ne fonctionne pas ?
Script de sauvegarde/restauration APT
Ubuntu 8.04 "Hardy Heron"
CPU : AMD Athlon XP 2800+ ; GPU : ATI Radeon 9250/9200 Series ; RAM : 2 Gigots + 512 Mégots ; Carte mère : Asus A7N8X-E Deluxe
Hors ligne
#19 Le 27/10/2008, à 17:33
- llwynrt
Re : [Plus Résolu] Récuperer le display en cours d'utilisation
llwynrt a écrit :comment faire ?
$ tty
ne fonctionne pas ?
non, j'ai la même réponse que plus haut :
n'est pas un « tty »
Marie-Lyse
Les erreurs Windows, c'est un peu comme les rêves, il faut savoir les interpréter, parfois ça peut vouloir dire quelque chose !
Hors ligne
#20 Le 27/10/2008, à 19:53
- DnsF
Re : [Plus Résolu] Récuperer le display en cours d'utilisation
Bonjour,
C'est pourtant bizarre que tty marche pas dans ton script, chez moi ça marche
tty donne le tty dans le quel le script a été lancé pas le tty courant à l'affichage.
Moi, je t'aurais plutôt proposé de faire des tests :
- si $DISPLAY contient une valeur, tu es dans ta session graphique
- si $DISPLAY est vide, tu es dans un tty : dans ce cas-là tu récupère son nom avec la commande tty.
Premier essai effectué mais fonctionne comme tty...
@llwynrt, je vais essayer de voir ça, mais pas ce soir, je rentre d'un dur WE
Hors ligne
#21 Le 27/10/2008, à 20:39
- Dark-Sham
Re : [Plus Résolu] Récuperer le display en cours d'utilisation
Bonjour,
Dark-Sham a écrit :C'est pourtant bizarre que tty marche pas dans ton script, chez moi ça marche
tty donne le tty dans le quel le script a été lancé pas le tty courant à l'affichage.
Ah d'accord. Ben du coup je sais pas, désolé ^^
Script de sauvegarde/restauration APT
Ubuntu 8.04 "Hardy Heron"
CPU : AMD Athlon XP 2800+ ; GPU : ATI Radeon 9250/9200 Series ; RAM : 2 Gigots + 512 Mégots ; Carte mère : Asus A7N8X-E Deluxe
Hors ligne
#22 Le 02/04/2010, à 19:32
- DnsF
Re : [Plus Résolu] Récuperer le display en cours d'utilisation
Bonjour à tous,
Je reviens à la charge gdmflexiserver n'est plus supporté???
gdmflexiserver --help
Utilisation :
gdmflexiserver [OPTION...] - Nouvelle connexion par GDM
Options de l'aide :
-h, --help Affiche les options de l'aide
Options de l'application :
-c, --command=COMMANDE Ignoré - maintenu pour compatibilité
-n, --xnest Ignoré - maintenu pour compatibilité
-l, --no-lock Ignoré - maintenu pour compatibilité
-d, --debug Sortie de débogage
-a, --authenticate Ignoré - maintenu pour compatibilité
-s, --startnew Ignoré - maintenu pour compatibilité
--monte-carlo-pi
--version Version de cette application
Quelqu'un a-t-il une autre méthode comparable (ou mieux)?
Hors ligne
#23 Le 06/04/2010, à 12:39
- DnsF
Re : [Plus Résolu] Récuperer le display en cours d'utilisation
Suite et réponse sur ce post http://forum.ubuntu-fr.org/viewtopic.php?id=388522
Dernière modification par DnsF (Le 07/04/2010, à 19:52)
Hors ligne