Léa-Linux & amis :   LinuxFR   GCU-Squad   GNU
screen (gestionnaire de terminal)
Envoyé par: lugburz

bonjour,

je recherche une information sur le fonctionnement du programme screen ("gestionnaire de fenetre" en mode console) :

Comment fait-on pour savoir qu'on est à l'intérieur d'un screen ?
L'idée, c'est que j'ai un programme qui ouvre un nouvel xterm en cours d'execution (pour montrer le détail d'un calcul) et je voudrais que cette fenetre soit à l'intérieur d'un screen si et seulement si le programme original a lui meme été lancé dans un screen.
Je dois pouvoir tester ceci dans le code source du programme, donc les racourcis clavier comme "C-a w" ne devraient pas pouvoir m'etre utiles.

Merci pour ceux qui vont réflechir au problème (et encore plus à ceux qui ont la solution winking smiley )
De mon côté je vais continuer à chercher et je posterai la solution si je trouve avant vous.

a+
lugburz

Poste le Thursday 29 March 2007 10:55:05
Répondre     Citer    
Re: screen (gestionnaire de terminal)
Envoyé par: lugburz

chose promise, chose (à moitié) due :
la variable d'environnement $STY est propre à un environnement screen,ie :
- en dehors d'un screen, 'echo $STY' n'affiche rien
- dans un screen, 'echo $STY' affiche un truc du genre 65431.pts-5.server

Ca ne resout pas totalement mon probleme : il faut encore que je trouve une façon propre de tester la sortie de 'echo $STY' (commande system) dans le code C++....

a+

Poste le Thursday 29 March 2007 17:00:52
Répondre     Citer    
Re: screen (gestionnaire de terminal)

Citation
lugburz
Ca ne résoud pas totalement mon probleme : il faut encore que je trouve une façon propre de tester la sortie de 'echo $STY' (fonction system) dans le code C++....

Tu n'as absoluement pas besoin de lire la sortie de la commande
echo $STY
(mais si tu tiens à le faire, regardes du coté de la fonction popen).

Tu as juste besoin d'obtenir (par la fonction getenv) la valeur de la variable d'environment STY, càd
char*styenv = getenv("STY");
if (styenv) { /* faire quelquechose */ }


----

Basile STARYNKEVITCH

Membre de l'APRIL « promouvoir et défendre le logiciel libre » - adhérez vous aussi à l'APRIL!

Projet logiciel libre: RefPerSys

Poste le Thursday 29 March 2007 17:14:55
Répondre     Citer    
Re: screen (gestionnaire de terminal)
Envoyé par: lugburz

bonjour

la fonction getenv correspond bien à ce que je voulais faire.
Merci beaucoup

a+
lugburz

Poste le Friday 30 March 2007 13:12:31
Répondre     Citer    

Veuillez vous authentifier auparavant pour commenter.

 

Ce forum !
screen (gestionnaire de terminal)
Posez dans ce forum les questions qui ne trouvent pas place dans les autres...

Sauf mention contraire, les documentations publiées sont sous licence Creative-Commons