Est-il possible de donner un nom particulier à une session écran Unix? Par exemple, disons que j'exécute le même programme plusieurs fois, chacun avec des paramètres différents et que je veux dire lequel est lequel.
gnu-screen
bien en fait
la source
la source
Réponses:
Vous pouvez nommer une session lorsque vous la démarrez avec l'
-S name
option. À partir d'un écran en cours d'exécution, vous pouvez le modifier en tapantCTRL-a, :sessionname name
. Vous pouvez afficher les sessions d'écran en cours avecscreen -ls
et vous connecter à l'une par leur nom avecscreen -xS name
.Dans une session d'écran unique, vous pouvez également nommer chaque fenêtre. Faites ceci en tapant
CTRL-a, A
ensuite le nom que vous voulez. Vous pouvez afficher une liste interactive de fenêtres nommées en les saisissantCTRL-a, "
, puis sélectionner celle que vous souhaitez utiliser dans cette liste.Nommer à la fois les écrans et les terminaux dans les écrans est vraiment utile pour se rappeler de ce qu’ils sont et de la raison pour laquelle vous les avez démarrés.
la source
:sessionname NEWNAME
), mais il est "généralement déconseillé". La$STY
variable d'environnement fait toujours référence au nom d'origine. Voir lescreen
manuel: gnu.org/software/screen/manual/html_node/Session-Name.htmlIl y a deux concepts ici, et je ne suis pas sûr de savoir lequel vous avez en tête:
C-a c
crée une fenêtreC-a n
etC-a p
passe à la fenêtre suivante / précédente, etc.-r
ou-R
) crée une nouvelle session.Les titres de Windows peuvent être définis via l'
-t
option de ligne de commande, laC-a A
liaison de clé, latitle
commande ou la\ek
séquence d'échappement. Voir la réponse du shellter pour plus de détails.Les sessions peuvent avoir des noms. Vous définissez généralement le nom sur la ligne de commande avec l'
-S
option; si vous ne spécifiez pas de nom, l’écran en crée un. Si vous utilisez plusieurs sessions d'écran, vous leur donnerez généralement un nom différent. Vous pouvez lister la session d'écran en cours avecscreen -ls
; le premier mot sur chaque ligne de session est12345.sessionname
où 12345 est l'ID de processus d'écran. Utilisezscreen -r sessionname
ouscreen -r 12345
pour reprendre une session indiquée par son nom ou son ID de processus.la source
Ah ... Écran, ça me ramène ;-)
Pour une fenêtre
Pour plusieurs sessions démarrées depuis votre .screenrc
Voici un lien vers une copie en ligne de la page de manuel pour écran.
Edit: ajouté
Pour changer le nom de l'écran actuel, créez un outil de script shell comme
Non testé, je n'ai pas d'écran disponible sur le système sur lequel je travaille.
la source
screen
au moins 25 ans. Me reprend, parce que maintenant c'est un cas d'utilisation spécial qui m'emmèneraitscreen
. Normalement, je continue à ouvrirX-Terms
, mais je me souviens quand il semblait impossible de fonctionnerX
sur un PC 486 ;-) A la vôtre!En cours d'exécution
screen
:Ctrl+a
(ou quelle que soit votrescreen
séquence d'échappement)A
la source
Les réponses ci-dessus vous indiquent déjà comment nommer un écran lorsque vous le démarrez. Ils soulignent également qu’un écran ne peut plus être renommé après son démarrage. Le titre de la fenêtre peut être défini, mais le nom utilisé pour attacher à l'écran reste pid.pty.host.
Cependant, pour obtenir un effet utile, j’ai constaté que l’utilisation d’alias fonctionnait plutôt bien. Si j'oublie de nommer un écran ou si je me trouve dans une session avec un groupe d'écrans en place qui sont naturellement devenus des écrans pour des tâches particulières, je définis simplement un alias pour que la commande s'y attache.
Exemple:
L’émission de la commande alias par elle-même vous rappellera les écrans que vous avez en place et la commande que vous avez définie pour les y associer.
Utilisez
unalias
pour les enlever.la source