GNU/Linux >> Tutoriels Linux >  >> Linux

Comment savoir si je cours dans un écran Linux ou non ?

Solution 1 :

(Volé de "Comment puis-je savoir si je suis dans un écran ?" sur StackOverflow et rédigé par l'utilisateur jho. P.S. Vous ne pouvez pas voter pour un doublon sur les sites StackExchange.)

Vérifier $STY . S'il est nul, vous êtes sur un "vrai" terminal. S'il contient quelque chose, c'est le nom de l'écran dans lequel vous vous trouvez.

Si vous n'êtes pas à l'écran :

[email protected] ~ $ echo $STY
[email protected] ~ $ 

Si vous êtes en écran :

[email protected] ~ $ echo $STY
2026.pts-0.ip-10-0-1-71

Si vous utilisez tmux au lieu de screen, cochez également $TMUX . Pour ajouter ceci à votre invite, ajoutez ce qui suit à votre ~/.bashrc :

if [ -n "$STY" ]; then export PS1="(screen) $PS1"; fi
if [ -n "$TMUX" ]; then export PS1="(tmux) $PS1"; fi

Solution 2 :

Recherchez $STY qui fournit des détails que screen utilise pour communiquer avec lui-même ; $WINDOW sera alors le screen actuel numéro de fenêtre.

Solution 3 :

La vérification simple que j'utilise habituellement consiste simplement à appuyer sur Ctrl -un :

  • Si le curseur saute au début de la ligne , je ne suis pas à l'intérieur une session d'écran.

  • Si rien ne se passe , je sais que je suis à l'intérieur une session d'écran et que je viens d'utiliser la touche de contrôle d'écran. J'ai ensuite appuyé sur a (saut au début de la ligne), w (afficher les fenêtres d'écran actuelles) ou exécuter une autre commande d'écran "inoffensive" pour revenir à l'invite de commande.

(Bien sûr, cela ne fonctionne que si vous exécutez actuellement bash ou un autre logiciel qui "saute au début de la ligne" ou fait quelque chose d'aussi inoffensif lorsque vous appuyez sur Ctrl-a.)

Solution 4 :

Eh bien, la plupart du temps (en l'absence des tentatives de quelqu'un de visser avec des choses) votre TERM sera défini sur screen (ou au moins mentionner screen quelque part).

La solution simple au problème consiste simplement à exécuter l'écran partout. Ne quittez pas la maison sans elle, dis-je.

Solution 5 :

Je garde ça dans mon .bashrc :

 PS1='[\[email protected]\h \W'
 if [ "$WINDOW" ]; then PS1="$PS1 ($WINDOW)"; fi
 PS1="$PS1]$"

Ce n'est pas infaillible, mais chaque fois que je crée un nouvel écran, il met le numéro de fenêtre dans l'invite.Si je n'exécute pas screen , il n'y a pas de numéro.


Linux
  1. Comment utiliser la commande "screen" sous Linux

  2. Comment savoir si j'exécute un shell imbriqué ?

  3. Comment savoir si mon noyau Linux fonctionne en 32 bits ou 64 bits ?

  4. Comment savoir où un programme est bloqué sous Linux ?

  5. Comment savoir si j'utilise Linux 32 ou 64 bits ?

Comment répertorier les processus en cours d'exécution sous Linux

Comment installer et utiliser Linux Screen ?

Comment utiliser l'écran Linux

Comment vérifier si vous êtes en session d'écran ou pas sous Linux

Comment connaître les groupes d'un utilisateur Linux

dans la console Linux, comment NE PAS envelopper la sortie