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 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 wink

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 wink

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é wink
Sinon Je peux plus rien pour toi roll

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é wink

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? roll
Merci de ton acharnement wink

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

Totor a écrit :

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 ... wink

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 hmm

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 wink

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

DnsF a écrit :

Ç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

llwynrt a écrit :

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

Dark-Sham a écrit :
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,

Dark-Sham a écrit :

C'est pourtant bizarre que tty marche pas dans ton script, chez moi ça marche hmm

tty donne le tty dans le quel le script a été lancé pas le tty courant à l'affichage.

Dark-Sham a écrit :

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... sad

@llwynrt, je vais essayer de voir ça, mais pas ce soir, je rentre d'un dur WE wink

Hors ligne

#21 Le 27/10/2008, à 20:39

Dark-Sham

Re : [Plus Résolu] Récuperer le display en cours d'utilisation

DnsF a écrit :

Bonjour,

Dark-Sham a écrit :

C'est pourtant bizarre que tty marche pas dans ton script, chez moi ça marche hmm

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