Manuels pour la ligne de commande

Man » Manuel de screen en ligne - documentation en ligne détaillée pour la page de manuel screen

🌍
screen - gestionnaire d'écran avec émulation de terminal VT100/ANSI

SYNOPSIS

screen [ -options ] [ cmd [ args ] ]
screen -r [[pid.]tty[.host]]
screen -r sessionowner/[[pid.]tty[.host]]

DESCRIPTION

Screen est un gestionnaire de fenêtres en plein écran qui multiplexe un terminal physique entre plusieurs processus (généralement des shells interactifs). Chaque terminal virtuel fournit les fonctions d'un terminal DEC VT100 et, en plus, plusieurs fonctions de contrôle des normes ISO 6429 (ECMA 48, ANSI X3.64) et ISO 2022 (par exemple, insertion/suppression de ligne et prise en charge de plusieurs jeux de caractères). Il existe un tampon d'historique de défilement pour chaque terminal virtuel et un mécanisme de copie-collage qui permet de déplacer des régions de texte entre les fenêtres.

Lorsque screen est appelé, il crée une seule fenêtre avec un shell à l'intérieur (ou la commande spécifiée) et se met ensuite en retrait pour que vous puissiez utiliser le programme comme vous le feriez normalement. Ensuite, à tout moment, vous pouvez créer de nouvelles fenêtres (en plein écran) avec d'autres programmes (y compris d'autres shells), tuer les fenêtres existantes, afficher une liste des fenêtres, activer et désactiver l'enregistrement de la sortie, copier-coller du texte entre les fenêtres, afficher l'historique de défilement, basculer entre les fenêtres de la manière que vous souhaitez, etc. Toutes les fenêtres exécutent leurs programmes complètement indépendamment les unes des autres. Les programmes continuent de s'exécuter lorsque leur fenêtre n'est pas visible et même lorsque toute la session screen est détachée du terminal de l'utilisateur. Lorsqu'un programme se termine, screen (par défaut) tue la fenêtre qui le contenait. Si cette fenêtre était au premier plan, l'affichage bascule vers la fenêtre précédente ; s'il n'en reste plus, screen se ferme. Les shells font généralement la distinction entre l'exécution en tant que shell de connexion ou sous-shell. Screen les exécute en tant que sous-shells, sauf indication contraire (voir la commande shell .screenrc).

Tout ce que vous tapez est envoyé au programme en cours d'exécution dans la fenêtre actuelle. La seule exception à cela est la frappe unique utilisée pour initier une commande au gestionnaire de fenêtres. Par défaut, chaque commande commence par un contrôle-a (abrégé C-a à partir de maintenant) et est suivie d'une autre touche. Le caractère de commande et toutes les liaisons de touches peuvent être entièrement personnalisés pour être ce que vous voulez, bien qu'ils soient toujours de deux caractères de long.

Screen ne comprend pas le préfixe C- pour signifier contrôle, bien que cette notation soit utilisée dans ce manuel pour plus de clarté. Veuillez utiliser la notation en chevron (^A au lieu de C-a) comme arguments pour, par exemple, la commande escape ou l'option -e. Screen affichera également les caractères de contrôle dans une notation en chevron.


La manière standard de créer une nouvelle fenêtre est de taper C-a c. Cela crée une nouvelle fenêtre exécutant une shell et bascule immédiatement vers cette fenêtre, quel que soit l'état du processus en cours d'exécution dans la fenêtre actuelle. De même, vous pouvez créer une nouvelle fenêtre avec une commande personnalisée en attribuant d'abord la commande à une touche (dans votre fichier .screenrc ou à l'invite de commande C-a :), puis en l'utilisant comme la commande C-a c. De plus, de nouvelles fenêtres peuvent être créées en exécutant une commande telle que :

screen emacs prog.c

à partir d'une invite de commande dans une fenêtre précédemment créée. Cela ne lancera pas une autre copie de

screen, mais fournira plutôt le nom de la commande et ses arguments au gestionnaire de fenêtres (spécifié dans la variable d'environnement $STY), qui l'utilisera pour créer la nouvelle fenêtre. L'exemple ci-dessus lancerait l'éditeur emacs (pour éditer prog.c) et basculerait vers sa fenêtre. Notez que vous ne pouvez pas transmettre de variables d'environnement de la shell appelante à l'application (emacs dans ce cas), car elle est lancée à partir du processus parent de screen, et non de la shell appelante.

Si /run/utmp est accessible en écriture par screen, un enregistrement approprié sera écrit dans ce fichier pour chaque fenêtre, et supprimé lorsque la fenêtre est terminée. Ceci est utile pour travailler avec talk, script, shutdown, rsend, sccs et d'autres programmes similaires qui utilisent le fichier utmp pour déterminer qui vous êtes. Tant que screen est actif sur votre terminal, l'enregistrement du terminal dans le fichier utmp est supprimé. Voir également C-a L.

DÉMARRAGE

Avant de commencer à utiliser screen, vous devez vous assurer que vous avez correctement sélectionné le type de votre terminal, comme vous le feriez pour tout autre programme termcap/terminfo. (Vous pouvez le faire en utilisant test, par exemple.)

Si vous êtes impatient et que vous souhaitez commencer sans lire beaucoup de choses, vous devez retenir cette commande : C-a ?. En tapant ces deux caractères, une liste des commandes screen disponibles et de leurs associations de touches s'affichera. Chaque touche est expliquée dans la section ASSOCIATIONS DE TOUCHES PAR DÉFAUT. La section CUSTOMISATION traite du contenu de votre fichier .screenrc.

Si votre terminal est un véritable terminal à marge automatique (il n'autorise pas la mise à jour de la dernière position de l'écran sans faire défiler l'écran), envisagez d'utiliser une version de la description termcap de votre terminal qui désactive les marges automatiques. Cela garantira une mise à jour précise et optimale de l'écran dans toutes les circonstances. La plupart des terminaux modernes ont des marges magiques (marge automatique plus dernière colonne utilisable). Il s'agit du type de style VT100 et il convient parfaitement à screen. Si tout ce que vous avez est un véritable terminal à marge automatique, screen se contentera de l'utiliser, mais la mise à jour d'un caractère placé dans la dernière position de l'écran peut ne pas être possible tant que l'écran ne fait pas défiler ou que le caractère n'est pas déplacé dans une position sûre d'une autre manière. Ce délai peut être réduit en utilisant un terminal doté de la capacité d'insertion de caractères.


OPTIONS DE LA LIGNE DE COMMANDE

Screen possède les options de ligne de commande suivantes :

-a  inclut toutes les fonctionnalités (avec quelques exceptions mineures) dans la description termcap de chaque fenêtre, même si Screen doit redessiner certaines parties de l’écran pour implémenter une fonction.

-A  Adapte la taille de toutes les fenêtres à la taille du terminal actuel. Par défaut, Screen tente de restaurer les anciennes tailles de fenêtre lors de la connexion à des terminaux redimensionnables (ceux dont la description contient WS, par exemple suncmd ou certains xterm).

-c fichier
Remplace le fichier de configuration par défaut, `$HOME/.screenrc`, par le fichier spécifié.

-d |-D [pid.tty.host]
Ne démarre pas Screen, mais détache la session Screen en cours d’exécution ailleurs. Cela a le même effet que la saisie de C-a d depuis le terminal de contrôle de Screen. -D équivaut à la touche de déconnexion forcée. Si aucune session ne peut être détachée, cette option est ignorée. En combinaison avec l’option -r/-R, des effets plus puissants peuvent être obtenus :

-d -r  Reconnecte une session et, si nécessaire, la détache d’abord.

-d -R  Reconnecte une session et, si nécessaire, la détache ou la crée.

-d -RR  Reconnecte une session et, si nécessaire, la détache ou la crée. Si plus d’une session est disponible, utilise la première session.

-D -r  Reconnecte une session. Si nécessaire, la détache et se déconnecte à distance.

-D -R  Se connecte ici et maintenant. Plus précisément, si une session est en cours d’exécution, elle est reconnectée. Si nécessaire, elle est détachée et déconnectée à distance. Si elle n’était pas en cours d’exécution, elle est créée et l’utilisateur est averti. C’est l’option préférée de l’auteur.

-D -RR  Se connecte ici et maintenant. Quoi que cela signifie, faites-le.

Remarque : Il est toujours bon de vérifier l’état de vos sessions à l’aide de la commande `screen -list`.

-e xy
Spécifie que le caractère de commande est x et que le caractère qui génère un caractère de commande littéral est y (lorsqu’il est saisi après le caractère de commande). La valeur par défaut est C-a et `a`, ce qui peut être spécifié comme -e^Aa. Lors de la création d’une session Screen, cette option définit le caractère de commande par défaut. Dans une session multi-utilisateurs, tous les utilisateurs ajoutés commenceront avec ce caractère de commande. Cependant, lors de la connexion à une session déjà en cours d’exécution, cette option modifie uniquement le caractère de commande de l’utilisateur qui se connecte. Cette option équivaut aux commandes `defescape` ou `escape`.

-f, -fn et -fa
active ou désactive le contrôle de flux ou définit le mode de commutation automatique. Cela peut également être défini via la commande `defflow` dans le fichier `.screenrc`.

-h num
Spécifie que la taille du tampon de défilement de l’historique est de num lignes.

-i
Indique que la touche d’interruption (généralement C-c) interrompt immédiatement l’affichage lorsque le contrôle de flux est activé. Voir la commande `defflow` dans le fichier `.screenrc` pour plus de détails. L’utilisation de cette option est déconseillée.

-l et -ln
active ou désactive le mode connexion (pour la mise à jour de /run/utmp). Cela peut également être défini via la commande `deflogin` dans le fichier `.screenrc`.

-ls [match]
-list [match]
ne démarre pas l’écran, mais affiche une liste de chaînes pid.tty.host et d’horodatages de création
identifiant vos sessions screen. Les sessions marquées « detached » peuvent être reprises avec screen -r.
Celles marquées « attached » sont en cours d’exécution et ont un terminal de contrôle. Si la session s’exécute en
mode multi-utilisateur, elle est marquée « multi ». Les sessions marquées « unreachable » se trouvent soit sur un autre hôte, soit sont « dead ». Une session inaccessible est considérée comme « dead » lorsque son nom correspond
au nom de l’hôte local ou au paramètre spécifié, le cas échéant. Voir l’option -r pour
une description de la façon de construire les correspondances. Les sessions marquées « dead » doivent être soigneusement
vérifiées et supprimées. Demandez à votre administrateur système si vous n’êtes pas sûr. Supprimez les sessions
avec l’option -wipe.

-L indique à screen d’activer l’enregistrement automatique de la sortie pour les fenêtres.

-Logfile fichier
Par défaut, le nom du fichier journal est screenlog.0. Vous pouvez définir un nouveau nom de fichier journal avec l’option -Logfile.

-m force screen à ignorer la variable d’environnement $STY. Avec screen -m, la création d’une nouvelle session est appliquée, que screen soit appelé à partir d’une autre session screen ou non. Cette option a une signification spéciale en relation avec l’option `-d` :

-d -m démarre screen en mode détaché. Cela crée une nouvelle session, mais ne s’y attache pas. Ceci est utile pour les scripts de démarrage du système.

-D -m démarre également screen en mode détaché, mais ne crée pas un nouveau processus. La commande se termine si la session se termine.

-O sélectionne un mode de sortie optimal pour votre terminal plutôt que l’émulation VT100 réelle (n’affecte que les terminaux à marge automatique sans `LP`). Cela peut également être défini dans votre fichier .screenrc en spécifiant `OP` dans une commande termcap.

-p number_or_name|-|=|+
Présélectionne une fenêtre. Ceci est utile lorsque vous souhaitez vous reconnecter à une fenêtre spécifique ou
vous souhaitez envoyer une commande via l’option -X à une fenêtre spécifique. Comme pour la commande select de screen, - sélectionne la fenêtre vide. Dans un cas particulier pour la reconnexion, = ouvre la liste des fenêtres
dans la fenêtre vide, et un + crée une nouvelle fenêtre. La commande ne sera pas exécutée si la fenêtre spécifiée n’a pas été trouvée.

-q supprime l’impression des messages d’erreur. En combinaison avec -ls, la valeur de sortie est la suivante : 9
indique un répertoire sans sessions. 10 indique un répertoire avec des sessions en cours d’exécution mais non attachables. 11 (ou plus) indique 1 (ou plus) sessions utilisables. En combinaison avec
-r, la valeur de sortie est la suivante : 10 indique qu’il n’y a pas de session à reprendre. 12 (ou plus) indique qu’il y a 2 (ou plus) sessions à reprendre et que vous devez spécifier
laquelle choisir. Dans tous les autres cas, -q n’a aucun effet.

-Q certaines commandes peuvent maintenant être demandées à partir d’une session distante à l’aide de cette option, par exemple, screen -Q windows. Les commandes enverront la réponse à la sortie standard du processus demandeur. S’il y a eu une erreur dans la commande, le processus demandeur se terminera avec un statut non nul.

echo
info
lastmsg
number
select
time
title
windows

-r [pid.tty.host]
-r sessionowner/[pid.tty.host]
réactive une session screen détachée. Aucune autre option (sauf les combinaisons avec -d/-D) ne peut être spécifiée, bien qu'un préfixe optionnel [pid.]tty.host puisse être nécessaire pour distinguer les multiples sessions screen détachées. La deuxième forme est utilisée pour se connecter à la session screen d'un autre utilisateur qui s'exécute en mode multi-utilisateur. Cela indique que screen doit rechercher des sessions dans le répertoire d'un autre utilisateur. Cela nécessite un privilège setuid-root.

-R   réactive screen uniquement lorsque c'est sans ambiguïté, généralement lorsqu'une seule session screen est détachée. Sinon, liste les sessions disponibles. -RR tente de réactiver la session screen la plus récente (en termes de temps de création) qu'elle trouve. En cas de succès, toutes les autres options de ligne de commande sont ignorées. Si aucune session détachée n'existe, démarre une nouvelle session en utilisant les options spécifiées, comme si -R n'avait pas été spécifié. L'option est définie par défaut si screen est exécuté en tant que shell de connexion (en fait, screen utilise -xRR dans ce cas). Pour les combinaisons avec l'option -d/-D, voir la description correspondante. Remarque : la sélection de session basée sur le temps est une addition de Debian.

-s program
définit le shell par défaut sur le programme spécifié, au lieu de la valeur de la variable d'environnement $SHELL (ou /bin/sh si elle n'est pas définie). Cela peut également être défini via la commande .screenrc du shell. Voir également cette commande.

-S sessionname
Lors de la création d'une nouvelle session, cette option peut être utilisée pour spécifier un nom significatif pour la session. Ce nom identifie la session pour les actions screen -list et screen -r. Il remplace le suffixe par défaut [tty.host]. Ce nom ne doit pas dépasser 80 symboles.

-t name
définit le titre (alias) pour le shell par défaut ou le programme spécifié. Voir également la commande shelltitle .screenrc.

-T term
Définit la variable d'environnement $TERM en utilisant le terme spécifié, au lieu du paramètre par défaut de screen.

-U   Exécute screen en mode UTF-8. Cette option indique à screen que votre terminal envoie et comprend des caractères codés en UTF-8. Elle définit également l'encodage par défaut pour les nouvelles fenêtres sur « utf8 ».

-v   Affiche le numéro de version.

-wipe [match]
fait la même chose que screen -ls, mais supprime les sessions détruites au lieu de les marquer comme « mortes ». Une session inaccessible est considérée comme morte lorsque son nom correspond soit au nom de l'hôte local, soit au paramètre explicitement donné, le cas échéant. Voir le drapeau -r pour une description sur la façon de construire les correspondances.

-x   Se connecte à une session screen qui n'est pas détachée (mode multi-affichage). Screen refuse de se connecter depuis l'intérieur. Mais lors de la mise en cascade de plusieurs écrans, les boucles ne sont pas détectées ; soyez prudent.

-X Envoyer la commande spécifiée à une session screen en cours d'exécution. Vous pouvez utiliser l'option -S pour spécifier la session screen si vous avez plusieurs sessions screen en cours. Vous pouvez utiliser l'option -d ou -r pour indiquer à screen de rechercher uniquement les sessions screen attachées ou détachées. Notez que cette commande ne fonctionne pas si la session est protégée par un mot de passe.

-4 Résoudre les noms d'hôte uniquement en adresses IPv4.

-6 Résoudre les noms d'hôte uniquement en adresses IPv6.

CONFIGURATIONS PAR DÉFAUT DES TOUCHES

Comme mentionné, chaque commande screen se compose d'un C-a suivi d'un autre caractère. Pour votre commodité, toutes les commandes qui sont liées à des lettres minuscules sont également liées à leurs caractères de contrôle correspondants (à l'exception de C-a a ; voir ci-dessous), de sorte que C-a c ainsi que C-a C-c peuvent être utilisés pour créer une fenêtre. Voir la section PERSONNALISATION pour une description de la commande.

Le tableau suivant montre les configurations par défaut des touches. Les virgules à la fin des cases avec plusieurs entrées de frappe sont des séparateurs, et non des éléments des configurations.

C-a ' (select) Invite à entrer un nom de fenêtre ou un numéro pour basculer vers cette fenêtre.

C-a " (windowlist -b) Présente une liste de toutes les fenêtres pour la sélection.

C-a digit (select 0-9) Bascule vers le numéro de fenêtre 0 à 9.

C-a - (select -) Bascule vers le numéro de fenêtre 0 à 9, ou vers la fenêtre vide.

C-a tab (focus) Bascule vers la région suivante. Voir également split, remove, only.

C-a C-a (other) Bascule vers la fenêtre affichée précédemment. Notez que cette configuration par défaut est le caractère de commande (C-a) tapé deux fois, sauf si elle est remplacée. Par exemple, si vous utilisez l'option -e]x, cette commande devient ]].

C-a a (meta) Envoie le caractère de commande (C-a) à la fenêtre. Voir la commande escape.

C-a A (title) Permet à l'utilisateur d'entrer un nom pour la fenêtre actuelle.

C-a b, (break) Envoie un signal d'interruption à la fenêtre.
C-a C-b

C-a B (pow_break) Réouvre la ligne du terminal et envoie un signal d'interruption.

C-a c, (screen) Crée une nouvelle fenêtre avec un shell et bascule vers cette fenêtre.
C-a C-c

C-a C (clear) Efface l'écran.

C-a d, (detach) Détache screen du terminal actuel.
C-a C-d

C-a D D (pow_detach) Détache et se déconnecte.

C-a f, (flow) Active/désactive ou met en mode automatique le flux.
C-a C-f

C-a F (fit) Redimensionne la fenêtre à la taille de la région actuelle.

C-a C-g (vbell) Active ou désactive le mode de sonnerie visuelle de screen.

C-a h (hardcopy) Écrit une copie du contenu de la fenêtre actuelle dans le fichier hardcopy.n.

C-a H (log) Démarre/arrête l'enregistrement du contenu de la fenêtre actuelle dans le fichier screenlog.n.

C-a i,             (info)            Affiche les informations sur la fenêtre actuelle.
C-a C-i

C-a k,             (kill)            Détruit la fenêtre actuelle.
C-a C-k

C-a l,             (redisplay)       Actualise complètement la fenêtre actuelle.
C-a C-l

C-a L              (login)           Active/désactive le slot de connexion de cette fenêtre. Disponible uniquement si l’écran est configuré pour mettre à jour la base de données utmp.

C-a m,             (lastmsg)         Répète le dernier message affiché dans la ligne de message.
C-a C-m

C-a M              (monitor)         Active/désactive la surveillance de la fenêtre actuelle.

C-a espace,         (next)            Passe à la fenêtre suivante.
C-a n,
C-a C-n

C-a N              (number)          Affiche le numéro (et le titre) de la fenêtre actuelle.

C-a retour arrière,     (prev)            Passe à la fenêtre précédente (opposé de C-a n).
C-a C-h,
C-a p,
C-a C-p

C-a q,             (xon)             Envoie un contrôle-q à la fenêtre actuelle.
C-a C-q

C-a Q              (only)            Supprime toutes les régions sauf la région actuelle. Voir également split, remove, focus.

C-a r,             (wrap)            Active/désactive le paramètre d’interligne de la fenêtre actuelle (active/désactive les marges automatiques de la fenêtre actuelle).
C-a C-r

C-a s,             (xoff)            Envoie un contrôle-s à la fenêtre actuelle.
C-a C-s

C-a S              (split)           Divise la région actuelle horizontalement en deux nouvelles régions. Voir également only, remove, focus.

C-a t,             (time)            Affiche les informations système.
C-a C-t

C-a v              (version)         Affiche la version et la date de compilation.

C-a C-v            (digraph)         Entre en mode digraph.
C-a w,             (windows)         Affiche la liste des fenêtres.
C-a C-w

C-a W              (width)           Active/désactive l’affichage en 80/132 colonnes.

C-a x ou C-a C-x   (lockscreen)      Verrouille ce terminal.

C-a X              (remove)          Supprime la région actuelle. Voir également split, only, focus.

C-a z,             (suspend)         Suspend l’écran. Votre système doit prendre en charge le contrôle des tâches de type BSD.
C-a C-z

C-a Z              (reset)           Réinitialise le terminal virtuel à ses valeurs par défaut.

C-a .,             (dumptermcap)     Écrit un fichier .termcap.

C-a ?,             (help)            Affiche les raccourcis clavier.

C-a \,             (quit)            Tue toutes les fenêtres et termine l’exécution de screen.

C-a :,             (colon)           Entre en mode ligne de commande.

C-a [,             (copy)            Entre en mode copie/historique.
C-a C-[,
C-a esc

C-a C-],           (paste .)         Écrit le contenu du tampon de copie dans la file d’attente d’entrée standard de la fenêtre actuelle.
C-a ]

C-a {,             (history)         Copie et colle une ligne de commande précédente.
C-a }

C-a >              (writebuf)        Écrit le contenu du tampon de presse-papiers dans un fichier.

C-a <              (readbuf)         Lit le contenu du fichier d’échange d’écran dans le tampon de presse-papiers.

C-a =              (removebuf)       Supprime le fichier utilisé par C-a < et C-a \>.

C-a ,              (license)         Affiche la provenance de Screen, son parcours et les raisons pour lesquelles vous pouvez l’utiliser.

C-a _              (silence)         Démarre/arrête la surveillance de la fenêtre actuelle pour détecter l’inactivité.

C-a |              (split -v)        Divise la région actuelle verticalement en deux nouvelles régions.

C-a *              (displays)        Affiche une liste de tous les écrans actuellement connectés.

PERSONNALISATION

Le répertoire des sockets utilise par défaut soit $HOME/.screen, soit simplement /tmp/screens, ou de préférence /run/screen, ce qui est défini lors de la compilation. Si Screen est installé avec l’option setuid-root, l’administrateur doit compiler Screen avec un répertoire de sockets approprié (non monté sur NFS). Si Screen n’est pas exécuté avec l’option setuid-root, l’utilisateur peut spécifier n’importe quel répertoire avec les permissions 700 dans la variable d’environnement $SCREENDIR.

Lorsque Screen est lancé, il exécute les commandes d’initialisation à partir des fichiers /etc/screenrc et des fichiers par défaut qui peuvent être remplacés de la manière suivante : pour le fichier screenrc global, Screen recherche la variable d’environnement $SYSSCREENRC (cette fonctionnalité de remplacement peut être désactivée lors de la compilation). Le fichier screenrc spécifique à l’utilisateur est recherché dans $SCREENRC, puis dans $HOME/.screenrc. L’option de ligne de commande -c a la priorité sur les fichiers screenrc utilisateur ci-dessus.

Les commandes dans ces fichiers sont utilisées pour définir des options, lier des fonctions à des touches et établir automatiquement une ou plusieurs fenêtres au début de votre session Screen. Les commandes sont listées une par ligne, les lignes vides étant ignorées. Les arguments d’une commande sont séparés par des tabulations ou des espaces et peuvent être entourés de guillemets simples ou doubles. Un `#' transforme le reste de la ligne en commentaire, sauf dans les guillemets. Les lignes illisibles sont signalées et ignorées. Les commandes peuvent contenir des références à des variables d’environnement. La syntaxe est similaire à celle du shell : "$VAR " ou "${VAR}". Notez que cela entraîne une incompatibilité avec les versions précédentes de Screen, car le caractère '$' doit maintenant être protégé avec un '\' si aucune substitution de variable n’est souhaitée. Une chaîne entre guillemets simples est également protégée contre la substitution de variable.

Deux fichiers de configuration sont fournis en guise d’exemples avec votre distribution Screen : etc/screenrc et etc/etcscreenrc. Ils contiennent un certain nombre d’exemples utiles pour diverses commandes.

La personnalisation peut également être effectuée « en ligne ». Pour entrer en mode commande, tapez C-a :. Notez que les commandes commençant par def modifient les valeurs par défaut, tandis que les autres modifient les paramètres actuels.

Les commandes suivantes sont disponibles :

acladd usernames [crypted-pw]

addacl usernames

Permet aux utilisateurs d’accéder pleinement à cette session Screen. Les noms d’utilisateur peuvent être un seul utilisateur ou une liste d’utilisateurs séparés par des virgules. Cette commande permet de se connecter à la session Screen et effectue l’équivalent de aclchg usernames +rwx "#?". exécutée. Pour ajouter un utilisateur avec un accès restreint, utilisez la commande aclchg ci-dessous. Si un deuxième paramètre facultatif est fourni, il doit s’agir d’un mot de passe crypté pour le ou les utilisateurs nommés. Addacl est un synonyme de acladd. Mode multi-utilisateur uniquement.


aclchg usernames permbits list

chacl usernames permbits list

Modifie les permissions pour une liste d'utilisateurs séparés par des virgules. Les bits de permission sont représentés par 'r', 'w' et 'x'. Préfixer avec '+' accorde la permission, '-' la supprime. Le troisième paramètre est une liste séparée par des virgules de commandes et/ou de fenêtres (spécifiées soit par numéro, soit par titre). La liste spéciale '#' fait référence à toutes les fenêtres, '?' à toutes les commandes. Si usernames ne contient qu'un seul '*', tous les utilisateurs connus sont affectés.

Une commande peut être exécutée lorsque l'utilisateur possède le bit 'x' pour cette commande. L'utilisateur peut saisir du texte dans une
fenêtre lorsque son bit 'w' est défini et qu'aucun autre utilisateur n'obtient de verrouillage d'écriture pour cette fenêtre. Les autres
bits sont actuellement ignorés. Pour retirer le verrouillage d'écriture d'un autre utilisateur dans la fenêtre 2 : `aclchg
username -w+w 2'. Pour autoriser un accès en lecture seule à la session : `aclchg username -w "#"'. Dès qu'un nom d'utilisateur est connu de screen, il peut se connecter à la session et (par défaut) dispose de toutes les permissions pour toutes les commandes et fenêtres. Les permissions pour les commandes acl, `at` et autres
doivent également être supprimées, sinon l'utilisateur pourrait être en mesure de récupérer le droit d'écriture. Les droits de l'utilisateur spécial nobody ne peuvent pas être modifiés (voir la commande su). `Chacl` est un synonyme de `aclchg`. Mode multi-utilisateur uniquement.

acldel username

Supprime un utilisateur de la liste de contrôle d'accès de screen. Si l'utilisateur est actuellement connecté, tous les écrans de cet utilisateur sont déconnectés de la session. Il ne peut plus se connecter. Mode multi-utilisateur uniquement.

aclgrp username [groupname]

Crée des groupes d'utilisateurs qui partagent des droits d'accès communs. Le nom du groupe est le nom d'utilisateur du chef de groupe. Chaque membre du groupe hérite des permissions accordées au chef de groupe. Cela signifie que si un utilisateur échoue à une vérification d'accès, une autre vérification est effectuée pour le chef de groupe. Un utilisateur est supprimé de tous les groupes, la valeur spéciale none est utilisée pour groupname. Si le deuxième paramètre est omis, tous les groupes dans lesquels l'utilisateur se trouve sont listés.

aclumask [[ users ] +bits | [ users ] -bits... ]

umask [[ users ] +bits | [ users ] -bits... ]

Cela spécifie l'accès dont disposent les autres utilisateurs aux fenêtres qui seront créées par l'appelant de la
commande. Les utilisateurs peuvent être none, un ou une liste d'utilisateurs connus séparés par des virgules. Si aucun utilisateur n'est spécifié, une liste de tous les utilisateurs actuellement connus est supposée. Bits est n'importe quelle combinaison de bits de contrôle d'accès autorisés, définis avec la commande aclchg. Le nom d'utilisateur spécial ? prédéfinit l'accès que les utilisateurs non encore connus recevront initialement pour n'importe quelle fenêtre. Le nom d'utilisateur spécial ??
prédéfinit l'accès que les utilisateurs non encore connus recevront pour n'importe quelle commande. Les droits de l'utilisateur spécial nobody ne peuvent pas être modifiés (voir la commande su). `Umask` est un synonyme de `aclumask`.

activité message

Lorsqu’une activité se produit dans une fenêtre en arrière-plan qui est surveillée, un message de notification s’affiche dans la ligne de message. Le message de notification peut être redéfini à l’aide de la commande activité. Chaque occurrence de %' dans le message est remplacée par le numéro de la fenêtre dans laquelle l’activité s’est produite, et chaque occurrence de^G` est remplacée par la définition du signal sonore dans votre fichier termcap (généralement un signal sonore audible). Le message par défaut est :

« Activité dans la fenêtre %n »

Notez que la surveillance est désactivée pour toutes les fenêtres par défaut, mais elle peut être modifiée à l’aide de la commande monitor (C-a M).

allpartial [ on | off ]

Si défini sur on, seule la ligne de curseur actuelle est actualisée lors d’un changement de fenêtre. Cela affecte toutes les fenêtres et est utile pour les terminaux lents. Le paramètre précédent de type « rafraîchissement complet/partiel » pour chaque fenêtre est restauré lorsque allpartial est désactivé. Il s’agit d’un indicateur global qui prend effet immédiatement sur toutes les fenêtres, en annulant les paramètres de rafraîchissement partiel. Cela ne modifie pas le comportement de rafraîchissement par défaut des nouvelles fenêtres.

altscreen [ on | off ]

Si défini sur on, la prise en charge de l’« écran alternatif » est activée dans les terminaux virtuels, comme dans xterm. Le paramètre initial est off.

at [identifiant][#|*|%] commande [args ...]

Exécute une commande sur d’autres écrans ou fenêtres comme si elle avait été saisie à cet endroit. at modifie le contexte (le « contexte de fenêtre courant » ou le « contexte d’écran courant ») de la commande. Si le premier paramètre décrit un contexte non unique, la commande sera exécutée plusieurs fois. Si le premier paramètre a la forme identifiant*, alors identifiant est mis en correspondance avec les noms d’utilisateurs. La commande est exécutée une fois pour chaque écran de l’utilisateur sélectionné. Si le premier paramètre a la forme identifiant%, alors identifiant est mis en correspondance avec les écrans. Les écrans sont nommés d’après les tty auxquels ils sont connectés. Le préfixe /dev/ ou /dev/tty peut être omis de l’identifiant. Si identifiant a un # ou rien en annexe, il est mis en correspondance avec les numéros et les titres de fenêtre. Omettre un identifiant devant le caractère #, * ou % sélectionne tous les utilisateurs, écrans ou fenêtres, car une correspondance de préfixe est effectuée. Notez que sur les écrans affectés, un court message décrira ce qui s’est passé. L’autorisation est vérifiée pour l’initiateur de la commande at, et non pour les propriétaires des écrans affectés. Notez que le caractère # fonctionne comme un caractère d’introduction de commentaire lorsqu’il est précédé d’un espace. Cela peut être échappé en le préfixant avec un \. L’autorisation est vérifiée pour l’initiateur de la commande at, et non pour les propriétaires des écrans affectés.

Avertissement : lors de la correspondance avec des fenêtres, la commande est exécutée au moins une fois par fenêtre. Les commandes qui modifient l’arrangement interne des fenêtres (comme `other`) peuvent être appelées à nouveau. Dans les fenêtres partagées, la commande sera répétée pour chaque écran connecté. Faites attention lors de l’exécution de commandes de basculement, comme `login!`. Certaines commandes (par exemple, `process`) nécessitent qu’un écran soit associé aux fenêtres cibles. Ces commandes peuvent ne pas fonctionner correctement lorsqu’elles sont exécutées en boucle sur des fenêtres à l’aide de `at`.

attrcolor attrib [attribute/color-modifier]

Cette commande peut être utilisée pour mettre en évidence les attributs en modifiant la couleur du texte. Si l'attribut attrib est utilisé, le modificateur d'attribut/couleur spécifié est également appliqué. Si aucun modificateur n'est donné, le modificateur actuel est supprimé. Voir le chapitre STRING ESCAPES pour la syntaxe du modificateur. Screen prend en charge deux pseudo-attributs : i représente une couleur de premier plan de haute intensité et I représente une couleur d'arrière-plan de haute intensité.

Exemples :

attrcolor b "R"

Change la couleur en rouge vif si du texte en gras doit être affiché.

attrcolor u "-u b"

Utilise du texte bleu au lieu du soulignement.

attrcolor b ".I"

Utilise des couleurs vives pour le texte en gras. La plupart des émulateurs de terminal le font déjà.

attrcolor i "+b"

Rend le texte de couleur vive également en gras.

autodetach [ on | off ]

Définit si Screen se déconnectera automatiquement en cas de déconnexion, ce qui enregistrera tous vos programmes en cours jusqu'à ce qu'ils soient repris avec la commande screen -r. Lorsqu'il est désactivé, un signal de déconnexion terminera Screen et tous les processus qu'il contient. La déconnexion automatique est activée par défaut.

autonuke [ on | off ]

Définit si une séquence d'effacement d'écran doit supprimer toutes les données qui n'ont pas été écrites sur le terminal. Voir également obuflimit.

backtick id lifespan autorefresh cmd args...

backtick id

Programme la commande backtick avec l'ID numérique id. La sortie de cette commande est utilisée pour la substitution de la séquence d'échappement %`. Le paramètre lifespan spécifié est le nombre de secondes pendant lesquelles la sortie est considérée comme valide. Après ce délai, la commande est exécutée à nouveau si une séquence d'échappement correspondante est rencontrée. Le paramètre autorefresh déclenche un rafraîchissement automatique pour les chaînes caption et hardstatus après le nombre de secondes spécifié. Seule la dernière ligne de la sortie est utilisée pour la substitution.

Si les paramètres lifespan et autorefresh sont tous deux égaux à zéro, le programme backtick est censé rester en arrière-plan et générer des données de temps en temps. Dans ce cas, la commande est exécutée immédiatement et Screen stocke la dernière ligne de la sortie. Si une nouvelle ligne est imprimée, Screen actualisera automatiquement le hardstatus ou les légendes.

La deuxième forme de la commande supprime la commande backtick avec l'ID numérique id.

bce [ on | off ]

Modifie le paramètre background-color-erase. Si bce est défini sur on, tous les caractères effacés par une opération d'effacement/insertion/défilement/effacement seront affichés dans la couleur d'arrière-plan actuelle. Sinon, la couleur d'arrière-plan par défaut est utilisée.

bell_msg [message]

Lorsqu'un caractère de sonnerie est envoyé à une fenêtre d'arrière-plan, Screen affiche une notification dans la ligne de message. Le message de notification peut être redéfini par cette commande. Chaque occurrence de `%` dans le message est remplacée par le numéro de la fenêtre à laquelle une sonnerie a été envoyée, et chaque occurrence de `^G` est remplacée par la définition de la sonnerie dans votre termcap (généralement une sonnerie audible). Le message par défaut est :


« Sonnerie dans la fenêtre %n »

Un message vide peut être fourni à la commande bell_msg pour supprimer l’affichage d’une ligne de message ( bell_msg ""). Sans paramètre, le message actuel est affiché.

bind [classe] touche [commande [arguments]]

Associer une commande à une touche. Par défaut, la plupart des commandes fournies par screen sont associées à une ou plusieurs touches, comme indiqué dans la section « ASSIGNATIONS DE TOUCHES PAR DÉFAUT », par exemple, la commande pour créer une nouvelle fenêtre est associée aux touches C-c et c. La commande bind peut être utilisée pour redéfinir les associations de touches et pour définir de nouvelles associations. L’argument touche est soit un caractère unique, soit une séquence de deux caractères de la forme ^x (signifiant C-x), soit une barre oblique inverse suivie d’un nombre octal (spécifiant le code ASCII du caractère), soit une barre oblique inverse suivie d’un deuxième caractère, tel que \^ ou \\.. L’argument peut également être mis entre guillemets, si vous le souhaitez. Si aucun autre argument n’est fourni, toute association précédemment établie pour cette touche est supprimée. L’argument commande peut être n’importe quelle commande répertoriée dans cette section.

Si une classe de commande est spécifiée via l’option -c, la touche est associée à la classe spécifiée. Utilisez la commande command pour activer une classe. Les classes de commande peuvent être utilisées pour créer plusieurs touches de commande ou des associations de caractères multiples.

Voici quelques exemples :

bind ' ' windows
bind ^k
bind k
bind K kill
bind ^f screen telnet foobar
bind \033 screen -ln -t root -h 1000 9 su

Cela associera la touche Espace à la commande qui affiche une liste de fenêtres (de sorte que la commande normalement invoquée par C-a C-w soit également disponible en tant que C-a Espace). Les trois lignes suivantes suppriment l’association par défaut de la commande `kill` des touches C-a C-k et C-a k. C-a K est ensuite associé à la commande `kill`. Ensuite, il associe C-f à la commande de création d’une fenêtre avec une connexion TELNET à foobar, et associe la touche Échap à la commande qui crée une fenêtre non connectée, également appelée « root », dans l’emplacement n° 9, avec une invite de superutilisateur et une mémoire tampon de défilement de 1 000 lignes.

bind -c demo1 0 select 10
bind -c demo1 1 select 11
bind -c demo1 2 select 12
bindkey "^B" command -c demo1

Cela permet à C-b 0 de sélectionner la fenêtre 10, C-b 1 la fenêtre 11, etc.

bind -c demo2 0 select 10
bind -c demo2 1 select 11
bind -c demo2 2 select 12
bind - command -c demo2

Cela permet à C-a - 0 de sélectionner la fenêtre 10, C-a - 1 la fenêtre 11, etc.

bindkey [-d] [-m] [-a] [[-k|-t] chaîne [arguments-commande]]

Cette commande gère les tables de traduction d’entrée de screen. Chaque entrée dans l’une des tables indique à screen comment réagir si une certaine séquence de caractères est rencontrée. Il existe trois tables : une qui doit contenir les actions programmées par l’utilisateur, une pour les actions par défaut utilisées pour l’émulation de terminal et une pour le mode de copie de screen afin de gérer le déplacement du curseur. Voir la section « TRADUCTION DES ENTRÉES » pour une liste des associations de touches par défaut.


Si l’option -d est spécifiée, bindkey modifie la table par défaut, -m modifie la table du mode copie et, en l’absence des deux options, la table utilisateur est sélectionnée. La chaîne d’arguments est la séquence de caractères à laquelle une action est liée. Il peut s’agir d’une chaîne fixe ou d’un nom de capacité de terminal (sélectionnable avec l’option -k).

Certaines touches d’un terminal VT100 peuvent envoyer une chaîne différente si le mode application est activé (par exemple, les touches de curseur). Ces touches ont deux entrées dans la table de traduction. Vous pouvez sélectionner l’entrée du mode application en spécifiant l’option -a.

L’option -t indique à screen de ne pas effectuer de temporisation inter-caractères. On ne peut pas désactiver la temporisation si une capacité de terminal est utilisée.

Cmd peut être n’importe laquelle des commandes de screen avec un nombre arbitraire d’arguments. Si cmd est omis, la liaison de touches est supprimée de la table.

Voici quelques exemples de liaisons de touches :

bindkey -d

Affiche toutes les liaisons de touches par défaut. Les entrées du mode application sont marquées par [A].

bindkey -k k1 select 1

Fait en sorte que la touche « F1 » passe à la fenêtre 1.

bindkey -t foo stuff barfoo

Fait de « foo » un raccourci pour le mot « barfoo ». La temporisation est désactivée afin que les utilisateurs puissent taper lentement.

bindkey "\024" mapdefault

Cette liaison de touches fait de ^T un caractère d’échappement pour les liaisons de touches. Si vous avez effectué la liaison « stuff barfoo » ci-dessus, vous pouvez saisir le mot foo en tapant ^Tfoo. Si vous souhaitez insérer un ^T, vous devez appuyer sur la touche deux fois (c’est-à-dire échapper le caractère d’échappement).

bindkey -k F1 command

Fait de la touche F11 (pas F1 !) une commande d’échappement d’écran alternative (en plus de ^A).

break [durée]

Envoie un signal d’interruption pendant durée * 0,25 secondes à cette fenêtre. Pour les systèmes non POSIX, l’intervalle de temps peut être arrondi à la seconde supérieure. Le plus utile si un périphérique de caractères est attaché à la fenêtre plutôt qu’un processus de shell (voir également le chapitre TYPES DE FENÊTRES). La durée maximale d’un signal d’interruption est limitée à 15 secondes.

blanker

Active le masque d’écran. Tout d’abord, l’écran est effacé. Si aucun programme de masque n’est défini, le curseur est désactivé, sinon, le programme est démarré et sa sortie est écrite à l’écran. Le masque d’écran est arrêté lors de la première pression sur une touche, la touche saisie est ignorée.

Cette commande est normalement utilisée avec la commande idle.

blankerprg [arguments-programme]

Définit un programme de masque d’écran. Désactive le programme de masque d’écran si un argument vide est fourni. Affiche le programme de masque d’écran actuellement défini si aucun argument n’est fourni.

breaktype [tcsendbreak|TIOCSBRK|TCSBRK]

Choisissez l’une des méthodes disponibles pour générer un signal d’interruption pour les périphériques de terminal. Cette commande doit affecter uniquement la fenêtre actuelle. Mais elle se comporte toujours de la même manière que defbreaktype. Cela sera modifié à l’avenir. L’appel de breaktype sans paramètre affiche la méthode d’interruption pour la fenêtre actuelle.


bufferfile [fichier-échange]

Modifie le nom de fichier utilisé pour la lecture et l'écriture dans le tampon de copie-coller. Si l'argument facultatif de la commande bufferfile est omis, le paramètre par défaut (/tmp/screen-exchange) est réactivé. L'exemple suivant permet de copier le fichier des mots de passe du système dans la fenêtre screen (en utilisant le tampon de copie-coller, où une copie est conservée) :

C-a : bufferfile /etc/passwd
C-a < C-a ]
C-a : bufferfile

bumpleft

Échange la fenêtre avec la fenêtre précédente dans la liste des fenêtres.

bumpright

Échange la fenêtre avec la fenêtre suivante dans la liste des fenêtres.

c1 [ on | off ]

Modifie le traitement des codes c1. C1 on indique à screen de traiter les caractères d'entrée entre 128 et 159 comme des fonctions de contrôle. Un tel code sur 8 bits est normalement identique à ESC suivi du code sur 7 bits correspondant. Le paramètre par défaut consiste à traiter les codes c1, ce qui peut être modifié avec la commande defc1. Les utilisateurs disposant de polices qui contiennent des caractères utilisables dans les positions c1 peuvent souhaiter désactiver cette option.

caption [ top | bottom ] always|splitonly[chaîne]
caption chaîne [chaîne]

Cette commande contrôle l'affichage des légendes de fenêtre. Normalement, une légende n'est utilisée que si plus d'une fenêtre est affichée à l'écran (mode écran partagé). Mais si le type est défini sur always, screen affiche une légende même si une seule fenêtre est affichée. La valeur par défaut est splitonly.

La deuxième forme modifie le texte utilisé pour la légende. Vous pouvez utiliser tous les caractères d'échappement du chapitre STRING ESCAPES. Screen utilise par défaut « %3n %t ».

Vous pouvez combiner les deux formes en fournissant une chaîne en tant qu'argument supplémentaire.

La légende peut être affichée en haut ou en bas de la fenêtre. La valeur par défaut est bottom.

charset set

Modifie la désignation de l'emplacement du jeu de caractères actuel et le mappage des jeux de caractères. Les quatre premiers caractères de set sont traités comme des désignations de jeu de caractères, tandis que les cinquième et sixième caractères doivent être compris entre « 0 » et « 3 » et définissent le mappage des jeux de caractères GL/GR. À chaque position, un « . » peut être utilisé pour indiquer que le jeu de caractères ou le mappage correspondant ne doit pas être modifié (set est complété avec des caractères « . » en interne). Les nouvelles fenêtres ont « BBBB02 » comme jeu de caractères par défaut, à moins qu'une commande d'encodage ne soit active. Le paramètre actuel peut être consulté avec la commande info.

chdir [répertoire]

Modifie le répertoire courant de screen pour le répertoire spécifié ou, si la commande est appelée sans argument, pour votre répertoire personnel (la valeur de la variable d'environnement $HOME). Toutes les fenêtres créées à l'aide de la commande screen à partir du fichier .screenrc ou à l'aide de C-a : screen ... ou C-a c utilisent ce répertoire comme répertoire par défaut. Sans la commande chdir, ce serait le répertoire à partir duquel screen a été invoqué.

Les fichiers de copie papier et les fichiers journaux sont toujours écrits dans le répertoire par défaut de la fenêtre, et non dans le répertoire courant du processus en cours d'exécution dans la fenêtre. Vous pouvez utiliser cette commande plusieurs fois dans votre fichier .screenrc pour démarrer différentes fenêtres dans différents répertoires par défaut, mais la dernière valeur de chdir affectera toutes les fenêtres que vous créerez de manière interactive.


cjkwidth [ on | off ]

Traite les caractères de largeur ambiguë comme étant de largeur pleine ou moitié.

clear

Efface la fenêtre actuelle et enregistre son image dans le tampon de défilement.

collapse

Réordonne les fenêtres dans la liste, en supprimant les espaces numériques entre elles.

colon [prefix]

Permet de saisir des lignes de commande .screenrc. Utile pour modifier à la volée les liaisons de touches, la création de fenêtres spécifiques et la modification des paramètres. Notez que le mot-clé `set` n’existe plus ! Généralement, les commandes affectent la fenêtre actuelle plutôt que les paramètres par défaut pour les fenêtres futures. Pour modifier les paramètres par défaut, utilisez les commandes commençant par `def...`.

Si vous considérez ceci comme le « mode de commande Ex » de screen, vous pouvez considérer C-a esc (mode copie) comme son « mode de commande Vi ».

command [ -c class"]"

Cette commande a le même effet que la saisie du caractère d’échappement de screen (^A). Elle n’est probablement utile que pour les liaisons de touches. Si l’option -c est fournie, sélectionnez la classe de commandes spécifiée. Voir également bind et bindkey.

compacthist [ on | off ]

Indique à screen s’il faut supprimer les lignes vides à la fin lors du défilement du texte dans le tampon d’historique.

console [ on | off ]

Capture ou libère la sortie de la console de la machine vers une fenêtre. Remarque : seul le propriétaire de /dev/console peut capturer la sortie de la console. Cette commande n’est disponible que si la machine prend en charge l’ioctl TIOCCONS.

copy

Entre en mode copie/défilement. Cela vous permet de copier du texte de la fenêtre actuelle et de son historique dans le tampon de collage. Dans ce mode, un « éditeur plein écran de type vi » est actif :
Les touches de déplacement du curseur de l’éditeur sont :

h, C-h,     déplace le curseur vers la gauche.
flèche gauche

j, C-n,     déplace le curseur vers le bas.
flèche vers le bas

k, C-p,     déplace le curseur vers le haut.
flèche vers le haut

l ('el'),       déplace le curseur vers la droite.
flèche droite

0(zéro) C-a déplace le curseur vers la colonne la plus à gauche.

+ et -      positionne une ligne vers le haut et vers le bas.

H, M et L       déplace le curseur vers la colonne la plus à gauche de la ligne supérieure, centrale ou inférieure de la fenêtre.

|               déplace le curseur vers la colonne absolue spécifiée.

g ou home       déplace le curseur au début du tampon.

G ou end        déplace le curseur vers la ligne absolue spécifiée (par défaut : fin du tampon).

%               saute vers le pourcentage spécifié du tampon.

^ ou $      déplace le curseur vers la colonne la plus à gauche, vers le premier ou le dernier caractère non vide de la ligne.

w, b et e       déplace le curseur mot par mot.

B, E            déplace le curseur MOT par MOT (comme dans vi).

f/F, t/T        déplace le curseur vers l’avant/l’arrière jusqu’à l’occurrence suivante de la cible. (par exemple, « 3fy » déplacera le curseur vers le 3e « y » vers la droite).

; et ,      répète la dernière commande f/F/t/T dans le même sens ou dans le sens opposé.

C-e et C-y      fait défiler l’affichage vers le haut/le bas d’une ligne tout en conservant la position du curseur.

C-u et C-d      fait défiler l’affichage vers le haut/le bas du nombre de lignes spécifié tout en conservant la position du curseur. (Par défaut : la moitié de l’écran à l’écran complet).

C-b et C-f font défiler l’affichage vers le haut/le bas d’une page entière.

Remarque : les touches de mouvement de style Emacs peuvent être personnalisées via une commande .screenrc. (Exemple : markkeys
"h=^B:l=^F:$=^E") Il n’existe pas de méthode simple pour une affectation complète des touches de style Emacs, car cela implique des codes à plusieurs caractères.

Certaines touches sont définies pour effectuer des opérations de marquage et de remplacement.

La plage de copie est spécifiée en définissant deux marques. Le texte entre ces marques sera mis en surbrillance. Appuyez sur :

espace ou entrée pour définir la première ou la deuxième marque, respectivement. Si mousetrack est défini sur « on », les marques peuvent également être définies à l’aide du clic gauche de la souris.

Y et y permettent de marquer une ligne entière ou de marquer à partir du début de la ligne.

W marque exactement un mot.

N’importe laquelle de ces commandes peut être précédée d’un nombre de répétitions en appuyant sur les chiffres.
.9, qui est interprété comme un nombre de répétitions.

Exemple : C-a C-[ H 10 j 5 Y copiera les lignes 11 à 15 dans le tampon de collage.

Les touches de recherche suivantes sont définies :

/ Recherche à la manière de Vi, vers l’avant.

? Recherche à la manière de Vi, vers l’arrière.

C-a s Recherche incrémentale de style Emacs, vers l’avant.

C-r Recherche inversée de style Emacs.

n Trouve le modèle de recherche suivant.

N Trouve le modèle de recherche précédent.

Il existe cependant certaines touches qui agissent différemment de Vi. Vi ne permet pas de copier des blocs de texte rectangulaires, mais Screen le permet. Appuyez sur : c ou C pour définir la marge gauche ou droite, respectivement. Si aucun nombre de répétitions n’est donné, les deux valeurs par défaut correspondent à la position actuelle du curseur.

Exemple : Essayez ceci sur un écran de texte plutôt plein :

C-a [ M 20 l Espace c 10 l 5 j Espace.

Cela déplace le curseur vers la ligne du milieu de l’écran, se déplace de 20 colonnes vers la gauche, marque le début du tampon de collage, définit la colonne gauche, se déplace de 5 colonnes vers le bas, définit la colonne droite, puis marque la fin du tampon de collage. Essayez maintenant :

C-a [ M 20 l Espace 10 l 5 j Espace

et remarquez la différence dans la quantité de texte copiée.

J joint les lignes. Il bascule entre 4 modes : les lignes séparées par un caractère de nouvelle ligne (012), les lignes collées de manière transparente, les lignes séparées par un seul espace et les lignes séparées par une virgule. Notez que vous pouvez préfixer le caractère de nouvelle ligne avec un caractère de retour chariot en utilisant la commande crlf on.

v ou V est pour tous les utilisateurs de Vi avec :set numbers : il fait basculer la marge gauche entre la colonne 9 et la colonne 1. Appuyez sur

a avant la dernière touche d’espace pour basculer en mode ajout. Ainsi, le contenu du tampon de collage ne sera pas écrasé, mais sera ajouté.

A bascule en mode ajout et définit une (deuxième) marque.

> définit la (deuxième) marque et écrit le contenu du tampon de collage dans le fichier d’échange de l’écran (par défaut, /tmp/screen-exchange) une fois le mode copie terminé.

Cet exemple montre comment vider le tampon de défilement entier dans ce fichier : C-A [ g Espace G $ >.

C-g affiche des informations sur la ligne et la colonne actuelles.

x ou o échange la première marque et la position actuelle du curseur. Vous pouvez l’utiliser pour ajuster une marque déjà placée.

C-l (« el ») redessine l’écran.

@ ne fait rien. Cela ne quitte même pas le mode copie.

Toutes les touches non décrites ici permettent de quitter le mode copie.

copy_reg [key]

N'existe plus, utilisez readreg à la place.

crlf [ on | off ]

Cela affecte la copie de régions de texte avec la commande C-a ['. Si elle est définie suron, les lignes seront séparées par la séquence de deux caractèresCR-LF. Sinon (par défaut), seuleLF` est utilisée. Lorsqu'aucun paramètre n'est fourni, l'état est basculé.

debug [ on | off ]

Active ou désactive le débogage d'exécution. Si screen a été compilé avec l'option -DDEBUG, le débogage est disponible et est activé par défaut. Notez que cette commande n'affecte que la sortie de débogage du processus SCREEN principal. La sortie de débogage des processus d'attachement ne peut être désactivée qu'une seule fois et pour toujours.

defc1 [ on | off ]

Identique à la commande c1, sauf que le paramètre par défaut pour les nouvelles fenêtres est modifié. Le paramètre initial est on.

defautonuke [ on | off ]

Identique à la commande autonuke, sauf que le paramètre par défaut pour les nouveaux affichages est modifié. Le paramètre initial est off. Notez que vous pouvez utiliser la capacité de terminal spéciale AN si vous souhaitez avoir une dépendance sur le type de terminal.

defbce [ on | off ]

Identique à la commande bce, sauf que le paramètre par défaut pour les nouvelles fenêtres est modifié. Le paramètre initial est off.

defbreaktype [tcsendbreak|TIOCSBRK|TCSBRK]

Choisissez l'une des méthodes disponibles pour générer un signal de pause pour les périphériques de terminal. Les méthodes préférables sont tcsendbreak et TIOCSBRK. La troisième, TCSBRK, bloque complètement la session screen pendant la durée de la pause, mais elle peut être le seul moyen de générer des pauses longues. Tcsendbreak et TIOCSBRK peuvent ou non produire des pauses longues avec des pics (par exemple, 4 par seconde). Ce n'est pas seulement un problème dépendant du système, cela diffère également entre les pilotes de carte série. Appeler defbreaktype sans paramètre affiche le paramètre actuel.

defcharset [set]

Comme la commande charset, sauf que le paramètre par défaut pour les nouvelles fenêtres est modifié. Affiche le paramètre par défaut actuel lorsqu'il est appelé sans argument.

defdynamictitle [ on | off ]

Définit le comportement par défaut pour les nouvelles fenêtres concernant si screen doit modifier le titre de la fenêtre lorsqu'il voit une séquence d'échappement appropriée. Voir également la section "TITLES (nommage des fenêtres)".

defescape xy

Définit la commande par défaut. Ceci est équivalent à la commande escape, sauf que cela est utile uniquement pour les sessions multi-utilisateurs. Dans une session multi-utilisateurs, escape modifie la commande de l'utilisateur appelant, tandis que defescape modifie les commandes par défaut pour les utilisateurs qui seront ajoutés ultérieurement.

defflow [ on | off | auto [ interrupt ]]

Identique à la commande flow, sauf que le paramètre par défaut pour les nouvelles fenêtres est modifié. Le paramètre initial est auto. Spécifier defflow auto interrupt est identique aux options de ligne de commande -fa et -i.

defgr [ on | off ]

Identique à la commande gr, sauf que le paramètre par défaut pour les nouvelles fenêtres est modifié. Le paramètre initial est off.

defhstatus [status]

La ligne hardstatus que toutes les nouvelles fenêtres recevront est définie sur status. Cette commande est utile pour faire en sorte que la ligne hardstatus de chaque fenêtre affiche le numéro de fenêtre ou le titre, etc. Status peut contenir les mêmes directives que dans les messages de fenêtre, mais la directive de caractère d'échappement est ^E (octal 005) au lieu de %. Cela a été fait pour rendre impossible une mauvaise interprétation des lignes hardstatus générées par le programme. Si le paramètre status est omis, la chaîne par défaut actuelle est affichée. Par défaut, la ligne hardstatus des nouvelles fenêtres est vide.


defencoding enc

Identique à la commande encoding, sauf que la valeur par défaut pour les nouvelles fenêtres est modifiée. La valeur initiale est l’encodage récupéré à partir du terminal.

deflog [ on | off ]

Identique à la commande log, sauf que la valeur par défaut pour les nouvelles fenêtres est modifiée. La valeur initiale est « off ».

deflogin [ on | off ]

Identique à la commande login, sauf que la valeur par défaut pour les nouvelles fenêtres est modifiée. Cette valeur est initialisée à « on » lors de la distribution (voir config.h.in).

defmode mode

Le mode de chaque pseudo-terminal nouvellement alloué est défini sur mode. Mode est un nombre octal. Si aucune commande defmode n’est fournie, le mode 0622 est utilisé.

defmonitor [ on | off ]

Identique à la commande monitor, sauf que la valeur par défaut pour les nouvelles fenêtres est modifiée. La valeur initiale est « off ».

defmousetrack [ on | off ]

Identique à la commande mousetrack, sauf que la valeur par défaut pour les nouvelles fenêtres est modifiée. La valeur initiale est « off ».

defnonblock [ on | off | numsecs ]

Identique à la commande nonblock, sauf que la valeur par défaut pour les affichages est modifiée. La valeur initiale est « off ».

defobuflimit limit

Identique à la commande obuflimit, sauf que la valeur par défaut pour les nouveaux affichages est modifiée. La valeur initiale est de 256 octets. Notez que vous pouvez utiliser la capacité de terminal spéciale « OL » si vous souhaitez avoir une dépendance sur le type de terminal.

defscrollback num

Identique à la commande scrollback, sauf que la valeur par défaut pour les nouvelles fenêtres est modifiée. La valeur initiale est de 100.

defshell command

Synonyme de la commande shell .screenrc. Voir cette dernière.

defsilence [ on | off ]

Identique à la commande silence, sauf que la valeur par défaut pour les nouvelles fenêtres est modifiée. La valeur initiale est « off ».

defslowpaste msec

Identique à la commande slowpaste, sauf que la valeur par défaut pour les nouvelles fenêtres est modifiée. La valeur initiale est de 0 milliseconde, ce qui équivaut à « off ».

defutf8 [ on | off ]

Identique à la commande utf8, sauf que la valeur par défaut pour les nouvelles fenêtres est modifiée. La valeur initiale est « on » si screen a été démarré avec l’option -U, sinon « off ».

defwrap [ on | off ]

Identique à la commande wrap, sauf que la valeur par défaut pour les nouvelles fenêtres est modifiée. Initialement, le retour à la ligne est activé et peut être désactivé à l’aide de la commande wrap (C-a r) ou au moyen de « C-a : wrap on|off ».

defwritelock [ on | off | auto ]

Identique à la commande writelock, sauf que la valeur par défaut pour les nouvelles fenêtres est modifiée. Initialement, les verrouillages en écriture sont désactivés.

detach [-h]

Détache la session screen (la déconnecte du terminal et la place en arrière-plan). Cela vous renvoie au shell dans lequel vous avez invoqué screen. Une session screen détachée peut être reprise en invoquant screen avec l’option -r (voir également la section OPTIONS DE LA LIGNE DE COMMANDE). L’option -h indique à screen de fermer immédiatement la connexion au terminal (de se déconnecter).


dinfo

Affiche ce que l’écran pense de votre terminal. Utile si vous voulez savoir pourquoi des fonctionnalités telles que la couleur ou le jeu de caractères alternatif ne fonctionnent pas.

displays

Affiche une liste tabulaire de tous les terminaux d’utilisateur connectés. Ceci est particulièrement utile pour les sessions multi-utilisateurs. Les touches suivantes peuvent être utilisées dans la liste des terminaux :

k, C-p, ou flèche du haut

nécessite une région d’au moins 10 caractères de largeur et 5 caractères de hauteur pour
être affichée.

digraph [preset[unicode-value]]

Cette commande invite l’utilisateur à entrer une séquence de digraphe. Les deux caractères suivants tapés sont recherchés dans une table intégrée et le caractère résultant est inséré dans le flux d’entrée. Par exemple, si l’utilisateur entre « a« », un « a » avec tréma sera inséré. Si le premier caractère entré est un 0 (zéro), l’écran traitera les caractères suivants (jusqu’à trois) comme un nombre octal. L’argument facultatif « preset » est traité comme une entrée utilisateur, ce qui permet de créer une touche pour le tréma. Par exemple, la commande « bindkey ^K digraph « « » permet à l’utilisateur de générer un « a » avec tréma en tapant CTRL+K, puis a. Lorsqu’une valeur unicode non nulle est spécifiée, un nouveau digraphe est créé avec le preset spécifié. Le digraphe est supprimé si une valeur nulle est fournie pour la valeur unicode.

dumptermcap

Écrit l’entrée termcap pour le terminal virtuel optimisé pour la fenêtre active dans le fichier .termcap du répertoire $HOME/.screen de l’utilisateur (ou l’endroit où screen stocke ses sockets. Voir la section FICHIERS ci-dessous). Cette entrée termcap est identique à la valeur de la variable d’environnement $TERMCAP qui est définie par screen pour chaque fenêtre. Pour les systèmes basés sur terminfo, vous devrez exécuter un convertisseur comme captoinfo, puis compiler l’entrée avec tic.

dynamictitle [on | off]

Modifie le comportement des fenêtres concernant la modification du titre de la fenêtre lorsque l’écran reçoit une séquence d’échappement appropriée. Voir également la section « TITRES (nommer les fenêtres) ».

echo [-n] message

La commande echo peut être utilisée pour embêter les utilisateurs de screen avec un « message du jour ». Elle est généralement installée dans un fichier /etc/screenrc global. L’option -n peut être utilisée pour supprimer le saut de ligne. Voir également la commande sleep. Echo est également utile pour vérifier en ligne les variables d’environnement.

encoding enc [enc]

Indique à screen comment interpréter l’entrée/sortie. Le premier argument définit l’encodage de la fenêtre actuelle. Chaque fenêtre peut émuler un encodage différent. Le deuxième paramètre facultatif remplace l’encodage du terminal connecté. Il ne devrait jamais être nécessaire car screen utilise le paramètre régional pour détecter l’encodage. Il existe également un moyen de sélectionner un encodage de terminal en fonction du type de terminal en utilisant l’entrée termcap KJ.


Les encodages pris en charge sont : eucJP, SJIS, eucKR, eucCN, Big5, GBK, KOI8-R, KOI8-U, CP1251, UTF-8, ISO8859-2, ISO8859-3, ISO8859-4, ISO8859-5, ISO8859-6, ISO8859-7, ISO8859-8, ISO8859-9, ISO8859-10, ISO8859-15, jis.

Voir également defencoding, qui modifie le paramètre par défaut d’une nouvelle fenêtre.

escape xy

Définit le caractère de commande sur x et le caractère qui génère un caractère de commande littéral (en déclenchant la commande méta) sur y (similaire à l’option -e). Chaque argument est soit un caractère unique, soit une séquence de deux caractères de la forme ^x (signifiant C-x), soit une barre oblique inverse suivie d’un nombre octal (spécifiant le code ASCII du caractère), soit une barre oblique inverse suivie d’un deuxième caractère, tel que \^ ou \. La valeur par défaut est ^Aa.

eval command1[command2 ...]

Analyse et exécute chaque argument en tant que commande distincte.

exec [[fdpat]newcommand [args ...]]

Exécute un sous-processus Unix (spécifié par le chemin d’accès exécutable newcommand et ses arguments facultatifs) dans la fenêtre actuelle. Le flux de données entre stdin/stdout/stderr de newcommand, le processus initialement démarré dans la fenêtre (appelons-le « processus de l’application ») et screen lui-même (fenêtre) est contrôlé par le modèle de descripteur de fichier fdpat. Ce modèle est essentiellement une séquence de trois caractères représentant stdin, stdout et stderr de newcommand. Un point (.) connecte le descripteur de fichier à screen. Un point d’exclamation (!) fait en sorte que le descripteur de fichier soit connecté au processus de l’application. Un deux-points (:) combine les deux. L’entrée utilisateur sera envoyée à newcommand, sauf si newcommand reçoit la sortie du processus de l’application (le premier caractère de fdpats est ! ou :) ou si un symbole de tuyau (|) est ajouté (en tant que quatrième caractère) à la fin de fdpat.

L’appel de exec sans arguments affiche le nom et les arguments du sous-processus en cours d’exécution dans cette fenêtre. Un seul sous-processus peut s’exécuter à la fois dans chaque fenêtre.

Lorsqu’un sous-processus est en cours d’exécution, la commande kill affectera ce sous-processus au lieu du processus de la fenêtre.

Consultez le fichier PostScript doc/fdpat.ps pour une illustration déroutante de toutes les 21 combinaisons possibles. Chaque dessin montre les chiffres 2, 1, 0 représentant les trois descripteurs de fichiers de newcommand. La case marquée W est le pseudo-terminal habituel qui a le processus de l’application sur son côté esclave. La case marquée P est le pseudo-terminal secondaire qui a maintenant screen sur son côté maître.

Abréviations : les espaces entre le mot `exec` et fdpat et la commande peuvent être omis. Les points de fin et un fdpat composé uniquement de points peuvent être omis. Un simple `|` est synonyme du modèle `!..| ; le mot exec peut être omis ici et peut toujours être remplacé par `!`.

Exemples :

exec ... /bin/sh

exec /bin/sh

!/bin/sh

Crée un autre shell dans la même fenêtre, tout en laissant le shell d’origine en cours d’exécution. La sortie des deux shells est affichée, et l’entrée de l’utilisateur est envoyée au nouveau shell /bin/sh.

exec !.. stty 19200

exec ! stty 19200

!!stty 19200

Définit la vitesse du terminal de la fenêtre. Si votre commande stty opère sur la sortie standard, ajoutez un autre !.

exec !..| less

|less

Ajoute un paginateur à la sortie de la fenêtre. Le caractère spécial | est nécessaire pour donner à l’utilisateur le contrôle sur le paginateur, bien qu’il reçoive son entrée depuis le processus de la fenêtre. Cela fonctionne car less écoute sur la sortie d’erreur standard (un comportement que screen n’attendrait pas sans le |) lorsque son entrée standard n’est pas un terminal. Les versions de less plus récentes que 177 échouent lamentablement ici ; l’ancien pg fonctionne toujours.

!:sed -n s/.*Error.*/\007/p

Envoie la sortie de la fenêtre à la fois à l’utilisateur et à la commande sed. La commande sed insère un caractère de sonnerie supplémentaire (octal 007) dans la sortie de la fenêtre visible par screen. Cela entraînera l’affichage de messages « Sonnerie dans la fenêtre x » chaque fois que la chaîne « Error » apparaît dans la fenêtre.

fit

Modifie la taille de la fenêtre pour qu’elle corresponde à la taille de la région actuelle. Cette commande est nécessaire car screen n’adapte pas automatiquement la taille de la fenêtre si la fenêtre est affichée plus d’une fois.

flow [ on | off | auto]

Définit le mode de contrôle de flux pour cette fenêtre. Sans paramètres, cela fait défiler le paramètre de contrôle de flux de la fenêtre actuelle de « automatique » à « activé » à « désactivé ». Voir la discussion sur le contrôle de flux plus loin dans ce document pour plus de détails et notez que cela peut changer dans les futures versions. La valeur par défaut est définie par defflow.

focus [ next | prev | up | down | left | right | top | bottom ]

Déplace le focus d’entrée vers la région suivante. Cela se fait de manière cyclique, de sorte que la région en haut à gauche soit sélectionnée après la région en bas à droite. Si aucune option n’est spécifiée, la valeur par défaut est next. La région suivante à sélectionner est déterminée par la manière dont les régions sont organisées en couches. Normalement, la région suivante dans la même couche serait sélectionnée. Cependant, si cette région suivante contient une ou plusieurs couches, la première région dans la couche la plus haute est sélectionnée en premier. Si vous êtes à la dernière région de la couche actuelle, next déplacera le focus vers la région suivante dans la couche inférieure (s’il y en a une). Prev effectue un cycle dans l’ordre inverse. Voir split pour plus d’informations sur les couches.

Le reste des options (up, down, left, right, top et bottom) sont plus indépendantes des couches. L’option up déplace le focus vers le haut vers la région qui touche le coin supérieur gauche de la région actuelle. Down déplace vers le bas vers la région qui touche le coin inférieur gauche de la région actuelle. L’option left déplace le focus vers la gauche vers la région qui touche le coin supérieur gauche de la région actuelle, tandis que right déplace vers la droite vers la région qui touche le coin supérieur droit de la région actuelle. Déplacer vers la gauche à partir d’une région la plus à gauche ou vers la droite à partir d’une région la plus à droite n’aura aucun effet.


L'option « top » déplace le curseur vers la toute première région située dans le coin supérieur gauche de l'écran, et « bottom » le déplace vers la région située dans le coin inférieur droit de l'écran. Le fait de se déplacer vers le haut à partir d'une région située le plus en haut, ou vers le bas à partir d'une région située le plus en bas, n'aura aucun effet.

Les raccourcis utiles sont (h, j, k et l, comme dans vi) : bind h focus left bind j focus down bind k focus up bind l focus right bind t focus top bind b focus bottom Notez que la touche k est traditionnellement associée à la commande « kill ».

focusminsize [ ( width|max|_ ) ( height|max|_ ) ]

Cette commande force toute région sélectionnée à être automatiquement redimensionnée afin d'avoir au moins une certaine largeur et une certaine hauteur. Toutes les autres régions environnantes seront redimensionnées pour s'adapter. Cette contrainte est appliquée chaque fois que la commande « focus » est utilisée. La commande « resize » peut être utilisée pour augmenter l'une ou l'autre des dimensions d'une région, mais jamais en dessous de ce qui est défini avec « focusminsize ». Le caractère de soulignement « _ » est un synonyme de « max ». Définir une largeur et une hauteur de « 0 0 » (zéro zéro) annulera toutes les contraintes et permettra un redimensionnement manuel. Sans aucun paramètre, la largeur et la hauteur minimales sont affichées.

gr [ on | off ]

Active ou désactive la commutation de jeu de caractères GR. Chaque fois que screen reçoit un caractère d'entrée avec le 8e bit activé, il utilisera le jeu de caractères stocké dans l'emplacement GR et imprimera le caractère avec le 8e bit désactivé. Par défaut (voir également « defgr »), la commutation GR n'est pas traitée, car sinon le jeu de caractères ISO88591 ne fonctionnerait pas.

group [grouptitle]

Modifie ou affiche le groupe auquel appartient la fenêtre actuelle. Les fenêtres peuvent être déplacées entre différents groupes en spécifiant le nom du groupe de destination. Sans spécifier de groupe, le titre du groupe actuel est affiché.

hardcopy [-h] [file]

Écrit l'image actuellement affichée dans le fichier spécifié, ou, si aucun nom de fichier n'est spécifié, dans « hardcopy.n » dans le répertoire par défaut, où n est le numéro de la fenêtre actuelle. Cela ajoute ou écrase le fichier s'il existe. Voir ci-dessous. Si l'option -h est spécifiée, le contenu du tampon de défilement est également exporté.

hardcopy_append [ on | off ]

Si cette option est définie sur « on », screen ajoutera les fichiers « hardcopy.n » créés par la commande C-a h, sinon ces fichiers sont écrasés à chaque fois. La valeur par défaut est « off ».

hardcopydir directory

Définit le répertoire dans lequel les fichiers « hardcopy » seront placés. Si cette option n'est pas définie, les copies dures sont enregistrées dans le répertoire de travail actuel de screen.

hardstatus [ on | off ]

hardstatus [ always ] firstline | lastline | message | ignore [ string ]

hardstatus string [ string ]

Cette commande configure l'utilisation et l'émulation de la ligne d'état matérielle du terminal. La première forme active ou désactive l'utilisation de la ligne d'état matérielle pour afficher les messages. Si le drapeau est défini sur « off », ces messages sont superposés en mode vidéo inversé sur la ligne d'affichage. Le paramètre par défaut est « on ».


La deuxième forme indique à Screen quoi faire si le terminal ne dispose pas d'une ligne de statut fixe (c'est-à-dire que les capacités termcap/terminfo "hs", "ts", "fs" et "ds" ne sont pas définies). Lorsqu'on utilise firstline/lastline, Screen réserve la première/dernière ligne de l'affichage pour le statut fixe. message utilise le mécanisme de messages de Screen et ignore indique à Screen de ne jamais afficher le statut fixe. Si vous ajoutez le mot always au début du type (par exemple, alwayslastline), Screen utilisera ce type même si le terminal prend en charge un statut fixe.

La troisième forme spécifie le contenu de la ligne de statut fixe. '%h' est utilisé comme chaîne par défaut, c'est-à-dire que le statut fixe actuel de la fenêtre (qui peut être défini via ESC]0;<chaîne\>^G ou ESC_<chaîne\>ESC\) est affiché. Vous pouvez le personnaliser avec n'importe quelle chaîne, y compris les séquences d'échappement du chapitre STRING ESCAPES. Si vous omettez l'argument de chaîne, la chaîne actuelle est affichée.

Vous pouvez combiner la deuxième et la troisième forme en fournissant la chaîne en tant qu'argument supplémentaire.

height [-w|-d] [lines [cols]]

Définit la hauteur de l'affichage sur un nombre spécifié de lignes. Si aucun argument n'est fourni, cela bascule entre un affichage de 24 et 42 lignes. Vous pouvez également spécifier une largeur si vous souhaitez modifier les deux valeurs. L'option -w indique à Screen de laisser la taille de l'affichage inchangée et de définir uniquement la taille de la fenêtre, -d fait l'inverse.

help[class]

Ce n'est pas vraiment une aide en ligne, mais cela affiche un écran d'aide montrant toutes les liaisons de touches. Les premières pages répertorient toutes les commandes internes suivies de leurs liaisons actuelles. Les pages suivantes affichent les commandes personnalisées, une commande par touche. Appuyez sur la barre d'espace lorsque vous avez terminé de lire chaque page, ou sur Retour pour quitter plus tôt. Tous les autres caractères sont ignorés. Si l'option -c est donnée, affichez toutes les commandes liées pour la classe de commandes spécifiée. Voir également la section LIAISONS DE TOUCHES PAR DÉFAUT.

history

Généralement, les utilisateurs travaillent avec un shell qui permet un accès facile aux commandes précédentes. Par exemple, csh a la commande !! pour répéter la dernière commande exécutée. Screen vous permet d'avoir une manière rudimentaire de rappeler la commande qui a démarré... : vous tapez simplement la première lettre de cette commande, puis vous appuyez sur C-a {' et Screen tente de trouver une ligne précédente qui correspond aucaractère d'invite` à gauche du curseur. Cette ligne est collée dans la file d'entrée de cette fenêtre. Ainsi, vous disposez d'un historique de commandes rudimentaire (composé de la fenêtre visible et de son tampon de défilement).

hstatus status

Modifie la ligne de statut fixe de la fenêtre en la chaîne status.

idle [timeout[cmd-args]]

Définit une commande qui est exécutée après que le nombre de secondes d'inactivité spécifié est atteint. Cette commande sera normalement la commande de vidage d'écran pour créer un économiseur d'écran, mais elle peut être n'importe quelle commande Screen. Si aucune commande n'est spécifiée, seul le délai d'attente est défini. Un délai d'attente de zéro (ou le délai d'attente spécial désactivé) désactive le minuteur. Si aucun argument n'est fourni, les paramètres actuels sont affichés.


ignorecase [ on | off ]

Indique à Screen d'ignorer la casse des caractères lors des recherches. La valeur par défaut est « off ». Sans aucune option, l'état de ignorecase est inversé.

info

Utilise la ligne de message pour afficher des informations sur la fenêtre actuelle : la position du curseur sous la forme (colonne, ligne), en commençant par (1, 1), la largeur et la hauteur du terminal, ainsi que la taille du tampon de défilement en lignes, comme ceci : (80, 24)+50. L'état actuel du contrôle de flux XON/XOFF de la fenêtre est affiché comme suit (voir également la section « CONTRÔLE DE FLUX ») :

┌──────────┬──────────────────────────────────────────────────────────┐
│ +flow    │ Contrôle de flux automatique, actuellement activé.        │
├──────────┼──────────────────────────────────────────────────────────┤
│ -flow    │ Contrôle de flux automatique, actuellement désactivé.      │
├──────────┼──────────────────────────────────────────────────────────┤
│ +(+)flow │ Contrôle de flux activé. Correspond au contrôle automatique. │
├──────────┼──────────────────────────────────────────────────────────┤
│ -(+)flow │ Contrôle de flux désactivé. Ne correspond pas au contrôle automatique. │
├──────────┼──────────────────────────────────────────────────────────┤
│ +(-)flow │ Contrôle de flux activé. Ne correspond pas au contrôle automatique. │
├──────────┼──────────────────────────────────────────────────────────┤
│ -(-)flow │ Contrôle de flux désactivé. Correspond au contrôle automatique. │
└──────────┴──────────────────────────────────────────────────────────┘

Le paramètre actuel de saut de ligne (« +wrap » indique activé, « -wrap » indique désactivé) est également affiché. Les indicateurs « ins », « org », « app », « log », « mon » ou « nored » sont affichés lorsque la fenêtre est en mode insertion, en mode origine, en mode clavier d'application, lorsque la sortie est consignée, lorsque l'activité est surveillée ou lorsque le rafraîchissement partiel est activé.

L'ensemble de caractères actif (G0, G1, G2 ou G3) et, entre crochets, les ensembles de caractères du terminal actuellement désignés sous G0 à G3 sont affichés. Si la fenêtre est en mode UTF-8, la chaîne « UTF-8 » est affichée.


Des modes supplémentaires, en fonction du type de fenêtre, sont affichés à la fin de la ligne d’état (voir également le chapitre TYPES DE FENÊTRES).

Si la machine d’état de l’émulateur de terminal est dans un état non par défaut, la ligne d’informations commence par une chaîne identifiant l’état actuel.

Pour obtenir des informations système, utilisez la commande time.

ins_reg [key]

N’existe plus, utilisez paste à la place.

kill

Tue la fenêtre actuelle.

Si une commande exec est en cours d’exécution, elle est interrompue. Sinon, le processus (shell) en cours d’exécution dans la fenêtre reçoit un signal HANGUP, la structure de la fenêtre est supprimée et screen (votre écran) bascule vers une autre fenêtre. Lorsque la dernière fenêtre est détruite, screen se ferme. Après une commande kill, screen bascule vers la fenêtre affichée précédemment.

Remarque : les utilisateurs d’Emacs devraient garder cette commande à l’esprit lorsqu’ils suppriment une ligne. Il est recommandé de ne pas utiliser C-a comme touche d’échappement de screen ou de remapper kill à C-a K.

lastmsg

Réaffiche le dernier contenu de la ligne de message/état. Utile si vous tapez lorsqu’un message apparaît, car le message disparaît lorsque vous appuyez sur une touche (sauf si votre terminal dispose d’une ligne d’état matérielle). Reportez-vous aux commandes msgwait et msgminwait pour un réglage précis.

layout new [title]

Crée une nouvelle disposition. L’écran passe à une seule région et bascule vers la fenêtre vide. À partir de là, vous construisez les régions et les fenêtres qu’elles affichent comme vous le souhaitez. La nouvelle disposition se verra attribuer le plus petit entier disponible, en commençant par zéro. Vous pouvez éventuellement donner un titre à votre nouvelle disposition. Sinon, elle aura un titre par défaut de layout. Vous pouvez toujours modifier le titre ultérieurement en utilisant la commande layout title.

layout remove [n|title]

Supprime, ou plutôt, supprime la disposition spécifiée. Soit le numéro, soit le titre peuvent être spécifiés. Sans aucune des deux spécifications, screen supprimera la disposition actuelle.

La suppression d’une disposition n’affecte pas vos fenêtres ou régions définies.

layout next

Passe à la disposition suivante disponible.

layout prev

Passe à la disposition précédente disponible.

layout select [n|title]

Sélectionne la disposition souhaitée. Soit le numéro, soit le titre peuvent être spécifiés. Sans aucune des deux spécifications, screen vous demandera de choisir l’écran souhaité. Pour voir quelles dispositions sont disponibles, utilisez la commande layout show.

layout show

Affiche sur la ligne de message le ou les numéros et titres des dispositions disponibles. La disposition actuelle est marquée.

layout title [title]

Modifie ou affiche le titre de la disposition actuelle. Une chaîne donnée sera utilisée pour nommer la disposition. Sans aucune option, le titre et le numéro actuels sont affichés sur la ligne de message.

layout number [n]

Modifie ou affiche le numéro de la disposition actuelle. Un entier donné sera utilisé pour numéroter la disposition. Sans aucune option, le numéro et le titre actuels sont affichés sur la ligne de message.


layout attach [title|:last]

Modifie ou affiche le layout auquel se reconnecter. La valeur par défaut est :last, ce qui indique à screen de se reconnecter au dernier layout utilisé avant la déconnexion. En fournissant un titre, vous pouvez indiquer à screen de se reconnecter à un layout spécifique, quel que soit celui utilisé au moment de la déconnexion. Sans options, le layout auquel se reconnecter sera affiché dans la ligne de message.

layout save [n|title]

Mémorise l’arrangement actuel des régions. Lorsqu’il est utilisé, screen mémorise l’arrangement des régions divisées verticalement et horizontalement. Cet arrangement est restauré lorsqu’une session screen est reconnectée ou lorsqu’on revient d’un autre layout. Si la session se termine ou si le processus screen est arrêté, les arrangements de layout sont perdus. La commande layout dump peut être utile dans cette situation. Si un nombre ou un titre est fourni, screen mémorise l’arrangement de ce layout spécifique. Sans options, screen mémorise le layout actuel.

Vous pouvez automatiser la sauvegarde de vos régions en utilisant la commande layout autosave.

layout autosave [ on | off]

Modifie ou affiche l’état de la sauvegarde automatique des layouts. La valeur par défaut est on, ce qui signifie que lorsque screen est déconnecté ou passe à un autre layout, l’arrangement des régions et des fenêtres est mémorisé au moment du changement et restauré au retour. Si la sauvegarde automatique est définie sur off, cet arrangement ne sera restauré qu’à partir de la dernière sauvegarde manuelle, en utilisant la commande layout save, ou à partir du layout initial, qui est une seule région avec une seule fenêtre. Sans spécifier on ou off, l’état actuel est affiché dans la ligne de message.

layout dump [filename]

Écrit dans un fichier l’ordre des divisions effectué dans le layout actuel. Ceci est utile pour recréer l’ordre de vos régions dans votre layout actuel. Seul le layout actuel est enregistré. Bien que l’ordre des régions soit enregistré, la taille de ces régions et les fenêtres qui correspondent à chaque région ne le sont pas. Si aucun nom de fichier n’est spécifié, la valeur par défaut est layout-dump, enregistré dans le répertoire dans lequel le processus screen a été démarré. Si le fichier existe déjà, layout dump y ajoutera des données. Par exemple :

C-a : layout dump /home/user/.screenrc

enregistrera ou ajoutera le layout dans le fichier .screenrc de l’utilisateur.

license

Affiche la page de la licence. Ceci est fait chaque fois que screen est démarré sans options, ce qui devrait être assez fréquent. Voir également la commande startup_message.

lockscreen

Verrouille cet écran. Appelle un programme de verrouillage d’écran. Screen n’accepte aucune touche de commande tant que ce programme n’est pas terminé. Pendant ce temps, les processus dans les fenêtres peuvent continuer, car les fenêtres sont dans l’état « detached ». Le programme de verrouillage d’écran peut être modifié via la variable d’environnement $LOCKPRG (qui doit être définie dans le shell à partir duquel screen est démarré) et est exécuté avec l’UID et le GID de l’utilisateur.

Attention : si vous laissez d’autres shells déverrouillés et que vous n’avez pas défini de mot de passe sur screen, le verrouillage est inefficace : il est facile de se reconnecter à partir d’un shell déverrouillé. Cette fonctionnalité devrait plutôt être appelée « lockterminal ».

log [on | off]

Démarre ou arrête l’écriture de la sortie de la fenêtre actuelle dans un fichier screenlog.n dans le répertoire par défaut de la fenêtre, où n est le numéro de la fenêtre actuelle. Ce nom de fichier peut être modifié à l’aide de la commande logfile. Si aucun paramètre n’est spécifié, l’état de la journalisation est basculé. Le journal de session est ajouté au contenu précédent du fichier s’il existe déjà. Le contenu actuel et le contenu de l’historique de défilement ne sont pas inclus dans le journal de session. La valeur par défaut est off.

logfile filename

logfile flush secs

Définit le nom que prendront les fichiers journaux. La valeur par défaut est screenlog.%n. La deuxième forme modifie le nombre de secondes pendant lesquelles screen attendra avant de vider le tampon du fichier journal dans le système de fichiers. La valeur par défaut est de 10 secondes.

login [on | off]

Ajoute ou supprime l’entrée dans la base de données de fichiers utmp pour la fenêtre actuelle. Cela contrôle si la fenêtre est « connectée ». Lorsqu’aucun paramètre n’est spécifié, l’état de connexion de la fenêtre est basculé. En plus de ce basculement, il est pratique d’avoir une commande « se connecter » et une commande « se déconnecter ». Par exemple, bind I login on et bind O login off permettront d’associer ces commandes aux touches C-a I et C-a O. La configuration par défaut (dans config.h.in) doit être sur « on » pour une session screen exécutée avec suid-root. Utilisez la commande deflogin pour modifier l’état de connexion par défaut pour les nouvelles fenêtres. Les deux commandes ne sont présentes que lorsque screen a été compilé avec le support utmp.

logtstamp [on|off]

logtstamp after [secs]

logtstamp string
[string]

Cette commande contrôle le mécanisme d’horodatage des fichiers journaux de screen. Si les horodatages sont activés, screen ajoute une chaîne contenant l’heure actuelle au fichier journal après deux minutes d’inactivité. Lorsque la sortie se poursuit et qu’il se passe plus de deux minutes, un deuxième horodatage est ajouté pour documenter le redémarrage de la sortie. Vous pouvez modifier ce délai à l’aide de la deuxième forme de la commande. La troisième forme est utilisée pour personnaliser la chaîne d’horodatage (-- %n:%t -- horodatage -%M/%d/%y %c:%s --\n par défaut).

mapdefault

Indique à screen que le prochain caractère saisi ne doit être recherché que dans la table de liaison par défaut. Voir également bindkey.

mapnotnext

Comme mapdefault, mais ne recherche pas même dans la table de liaison par défaut.

maptimeout [timeout]

Définit le minuteur inter-caractères pour la détection de séquence d’entrée à un délai de timeout ms. Le délai par défaut est de 300 ms. Maptimeout sans argument affiche le paramètre actuel. Voir également bindkey.

markkeys string

Il s’agit d’une méthode permettant de modifier la table de mappage de clés utilisée pour le mode de copie/historique. La chaîne est composée de paires oldchar=newchar séparées par un « : ». Exemple : la chaîne B=^B:F=^F modifiera les touches « C-b » et « C-f » pour utiliser la liaison de style vi (défilement vers le haut/vers le bas, page suivante). Cela correspond à la liaison par défaut pour « B » et « F ». La commande markkeys h=^B:l=^F:$=^E définirait le mode pour une liaison de style emacs. Si votre terminal envoie des caractères qui provoquent l’annulation du mode de copie, cette commande peut vous aider en associant ces caractères à une action qui ne fait rien. Le caractère nul est « @ » et est utilisé comme ceci : markkeys @=L=H si vous ne souhaitez plus utiliser les commandes « H » ou « L ». Comme le montre cet exemple, plusieurs touches peuvent être affectées à une seule fonction dans une seule instruction.


maxwin num

Définit le nombre maximal de fenêtres que l’écran peut créer. N’affecte pas les fenêtres déjà existantes. Le nombre peut être augmenté uniquement lorsqu’il n’y a pas de fenêtres existantes.

meta

Insère le caractère de commande (C-a) dans le flux d’entrée de la fenêtre actuelle.

monitor [ on | off ]

Active ou désactive la surveillance de l’activité des fenêtres. Lorsque la surveillance est activée et qu’une fenêtre affectée passe en arrière-plan, vous recevrez un message de notification d’activité dans la ligne d’état dès que de la sortie sera détectée, et la fenêtre sera également marquée avec un « @ » dans l’affichage de l’état de la fenêtre. La surveillance est initialement désactivée pour toutes les fenêtres.

mousetrack [ on | off ]

Cette commande détermine si l’écran surveille les clics de souris. Lorsque cette commande est activée, les régions qui ont été divisées de différentes manières peuvent être sélectionnées en pointant dessus avec la souris et en effectuant un clic gauche. Sans spécifier « on » ou « off », l’état actuel est affiché. L’état par défaut est déterminé par la commande « defmousetrack ».

msgminwait sec

Définit le temps pendant lequel l’écran attend avant d’afficher un nouveau message lorsqu’un message est actuellement affiché. La valeur par défaut est de 1 seconde.

msgwait sec

Définit le temps pendant lequel un message est affiché si l’écran n’est pas perturbé par d’autres activités. La valeur par défaut est de 5 secondes.

multiuser [ on | off ]

Permet de basculer entre le mode mono-utilisateur et le mode multi-utilisateur. Le fonctionnement standard de l’écran est le mode mono-utilisateur. En mode multi-utilisateur, les commandes « acladd », « aclchg », « aclgrp » et « acldel » peuvent être utilisées pour permettre (et désactiver) à d’autres utilisateurs d’accéder à cette session d’écran.

nethack [ on | off ]

Modifie le type de messages d’erreur utilisés par l’écran. Si vous connaissez le jeu nethack, vous apprécierez peut-être les messages de style nethack, qui ont souvent tendance à obscurcir un peu les faits, mais qui sont beaucoup plus amusants à lire. De toute façon, les messages standard ont souvent tendance à être peu clairs. Cette option n’est disponible que si l’écran a été compilé avec le drapeau NETHACK défini. Le paramètre par défaut est alors déterminé par la présence de la variable d’environnement $NETHACKOPTIONS et du fichier ~/.nethackrc ; si l’un ou l’autre est présent, le paramètre par défaut est « on ».

next

Passe à la fenêtre suivante. Cette commande peut être utilisée de manière répétée pour parcourir la liste des fenêtres.

nonblock [ on | off | numsecs ]

Indique à l’écran comment gérer les interfaces utilisateur (écrans) qui cessent d’accepter les données en sortie. Cela peut se produire si un utilisateur appuie sur ^S ou si une connexion TCP/modem est interrompue, mais qu’aucun signal de déconnexion n’est reçu. Si « nonblock » est désactivé (c’est la valeur par défaut), l’écran attend que l’écran redémarre pour accepter les données en sortie. Si « nonblock » est activé, l’écran attend jusqu’à ce que le délai d’attente soit atteint ( « on » est traité comme 1 seconde). Si l’écran n’accepte toujours pas les caractères, l’écran considérera qu’il est bloqué et cessera d’envoyer des caractères. Si, à un moment donné, il redémarre pour accepter les caractères, l’écran débloquera l’écran et réaffichera le contenu de la fenêtre mis à jour.

number [[+|-]n]

Modifie le numéro de la fenêtre actuelle. Si le numéro n spécifié est déjà utilisé par une autre fenêtre, les deux fenêtres échangent leurs numéros. Si aucun argument n'est spécifié, le numéro (et le titre) de la fenêtre actuelle est affiché. L'utilisation de + ou - modifiera le numéro de la fenêtre du montant relatif spécifié.

obuflimit [limite]

Si le tampon de sortie contient plus d'octets que la limite spécifiée, aucune donnée supplémentaire ne sera lue à partir des fenêtres. La valeur par défaut est de 256. Si vous avez un affichage rapide (comme xterm), vous pouvez la définir sur une valeur plus élevée. Si aucun argument n'est spécifié, le paramètre actuel est affiché.

only

Supprime toutes les régions sauf la région actuelle.

other

Passe à la fenêtre affichée précédemment. Si cette fenêtre n'existe plus, other a le même effet que next.

partial [on | off]

Définit si l'affichage doit être actualisé (comme avec redisplay) après être passé à la fenêtre actuelle. Cette commande n'affecte que la fenêtre actuelle. Pour affecter immédiatement toutes les fenêtres, utilisez la commande allpartial. La valeur par défaut est off, bien sûr. Cette valeur par défaut est fixe, car il n'existe actuellement pas de commande defpartial.

password [mot_de_passe_crypté]

Présentez un mot de passe crypté dans votre fichier .screenrc et screen vous demandera de le saisir chaque fois que quelqu'un tentera de reprendre une session détachée. Ceci est utile si vous avez des programmes privilégiés en cours d'exécution sous screen et que vous souhaitez protéger votre session contre les tentatives de connexion d'un autre utilisateur se faisant passer pour votre UID (c'est-à-dire tout utilisateur disposant des privilèges d'administrateur). Si aucun mot de passe crypté n'est spécifié, screen vous invite deux fois à taper un mot de passe et place son cryptage dans le tampon de collage. La valeur par défaut est none, ce qui désactive la vérification du mot de passe.

paste [registres [dest_reg]]

Écrit le contenu (concaténé) des registres spécifiés dans la file d'attente stdin de la fenêtre actuelle. Le registre . est traité comme le tampon de collage. Si aucun paramètre n'est fourni, l'utilisateur est invité à saisir un seul registre à coller. Le tampon de collage peut être rempli avec les commandes copy, history et readbuf. D'autres registres peuvent être remplis avec les commandes register, readreg et paste. Si paste est appelé avec un deuxième argument, le contenu des registres spécifiés est collé dans le registre de destination nommé plutôt que dans la fenêtre. Si . est utilisé comme deuxième argument, le tampon de collage de l'affichage est la destination. Notez que paste utilise une grande variété de ressources : chaque fois qu'un deuxième argument est spécifié, il n'est pas nécessaire d'avoir une fenêtre actuelle. Lorsque la spécification de la source ne contient que des registres (et non le tampon de collage), il n'est pas nécessaire non plus d'avoir un affichage (terminal connecté), car les registres sont une ressource globale. Le tampon de collage existe une fois pour chaque utilisateur.


pastefont [ on | off ]

Indique à screen d'inclure les informations de police dans le tampon de presse-papiers. Par défaut, ce n'est pas le cas. Cette commande est particulièrement utile pour les polices multi-caractères comme les kanjis.

pow_break

Réouvre la ligne de terminal de la fenêtre et envoie une condition d'interruption. Voir `break'.

pow_detach

Déconnexion forcée. Principalement la même chose que detach, mais envoie également un signal HANGUP au processus parent de screen. ATTENTION : cela entraînera une déconnexion lorsque screen aura été lancé à partir de votre shell de connexion.

pow_detach_msg [message]

Le message spécifié ici est affiché chaque fois qu'une « déconnexion forcée » est effectuée. Il peut être utilisé comme remplacement d'un message de déconnexion ou pour réinitialiser le débit en bauds, etc. Sans paramètre, le message actuel est affiché.

prev

Passe à la fenêtre avec le numéro inférieur suivant. Cette commande peut être utilisée de manière répétée pour parcourir la liste des fenêtres.

printcmd [cmd]

Si cmd n'est pas une chaîne vide, screen n'utilisera pas les capacités de terminal po/pf s'il détecte une séquence d'impression ANSI ESC [ 5 i, mais redirigera la sortie vers cmd. Il doit s'agir normalement d'une commande comme lpr ou printcmd. Sans commande, le paramètre actuel est affiché. La séquence ANSI ESC [ 4 i met fin à l'impression et ferme le pipeline.

Attention : faites attention avec cette commande ! Si d'autres utilisateurs ont accès en écriture à votre terminal,
ils pourront lancer des commandes d'impression.

process [key]

Place le contenu du registre spécifié dans la file d'entrée de screen. Si aucun argument n'est donné, vous serez invité à entrer un nom de registre. Le texte est analysé comme s'il avait été saisi par l'utilisateur. Cette commande peut être utilisée pour lier plusieurs actions à une seule touche.

quit

Tue toutes les fenêtres et termine screen. Notez que sur les terminaux de type VT100, les touches C-4 et C-\ sont identiques. Cela rend les liaisons par défaut dangereuses : veillez à ne pas taper C-a C-4 lorsque vous sélectionnez la fenêtre n° 4. Utilisez la commande bind vide (comme dans bind '^\') pour supprimer une liaison de touche.

readbuf [encoding] [filename]

Lit le contenu du fichier spécifié dans le tampon de presse-papiers. Vous pouvez indiquer à screen l'encodage du fichier via l'option -e. Si aucun fichier n'est spécifié, le nom de fichier screen-exchange est utilisé. Voir également la commande bufferfile.

readreg [encoding] [register [filename]]

Fait l'une des deux choses, en fonction du nombre d'arguments : avec zéro ou un argument, il duplique le contenu du tampon de presse-papiers dans le registre spécifié ou saisi à l'invite. Avec deux arguments, il lit le contenu du fichier nommé dans le registre, comme readbuf lit le fichier screen-exchange dans le tampon de presse-papiers. Vous pouvez indiquer à screen l'encodage du fichier via l'option -e. L'exemple suivant copiera le fichier mot de passe système dans la fenêtre screen (en laissant une copie dans le registre p) :

C-a : readreg p /etc/passwd
C-a : paste p

redisplay

Réaffiche la fenêtre actuelle. Nécessaire pour obtenir une réinitialisation complète lorsque le mode de redessin partiel est activé.

register [-eencoding]key-string

Enregistre la chaîne spécifiée dans le registre associé à la clé. L'encodage de la chaîne peut être spécifié via l'option -e. Voir également la commande paste.

remove

Supprime la région actuelle. Il s'agit d'une opération sans effet s'il n'y a qu'une seule région.

removebuf

Détache le fichier d'échange d'écran utilisé par les commandes writebuf et readbuf.

rendition [ bell | monitor | silence | so ] attr [ color ]

Modifie la manière dont screen affiche les titres des fenêtres qui ont les indicateurs monitor ou bell définis dans caption ou hardstatus ou windowlist. Voir le chapitre STRING ESCAPES pour la syntaxe des modificateurs. Les valeurs par défaut pour monitor sont actuellement =b (gras, couleurs actives), pour bell =ub (souligné, gras et couleurs actives) et =u pour silence.

reset

Réinitialise le terminal virtuel à ses valeurs d'origine. Utile lorsque des paramètres étranges (comme les régions de défilement ou le jeu de caractères graphiques) sont laissés par une application.

resize [-h|-v|-b|-l|-p] [[+|-] n[%] |=|max|min|_|0]

Redimensionne la région actuelle. L'espace sera supprimé ou ajouté aux régions environnantes en fonction de l'ordre des divisions. Les options de redimensionnement disponibles sont : « -h » (horizontal), « -v » (vertical), « -b » (les deux), « -l » (local à la couche) et « -p » (perpendiculaire). Le redimensionnement horizontal ajoutera ou supprimera de la largeur à une région, le redimensionnement vertical ajoutera ou supprimera de la hauteur, et les deux ajouteront ou supprimeront de la taille aux deux dimensions. Les options local et perpendiculaire sont similaires aux options horizontal et vertical, mais elles tiennent compte de la manière dont une région a été divisée. Si la dernière division d'une région était horizontale, un redimensionnement local fonctionnera comme un redimensionnement vertical. Si la dernière division d'une région était verticale, un redimensionnement local fonctionnera comme un redimensionnement horizontal. Les redimensionnements perpendiculaires fonctionnent à l'opposé des redimensionnements locaux. Si aucune option n'est spécifiée, l'option local est la valeur par défaut.

La quantité de lignes à ajouter ou à supprimer peut être exprimée de différentes manières. En spécifiant un nombre n seul, la région sera redimensionnée de ce montant absolu. Vous pouvez spécifier un montant relatif en ajoutant un signe plus « + » ou moins « - » au montant, par exemple en ajoutant +n lignes ou en supprimant -n lignes. Le redimensionnement peut également être exprimé en pourcentage absolu ou relatif en ajoutant un signe pourcentage « % ». L'utilisation de zéro « 0 » est synonyme de « min » et l'utilisation d'un trait de soulignement « _ » est synonyme de « max ».

Voici quelques exemples :

resize +N
augmente la région actuelle de N

resize -N
diminue la région actuelle de N

resize N
définit la région actuelle sur N

resize 20%
définit la région actuelle à 20 % de sa taille d'origine

resize +20%
augmente la région actuelle de 20 %

resize -b =
rend toutes les fenêtres de même taille

resize max
agrandit au maximum la région actuelle

resize min
réduit au minimum la région actuelle

Sans aucun argument, screen vous demandera comment vous souhaitez redimensionner la région actuelle.

Voir focusminsize si vous souhaitez limiter la taille minimale qu'une région peut avoir.

screen [-opts] [n] [cmd [args]|//group]

Crée une nouvelle fenêtre. Les options de contrôle de flux (-f, -fn et -fa), l’option de titre (a.k.a.) (-t), les options de connexion (-l et -ln), l’option de type de terminal (-T <term>), l’option de tous les indicateurs de capacité (-a) et l’option de défilement (-h <num>) peuvent être spécifiées pour chaque commande. L’option (-M) active la surveillance pour cette fenêtre. L’option (-L) active l’enregistrement de la sortie pour cette fenêtre. Si un nombre optionnel n dans la plage 0..MAXWIN-1 est donné, le numéro de fenêtre n est attribué à la nouvelle fenêtre créée (ou, si ce numéro est déjà utilisé, le numéro disponible suivant est attribué). Si une commande est spécifiée après screen, cette commande (avec les arguments donnés) est démarrée dans la fenêtre ; sinon, un shell est créé. Si //group est fourni, une fenêtre de type conteneur est créée dans laquelle d’autres fenêtres peuvent être créées.

Ainsi, si votre fichier .screenrc contient les lignes

# exemple pour .screenrc :
screen 1
screen -fn -t foobar -L 2 telnet foobar

screen crée une fenêtre shell (dans la fenêtre n° 1) et une fenêtre avec une connexion TELNET à la machine foobar (sans contrôle de flux en utilisant le titre foobar dans la fenêtre n° 2) et écrira un fichier journal (screenlog.2) de la session telnet. Notez que, contrairement aux versions précédentes de screen, aucune fenêtre par défaut supplémentaire n’est créée lorsque des commandes screen sont incluses dans votre fichier .screenrc. Une fois l’initialisation terminée, screen passe à la dernière fenêtre spécifiée dans votre fichier .screenrc ou, si aucune, ouvre une fenêtre par défaut n° 0.

Screen a intégré certaines fonctionnalités de cu et telnet. Voir également le chapitre TYPES DE FENÊTRES.

scrollback num

Définit la taille du tampon de défilement pour les fenêtres actuelles à num lignes. Le défilement par défaut est de 100 lignes. Voir également la commande defscrollback et utilisez info pour afficher le paramètre actuel. Pour accéder et utiliser le contenu du tampon de défilement, utilisez la commande copy.

select [WindowID]

Passe à la fenêtre identifiée par WindowID. Il peut s’agir d’un préfixe du titre de la fenêtre (nom de fenêtre alphanumérique) ou d’un numéro de fenêtre. Le paramètre est facultatif et, s’il est omis, vous êtes invité à entrer un identifiant. Lorsqu’une nouvelle fenêtre est établie, le premier numéro disponible est attribué à cette fenêtre. Ainsi, la première fenêtre peut être activée en utilisant select 0. Le nombre de fenêtres est défini par le paramètre de configuration MAXWIN (qui a par défaut 100), mais il peut être modifié en utilisant la commande maxwin. Il existe deux WindowID spéciaux : - sélectionne la fenêtre interne vide et . sélectionne la fenêtre actuelle. Cette dernière est utile si elle est utilisée avec l’option -X de screen.

sessionname [name]

Renomme la session actuelle. Notez que, pour screen -list, le nom s’affiche avec l’ID de processus préfixé. Si l’argument name est omis, le nom de cette session est affiché. Attention : la variable d’environnement $STY reflétera toujours l’ancien nom dans les shells préexistants. Cela peut entraîner une confusion. L’utilisation de cette commande est généralement déconseillée. Utilisez l’option -S en ligne de commande si vous souhaitez nommer une nouvelle session. Par défaut, le nom est construit à partir des noms du tty et de l’hôte.


setenv [var [string]]

Définit la variable d'environnement `var` sur la valeur `string`. Si seul `var` est spécifié, l'utilisateur sera invité à entrer une valeur. Si aucun paramètre n'est spécifié, l'utilisateur sera invité à entrer à la fois la variable et la valeur. L'environnement est hérité par tous les shells ultérieurs créés.

setsid [ on | off ]

Normalement, screen utilise différentes sessions et groupes de processus pour les fenêtres. Si `setsid` est désactivé, cela ne se fait plus et toutes les fenêtres se trouveront dans le même groupe de processus que le processus principal de screen. Cela interrompt également le contrôle des tâches, alors soyez prudent. Par défaut, c'est activé, bien sûr. Cette commande n'est probablement utile que dans des circonstances rares.

shell command

Définit la commande à utiliser pour créer un nouveau shell. Cela remplace la valeur de la variable d'environnement `$SHELL`. Ceci est utile si vous souhaitez exécuter un programme d'amélioration du terminal qui s'attend à exécuter le programme spécifié dans `$SHELL`. Si la commande commence par un caractère `-`, le shell sera démarré en tant que shell de connexion. Les shells typiques ne font qu'une initialisation minimale lorsqu'ils ne sont pas démarrés en tant que shell de connexion. Par exemple, Bash ne lira pas votre `~/.bash_profile` à moins qu'il ne s'agisse d'un shell de connexion.

shelltitle title

Définit le titre de tous les shells créés au démarrage ou par la commande C-A C-c. Pour plus de détails sur ce qu'est un titre, consultez la section intitulée TITRES (nommage des fenêtres).

silence [ on | off | sec ]

Active ou désactive la surveillance du silence des fenêtres. Lorsque le silence est activé et qu'une fenêtre affectée passe à l'arrière-plan, vous recevrez le message de notification de silence dans la ligne d'état après une période d'inactivité spécifiée (silence). La valeur par défaut du délai d'attente peut être modifiée avec la commande `silencewait` ou en spécifiant un nombre de secondes au lieu de `on` ou `off`. Le silence est initialement désactivé pour toutes les fenêtres.

silencewait sec

Définit le temps pendant lequel toutes les fenêtres surveillées pour le silence doivent attendre avant d'afficher un message. Par défaut, 30 secondes.

sleep num

Cette commande mettra en pause l'exécution d'un fichier `.screenrc` pendant `num` secondes. L'activité du clavier mettra fin à la pause. Cela peut être utilisé pour donner aux utilisateurs le temps de lire les messages affichés par `echo`.

slowpaste msec

Définit la vitesse à laquelle le texte est inséré dans la fenêtre actuelle par la commande de collage (C-a ]). Si la valeur de `slowpaste` est différente de zéro, le texte est écrit caractère par caractère. Screen fera une pause de `msec` millisecondes après chaque écriture de caractère pour permettre à l'application de traiter son entrée. N'utilisez `slowpaste` que si votre système sous-jacent présente des problèmes de contrôle de flux lors du collage de grandes quantités de texte.

sort

Trie les fenêtres par ordre alphabétique de leurs titres.

source file

Lit et exécute les commandes à partir du fichier `file`. Les commandes source peuvent être imbriquées jusqu'à un niveau de récursion de dix. Si `file` n'est pas un chemin absolu et que screen traite déjà une commande source, le répertoire parent du fichier de commande source en cours d'exécution est utilisé pour rechercher le nouveau fichier de commande avant le répertoire courant de screen.

Notez que les commandes termcap/terminfo/termcapinfo ne fonctionnent qu’au démarrage et lors de la reconnexion, elles doivent donc être accessibles via les fichiers screenrc par défaut pour être efficaces.

sorendition [attr[color]]

Cette commande est obsolète. Voir « rendition so » à la place.

split[-v]

Divise la région actuelle en deux nouvelles régions. Toutes les régions de l’écran sont redimensionnées pour faire de la place pour la nouvelle région. La fenêtre vide est affichée dans la nouvelle région. Par défaut, une division horizontale est créée, plaçant les nouvelles régions en haut et en bas l’une de l’autre. L’utilisation de -v créera une division verticale, ce qui fera apparaître les nouvelles régions côte à côte. Utilisez les commandes remove ou only pour supprimer les régions. Utilisez focus pour basculer entre les régions.

Lorsqu’une région est divisée de manière opposée à la manière dont elle a été divisée précédemment (c’est-à-dire, verticalement puis horizontalement ou horizontalement puis verticalement), une nouvelle couche est créée. La couche est utilisée pour regrouper les régions qui sont divisées de la même manière. En général, en tant qu’utilisateur, vous ne devriez pas voir ni avoir à vous soucier des couches, mais elles affecteront le comportement de certaines commandes (focus et resize).

Avec l’implémentation actuelle de screen, le défilement des données apparaîtra beaucoup plus lentement dans une région divisée verticalement que dans une région qui ne l’est pas. Cela doit être pris en compte si vous devez utiliser des commandes système telles que cat ou tail -f.

startup_message [ on | off ]

Sélectionnez si vous souhaitez voir le message de copyright au démarrage. Par défaut, il est défini sur « on », comme vous l’avez probablement remarqué.

status [ top | up | down | bottom ] [ left | right ]

La fenêtre de statut est par défaut dans le coin inférieur gauche. Cette commande peut déplacer les messages de statut vers n’importe quel coin de l’écran. top est la même chose que up, down est la même chose que bottom.

stuff [string]

Insère la chaîne de caractères string dans le tampon d’entrée de la fenêtre actuelle. C’est comme la commande paste, mais avec beaucoup moins de surcharge. Sans paramètre, screen vous demandera de saisir une chaîne de caractères à insérer. Vous ne pouvez pas coller de grands tampons avec la commande stuff. Elle est la plus utile pour les liaisons de touches. Voir aussi bindkey.

su [username [password [password2]]]

Substitue l’utilisateur d’un écran. La commande demande tous les paramètres qui sont omis. Si les mots de passe sont spécifiés en tant que paramètres, ils doivent être spécifiés non cryptés. Le premier mot de passe est mis en correspondance avec la base de données passwd du système, le deuxième mot de passe est mis en correspondance avec le mot de passe screen défini avec les commandes acladd ou password. Su peut être utile pour l’administrateur de screen pour tester les configurations multi-utilisateurs. En cas d’échec de l’identification, l’utilisateur a accès aux commandes disponibles pour l’utilisateur nobody. Ce sont detach, license, version, help et displays.

suspend

Suspend screen. Les fenêtres sont dans l’état « détaché », tandis que screen est suspendu. Cette fonctionnalité dépend de la capacité du shell à gérer les travaux.

term term

Dans l’environnement de chaque fenêtre, screen définit par défaut la variable $TERM sur screen. Mais si aucune description pour screen n’est installée dans la base de données termcap ou terminfo locale, vous définissez $TERM sur, disons, vt100. Cela n’aura pas beaucoup d’effets, car screen est compatible VT100/ANSI. L’utilisation de la commande term est déconseillée à des fins autres que la valeur par défaut. C’est-à-dire que vous pouvez souhaiter spécifier des paramètres $TERM spéciaux (par exemple, vt100) pour la prochaine commande screen rlogin othermachine. Utilisez la commande screen -T vt100 rlogin othermachine au lieu de définir et de réinitialiser la valeur par défaut.


`termcap` `term` `terminal-tweaks[window-tweaks]`

`terminfo` `term` `terminal-tweaks[window-tweaks]`

`termcapinfo` `term` `terminal-tweaks[window-tweaks]`

Utilisez cette commande pour modifier l’entrée termcap de votre terminal sans avoir à effectuer toutes les manipulations nécessaires pour créer une entrée termcap personnalisée. De plus, vous pouvez personnaliser en option le termcap généré pour les fenêtres. Vous devez placer ces commandes dans l’un des fichiers de démarrage de screen, car elles sont inutiles une fois que l’émulateur de terminal est démarré.

Si votre système utilise la base de données terminfo plutôt que termcap, screen comprendra la commande terminfo, qui a les mêmes effets que la commande termcap. Deux commandes distinctes sont fournies, car il existe de subtiles différences syntaxiques, par exemple lorsque l’interpolation de paramètres (à l’aide de %) est requise. Notez que les noms termcap des capacités doivent être utilisés avec la commande terminfo.

Dans de nombreux cas, lorsque les arguments sont valides dans les syntaxes terminfo et termcap, vous pouvez utiliser la commande termcapinfo, qui n’est qu’un raccourci pour une paire de commandes termcap et terminfo avec des arguments identiques.

Le premier argument spécifie le ou les terminaux qui doivent être affectés par cette définition. Vous pouvez spécifier plusieurs noms de terminaux en les séparant par des |. Utilisez * pour faire correspondre tous les terminaux et vt* pour faire correspondre tous les terminaux qui commencent par vt.

Chaque argument tweak contient une ou plusieurs définitions termcap (séparées par des :) à insérer au début de l’entrée termcap appropriée, afin de l’améliorer ou d’écraser les valeurs existantes. Le premier tweak modifie le termcap de votre terminal et contient des définitions que votre terminal utilise pour effectuer certaines fonctions. Spécifiez une chaîne vide pour ne pas la modifier (par exemple, ''). Le second (facultatif) tweak modifie tous les termcap des fenêtres et doit contenir des définitions que screen comprend (voir la section VIRTUAL TERMINAL).

Quelques exemples :

`termcap` `xterm*` `LP:hs@`

Informe screen que tous les terminaux qui commencent par xterm ont des marges automatiques fixes qui permettent de mettre à jour la dernière position de l’écran (LP), mais qu’ils n’ont pas vraiment de ligne d’état (pas de hs  - ajoutez un @ pour désactiver les entrées). Notez que nous supposons LP pour tous les noms de terminaux qui commencent par vt, mais uniquement si vous ne spécifiez pas une commande termcap pour ce terminal. termcap vt* LP

`termcap` `vt102|vt220` `Z0=\E[?3h:Z1=\E[?3l`

Spécifie la capacité LP à marges fixes pour tous les terminaux qui commencent par vt, et la deuxième ligne ajoutera également les séquences d’échappement pour passer en mode 132 colonnes (Z0) et en sortir (Z1) si c’est un VT102 ou un VT220. (Vous devez spécifier Z0 et Z1 dans votre termcap pour utiliser les commandes de modification de la largeur.)


termcap vt100  ""  l0=PF1:l1=PF2:l2=PF3:l3=PF4

Cela laisse votre termcap vt100 intact et ajoute les étiquettes des touches de fonction à l’entrée termcap de chaque fenêtre.

termcap h19|z19  am@:im=\E@:ei=\EO  dc=\E[P

Cela prend un termcap h19 ou z19, désactive les marges automatiques (am@) et active les capacités de mode insertion (im) et de fin d’insertion (ei) (le @ dans la chaîne im est après le =, il fait donc partie de la chaîne). Le fait d’ajouter les définitions im et ei dans le termcap de votre terminal fera que screen annoncera automatiquement la capacité d’insertion de caractères dans le termcap de chaque fenêtre. Chaque fenêtre se verra également ajouter la capacité de suppression de caractères (dc) dans son termcap, que screen traduira en une mise à jour de ligne pour le terminal (nous faisons comme si elle ne prenait pas en charge la suppression de caractères).

Si vous souhaitez spécifier entièrement l’entrée termcap de chaque fenêtre, vous devez plutôt définir la variable $SCREENCAP avant d’exécuter screen. Consultez la discussion sur le TERMINAL VIRTUEL dans ce manuel, ainsi que la page de manuel termcap(5) pour plus d’informations sur les définitions termcap.

time   [string]

Utilise la ligne de message pour afficher l’heure du jour, le nom de l’hôte et les moyennes de charge sur 1, 5 et 15 minutes (si cela est disponible sur votre système). Pour des informations spécifiques à une fenêtre, utilisez info.

Si une chaîne est spécifiée, elle modifie le format du rapport horaire comme décrit dans le chapitre ESCAPADES DE CHAÎNES. Screen utilise une valeur par défaut de "%c:%s %M %d %H%? %l%?".

title [windowtitle]

Définit le nom de la fenêtre actuelle sur windowtitle. Si aucun nom n’est spécifié, screen vous invite à en entrer un. Cette commande était connue sous le nom de aka dans les versions précédentes.

unbindall

Définit toutes les liaisons. Cela peut être utile lorsque screen est utilisé uniquement pour ses capacités de détachement, par exemple, lorsqu’il permet à une application de console de s’exécuter en tant que démon. Si, pour une raison quelconque, il est nécessaire de lier des commandes après cela, utilisez « screen -X ».

unsetenv var

Supprime une variable d’environnement.

utf8 [ on | off [ on | off ]]

Modifie l’encodage utilisé dans la fenêtre actuelle. Si utf8 est activé, les chaînes envoyées à la fenêtre seront encodées en UTF-8 et vice versa. Omettre le paramètre inverse le paramètre. Si un deuxième paramètre est donné, l’encodage de l’écran est également modifié (il est préférable de le faire avec l’option -U de screen). Voir également defutf8, qui modifie le paramètre par défaut d’une nouvelle fenêtre.

vbell [ on | off ]

Définit le paramètre de sonnerie visuelle pour cette fenêtre. Omettre le paramètre inverse le paramètre. Si vbell est activé, mais que votre terminal ne prend pas en charge une sonnerie visuelle, un « message vbell » est affiché dans la ligne d’état lorsque le caractère de sonnerie (^G) est reçu. La prise en charge de la sonnerie visuelle d’un terminal est définie par la variable termcap vb (terminfo : « flash »).


Par défaut, vbell est désactivé, ce qui fait que la sonnerie audible est utilisée. Voir également bell_msg.

vbell_msg [message]

Définit le message de la sonnerie visuelle. Le message est affiché dans la ligne d'état si la fenêtre reçoit un caractère de sonnerie (^G), vbell est défini sur activé, mais le terminal ne prend pas en charge une sonnerie visuelle. Le message par défaut est Wuff, Wuff!!. Sans paramètre, le message actuel est affiché.

vbellwait sec

Définit un délai en secondes après chaque affichage du message de sonnerie visuelle de l'écran. La valeur par défaut est de 1 seconde.

verbose [ on | off ]

Si verbose est activé, le nom de la commande est affiché chaque fois qu'une fenêtre est créée (ou restaurée à partir d'un état zombie). La valeur par défaut est désactivé. Sans paramètre, le paramètre actuel est affiché.

version

Affiche la version actuelle et la date de compilation dans la ligne d'état.

wall message

Écrit un message sur tous les écrans. Le message apparaîtra dans la ligne d'état du terminal.

width [-w|-d] [cols [lines]]

Bascule la largeur de la fenêtre entre 80 et 132 colonnes ou la définit sur cols colonnes si un argument est spécifié. Cela nécessite un terminal compatible et les entrées termcap Z0 et Z1. Voir la commande termcap pour plus d'informations. Vous pouvez également spécifier une nouvelle hauteur si vous souhaitez modifier les deux valeurs. L'option -w indique à screen de laisser la taille de l'affichage inchangée et de définir uniquement la taille de la fenêtre, -d fait l'inverse.

windowlist [ -b ] [ -m ] [ -g ]

windowlist string [string]

windowlist title [title]

Affiche toutes les fenêtres dans un tableau pour une sélection visuelle des fenêtres. Si screen se trouvait dans un groupe de fenêtres, screen sortira du groupe et affichera ensuite les fenêtres de ce groupe. Si l'option -b est spécifiée, screen basculera vers la fenêtre vide avant de présenter la liste, afin que la fenêtre actuelle soit également sélectionnable. L'option -m modifie l'ordre des fenêtres ; au lieu de les trier par numéro de fenêtre, screen utilise sa liste interne des fenêtres les plus récemment utilisées. L'option -g affiche les fenêtres à l'intérieur de tous les groupes à ce niveau et aux niveaux inférieurs.

Les touches suivantes sont utilisées pour naviguer dans windowlist :

k, C-p, ou flèche haut

espace ou entrée : sélectionne cette fenêtre.

Le format du tableau peut être modifié avec les options string et title. Le titre est affiché en tant qu’en-tête de tableau, tandis que les lignes sont créées à l’aide du paramètre string. Le paramètre par défaut est Num Name%=Flags pour le titre et %3n %t%=%f pour les lignes. Consultez le chapitre STRING ESCAPES pour plus de codes (par exemple, les paramètres de couleur).

Windowlist nécessite une taille de région d’au moins 10 caractères de large et 6 caractères de haut pour s’afficher.

windows [ string ]

Affiche une liste de toutes les fenêtres dans la ligne de message. Chaque fenêtre est répertoriée par numéro avec le nom du processus qui a été démarré dans la fenêtre (ou son titre). La fenêtre actuelle est marquée par un *, la fenêtre précédente par un -, toutes les fenêtres connectées sont marquées par un $, une fenêtre d’arrière-plan qui a reçu un signal sonore est marquée par un !, une fenêtre d’arrière-plan qui est surveillée et qui a enregistré une activité est marquée par un @, une fenêtre pour laquelle l’enregistrement de sortie est activé est marquée par un (L), les fenêtres utilisées par d’autres utilisateurs sont marquées par un &, les fenêtres dans l’état zombie sont marquées par un Z. Si cette liste est trop longue pour s’adapter à la ligne d’état du terminal, seule la portion autour de la fenêtre actuelle est affichée. Le paramètre string optionnel suit le format STRING ESCAPES. Si un paramètre string est passé, la taille de la sortie n’est pas limitée. La commande par défaut sans aucun paramètre est limitée à une taille de 1024 octets.

wrap [ on | off ]

Définit le paramètre d’interligne pour la fenêtre actuelle. Lorsque l’interligne est activé (on), le deuxième caractère imprimable consécutif à la dernière colonne d’une ligne sera renvoyé au début de la ligne suivante. De plus, la touche retour arrière (^H) permettra également de revenir à la ligne précédente, en passant par la marge gauche. La valeur par défaut est on. Sans options, l’état de l’interligne est basculé.

writebuf [-e encoding] [filename]

Écrit le contenu du tampon de collage dans le fichier spécifié, ou dans le fichier d’échange public accessible si aucun nom de fichier n’est fourni. Ceci est considéré comme un moyen rudimentaire de communication entre les utilisateurs de screen sur le même hôte. Si un encodage est spécifié, le tampon de collage est reconverti à la volée pour correspondre à l’encodage. Le nom de fichier peut être défini avec la commande bufferfile et par défaut, il est égal à /tmp/screen-exchange.

writelock [ on | off | auto]

En plus des listes de contrôle d’accès, tous les utilisateurs ne peuvent pas nécessairement écrire dans la même fenêtre en même temps. Par défaut, writelock est en mode auto et accorde une autorisation d’entrée exclusive à l’utilisateur qui est le premier à basculer vers la fenêtre particulière. Lorsqu’il quitte la fenêtre, d’autres utilisateurs peuvent obtenir le writelock (automatiquement). Le writelock de la fenêtre actuelle est désactivé par la commande writelock off. Si l’utilisateur exécute la commande writelock on, il conserve l’autorisation d’écriture exclusive même lorsqu’il bascule vers d’autres fenêtres.

xoff

xon

Insère un caractère CTRL-s / CTRL-q dans la file d’attente stdin de la fenêtre actuelle.


zmodem [ désactivé | auto | catch | pass ]

zmodem sendcmd [chaîne]

zmodem recvcmd [chaîne]

Définir le support zmodem pour screen. Screen prend en charge deux modes différents lorsqu'il détecte une requête zmodem : pass et catch. Si le mode est réglé sur pass, screen relaie toutes les données à l'attacheur jusqu'à la fin de la transmission. En mode catch, screen agit comme un point de terminaison zmodem et démarre les commandes rz/sz correspondantes. Si le mode est réglé sur auto, screen utilisera catch si la fenêtre est un tty (par exemple, une ligne série), sinon il utilisera pass.

Vous pouvez définir les modèles que screen utilise en mode catch via la deuxième et la troisième forme.

Notez également qu'il s'agit d'une fonctionnalité expérimentale.

zombie [touches[onerror]]

Par défaut, les fenêtres screen sont supprimées de la liste des fenêtres dès que le processus de la fenêtre (par exemple, le shell) se termine. Lorsqu'une chaîne de deux touches est spécifiée à la commande zombie, les fenêtres « mortes » resteront dans la liste. La commande kill peut être utilisée pour supprimer une telle fenêtre. Appuyer sur la première touche dans la fenêtre morte a le même effet. En appuyant sur la deuxième touche, screen tentera de ressusciter la fenêtre. Le processus qui fonctionnait initialement dans la fenêtre sera relancé.

L'appel à zombie sans paramètres effacera le paramètre zombie, ce qui fera disparaître les fenêtres lorsque leur processus se termine.

Comme le paramètre zombie est manipulé globalement pour toutes les fenêtres, cette commande devrait probablement s'appeler defzombie, mais ce n'est pas le cas.

Vous pouvez éventuellement ajouter le mot onerror après les touches. Cela amènera screen à surveiller le statut de sortie du processus en cours d'exécution dans la fenêtre. S'il se termine normalement (« 0 »), la fenêtre disparaît. Toute autre valeur de sortie fait que la fenêtre devient une fenêtre zombie.

zombie_timeout[secondes]

Par défaut, les fenêtres screen sont supprimées de la liste des fenêtres dès que le processus de la fenêtre (par exemple, le shell) se termine. Si des touches zombie sont définies (voir la commande zombie ci-dessus), il est possible de définir également un délai d'attente lorsque screen tente de reconnecter automatiquement une fenêtre screen morte.

LA LIGNE DE MESSAGE

Screen affiche des messages d'information et d'autres diagnostics dans une ligne de message. Bien que cette ligne soit distribuée pour apparaître en bas de l'écran, elle peut être définie pour apparaître en haut de l'écran lors de la compilation. Si votre terminal dispose d'une ligne d'état définie dans son termcap, screen l'utilisera pour afficher ses messages, sinon une ligne de l'écran actuel sera temporairement écrasée et la sortie sera momentanément interrompue. La ligne de message est automatiquement supprimée après un court délai, mais elle peut également être supprimée plus tôt (sur les terminaux sans ligne d'état) en commençant à taper.

La fonctionnalité de ligne de message peut être utilisée par une application en cours d'exécution dans la fenêtre actuelle au moyen de la séquence de contrôle de message ANSI Privacy. Par exemple, depuis le shell, essayez quelque chose comme :

echo '<esc>^Hello world from window '$WINDOW'<esc>\\'

où « <esc> » est un caractère d'échappement, « ^ » est une flèche vers le haut littérale, et « \\ » devient une seule barre oblique inversée.

TYPES DE FENÊTRES

Screen fournit trois types de fenêtres différents. Les nouvelles fenêtres sont créées avec la commande screen de screen (voir également l’entrée du chapitre PERSONNALISATION). Le premier paramètre de la commande screen définit le type de fenêtre à créer. Les différents types de fenêtres sont tous des cas particuliers du type normal. Ils ont été ajoutés afin de permettre d’utiliser screen efficacement comme multiplexeur de console avec 100 fenêtres ou plus.

La fenêtre normale contient une coquille (par défaut, si aucun paramètre n’est fourni) ou toute autre commande système qui pourrait être exécutée à partir d’une coquille (par exemple, slogin, etc.).

Si un nom de tty (périphérique spécial caractère) (par exemple, /dev/ttya) est spécifié comme premier paramètre, la fenêtre est directement connectée à ce périphérique. Ce type de fenêtre est similaire à screen cu -l /dev/ttya. L’accès en lecture et en écriture est requis sur le nœud du périphérique, et une ouverture exclusive du nœud est tentée afin de marquer la ligne de connexion comme étant occupée. Un paramètre facultatif est autorisé, qui consiste en une liste de drapeaux séparés par des virgules, dans la notation utilisée par stty(1) :

<débit_en_bauds>

Généralement 300, 1200, 9600 ou 19200. Cela affecte la vitesse de transmission et de réception.

cs8 ou cs7

Spécifie la transmission de huit (ou sept) bits par octet.

cstopb ou -cstopb

Spécifie deux bits d’arrêt par caractère (un avec « - »).

parenb ou -parenb

Génère un bit de parité en sortie et attend un bit de parité en entrée.

parodd ou -parodd

Définit la parité impaire (ou la parité paire avec « - »).

ixon ou -ixon

Active (ou désactive) le contrôle de flux logiciel (CTRL-S/CTRL-Q) pour l’envoi de données.

ixoff ou -ixoff

Active (ou désactive) le contrôle de flux logiciel pour la réception de données.

istrip ou -istrip

Efface (ou conserve) le huitième bit de chaque octet reçu.

Vous pouvez spécifier autant de ces options que nécessaire. Les options non spécifiées amènent le pilote de terminal à définir les valeurs des paramètres de la connexion. Ces valeurs dépendent du système et peuvent être des valeurs par défaut ou des valeurs enregistrées à partir d’une connexion précédente.

Pour les fenêtres tty, la commande info affiche certaines des lignes de contrôle du modem dans la ligne d’état. Elles peuvent inclure « RTS », « CTS », « DTR », « DSR », « CD », etc. Cela dépend des ioctl() disponibles et des fichiers d’en-tête du système, ainsi que des capacités physiques de la carte série. Les signaux qui sont logiquement bas (inactifs) sont précédés d’un point d’exclamation (!), sinon le signal est logiquement haut (actif). Les signaux qui ne sont pas pris en charge par le matériel, mais qui sont disponibles dans l’interface ioctl(), sont généralement affichés en bas.

Lorsque le bit d’état CLOCAL est vrai, l’ensemble des signaux du modem est placé entre accolades ({ et }). Lorsque le bit CRTSCTS ou TIOCSOFTCAR est défini, les signaux « CTS » ou « CD » sont affichés entre parenthèses, respectivement.

Pour les fenêtres tty, la commande break fait passer la ligne de transmission des données (TxD) à l’état bas pendant une période de temps spécifiée. Cela est censé être interprété comme un signal de pause de l’autre côté. Aucune donnée n’est envoyée et aucune ligne de contrôle du modem n’est modifiée lorsqu’une pause est émise.


Si le premier paramètre est //telnet, le deuxième paramètre doit être un nom d’hôte, et un troisième paramètre optionnel peut spécifier un numéro de port TCP (valeur par défaut : 23 en décimal). Screen se connectera à un serveur en écoute sur l’hôte distant et utilisera le protocole telnet pour communiquer avec ce serveur.

Pour les fenêtres telnet, la commande info affiche des détails sur la connexion entre crochets ([ et ]) à la fin de la ligne d’état.

b      BINARY. La connexion est en mode binaire.

e      ECHO. L’écho local est désactivé.

c      SGA. La connexion est en « mode caractère » (par défaut : « mode ligne »).

t      TTYPE. Le type de terminal a été demandé par l’hôte distant. Screen envoie le nom « screen » à moins qu’il ne soit instruit autrement (voir également la commande `term`).

w      NAWS. L’hôte distant est informé des changements de taille de la fenêtre.

f      LFLOW. L’hôte distant enverra des informations de contrôle de flux. (Ignoré pour le moment.)

Des drapeaux supplémentaires pour le débogage sont x, t et n (XDISPLOC, TSPEED et NEWENV).

Pour les fenêtres telnet, la commande break envoie le code telnet IAC BREAK (décimal 243) à l’hôte distant.

Ce type de fenêtre n’est disponible que si Screen a été compilé avec l’option ENABLE_TELNET définie.

Séquences d’échappement

Screen fournit un mécanisme d’échappement pour insérer des informations telles que l’heure actuelle dans les messages ou les noms de fichiers. Le caractère d’échappement est « % », à une exception près : à l’intérieur de la barre d’état d’une fenêtre, « ^% » (« ^E ») est utilisé à la place.

Voici la liste complète des séquences d’échappement prises en charge :

%      le caractère d’échappement lui-même

E      définit %? à true si le caractère d’échappement a été pressé.

e      encodage

f      indicateurs de la fenêtre, voir les fenêtres pour connaître la signification des différents indicateurs

F      définit %? à true si la fenêtre a le focus

h      barre d’état de la fenêtre

H      nom d’hôte du système

n      numéro de fenêtre

P      définit %? à true si la région actuelle est en mode copier-coller

S      nom de session

s      taille de la fenêtre

t      titre de la fenêtre

u      tous les autres utilisateurs sur cette fenêtre

w      tous les numéros et noms de fenêtre. Avec le qualificatif « - » : jusqu’à la fenêtre actuelle ; avec le qualificatif « + » : en commençant par la fenêtre après la fenêtre actuelle.

W      tous les numéros et noms de fenêtre sauf la fenêtre actuelle

x      la commande exécutée, y compris les arguments, dans cette fenêtre

X      la commande exécutée, sans les arguments, dans cette fenêtre

?      la partie jusqu’au prochain « %? » est affichée uniquement si une séquence d’échappement « % » à l’intérieur de la partie se développe en une chaîne non vide

:      sinon, partie de « %? »

=      remplit la chaîne jusqu’à la largeur de l’écran (comme hfill de TeX). Si un nombre est spécifié, remplit jusqu’au pourcentage de la largeur de la fenêtre. Un qualificatif « 0 » indique à Screen de traiter le nombre comme une position absolue. Vous pouvez spécifier de remplir par rapport à la dernière position de remplissage absolu en ajoutant un qualificatif « + » ou de remplir par rapport à la marge droite en utilisant « - ». Le remplissage tronque la chaîne si la position spécifiée se trouve avant la position actuelle. Ajoutez le qualificatif « L » pour modifier cela.

<      identique à '%=' mais effectue uniquement une troncature, sans ajouter d'espaces.

>      marque la position de texte actuelle pour la prochaine troncature. Lorsque l'écran doit effectuer une troncature, il tente de le faire de manière à ce que la position marquée soit déplacée vers le pourcentage spécifié de la zone de sortie (la zone commence à la dernière position de remplissage absolue et se termine à la position spécifiée par l'opérateur de troncature). Le qualificateur 'L' indique à l'écran de marquer les parties tronquées avec '...'.

{      chaîne de modificateur d'attribut/couleur terminée par le crochet fermant suivant.

`      remplace par la sortie d'une commande entre guillemets inversés. Le qualificateur de longueur est utilisé de manière incorrecte pour identifier l'une des commandes.

Les séquences d'échappement 'c' et 'C' peuvent être qualifiées avec un '0' pour que l'écran utilise zéro au lieu d'un espace comme caractère de remplissage. Le qualificateur '0' fait également que la séquence d'échappement '=' utilise des positions absolues. Les séquences d'échappement 'n' et '=' prennent en charge un qualificateur de longueur (par exemple, '%3n'), 'D' et 'M' peuvent être précédés de 'L' pour générer des noms longs, et 'w' et 'W' affichent également les indicateurs de fenêtre si 'L' est donné.

Un modificateur d'attribut/couleur est utilisé pour modifier les paramètres d'attribut ou de couleur. Son format est le suivant : [modificateur d'attribut] [description de la couleur]. Le modificateur d'attribut doit être précédé d'un indicateur de modification si celui-ci peut être confondu avec une description de couleur. Les types de modification suivants sont connus :

+      ajoute l'ensemble spécifié aux attributs actuels.

-      supprime l'ensemble des attributs actuels.

!      inverse l'ensemble dans les attributs actuels.

=      modifie les attributs actuels pour qu'ils correspondent à l'ensemble spécifié.

L'ensemble d'attributs peut être spécifié soit par un nombre hexadécimal, soit par une combinaison des lettres suivantes :

d      foncé
u      souligné
b      gras
r      inversé
s      /en relief
B      clignotant

Les couleurs sont codées soit par un nombre hexadécimal, soit par deux lettres spécifiant la couleur d'arrière-plan et la couleur de premier plan souhaitées (dans cet ordre). Les couleurs suivantes sont connues :

k      noir
r      rouge
g      vert
y      jaune
b      bleu
m      magenta
c      cyan
w      blanc
d      couleur par défaut
.      laisse la couleur inchangée

Les versions en majuscules des lettres spécifient les couleurs vives. Vous pouvez également utiliser la pseudo-couleur 'i' pour définir uniquement la luminosité et laisser la couleur inchangée. Une description de couleur à un chiffre/une lettre est traitée comme une couleur de premier plan ou d'arrière-plan en fonction des attributs actuels : si le mode inversé est défini, la couleur d'arrière-plan est modifiée au lieu de la couleur de premier plan. Si vous ne souhaitez pas cela, préfixez la couleur avec '..'. Si vous souhaitez le même comportement pour les descriptions de couleurs à deux lettres, préfixez également celles-ci avec '..'. Dans un cas particulier, %{-} restaure les attributs et les couleurs qui ont été définis avant la dernière modification (c'est-à-dire qu'il fait remonter d'un niveau la pile de modifications de couleur).

Exemples :

G      définit la couleur en vert vif

+b r   utilise le rouge en gras

= yd   efface tous les attributs, affiche en couleur par défaut sur fond jaune.

%-Lw%{= BW}%50>%n%f* %t%{-}%+Lw%<

Les fenêtres disponibles, centrées sur la fenêtre actuelle et tronquées à la largeur disponible. La fenêtre actuelle est affichée en blanc sur fond bleu. Ceci peut être utilisé avec hardstatus alwayslastline.

%?%F%{.R.}%?%3n %t%? [%h]%?

Le numéro et le titre de la fenêtre, ainsi que le hardstatus de la fenêtre, si celui-ci est défini. Utilise également un arrière-plan rouge si c'est la fenêtre active. Utile pour la chaîne de légende.

CONTRÔLE DE FLUX

Chaque fenêtre possède un paramètre de contrôle de flux qui détermine la manière dont screen gère les caractères XON et XOFF (et peut-être le caractère d'interruption). Lorsque le contrôle de flux est désactivé, screen ignore les caractères XON et XOFF, ce qui permet à l'utilisateur de les envoyer au programme actuel en les tapant simplement (utile pour l'éditeur Emacs, par exemple). L'inconvénient est qu'il faudra plus de temps pour que la sortie d'un programme normal s'interrompe en réponse à un caractère XOFF. Lorsque le contrôle de flux est activé, les caractères XON et XOFF sont utilisés pour interrompre immédiatement la sortie de la fenêtre actuelle. Vous pouvez toujours envoyer ces caractères au programme actuel, mais vous devez utiliser les commandes d'écran appropriées à deux caractères (généralement C-a q (xon) et C-a s (xoff)). Les commandes xon/xoff sont également utiles pour taper C-s et C-q dans un terminal qui intercepte ces caractères.

Chaque fenêtre possède une valeur de contrôle de flux initiale définie avec l'option -f ou la commande defflow dans le fichier .screenrc. Par défaut, les fenêtres sont configurées pour une commutation automatique du contrôle de flux. Il peut ensuite être basculé entre les trois états « fixe sur », « fixe désactivé » et « automatique » de manière interactive avec la commande flow, liée à « C-a f ».

Le mode de commutation automatique du contrôle de flux gère le contrôle de flux en utilisant le mode TIOCPKT (comme le fait rlogin). Si le pilote tty ne prend pas en charge TIOCPKT, screen tente de déterminer le mode approprié en fonction du paramètre actuel du pavé numérique de l'application : lorsque celui-ci est activé, le contrôle de flux est désactivé, et vice versa. Bien sûr, vous pouvez toujours manipuler le contrôle de flux manuellement si nécessaire.

Si vous exécutez avec le contrôle de flux activé et que vous constatez qu'appuyer sur la touche d'interruption (généralement Cc) n'interrompt pas l'affichage avant que 6 à 8 lignes supplémentaires ne se soient affichées, essayez d'exécuter screen avec l'option d'interruption (ajoutez l'indicateur d'interruption à la commande flow dans votre fichier .screenrc, ou utilisez l'option de ligne de commande -i). Cela force l'effacement de la sortie que screen a accumulée à partir du programme interrompu. Un inconvénient est que la mémoire du terminal virtuel contient la version non effacée de la sortie, ce qui peut dans de rares cas entraîner de légères imprécisions dans la sortie. Par exemple, si vous changez d'écran et revenez en arrière, ou si vous actualisez l'écran avec C-a l, vous verrez la version de la sortie que vous auriez obtenue si l'interruption n'avait pas été activée. De plus, vous devrez peut-être désactiver le contrôle de flux (ou utiliser le mode de flux automatique pour le désactiver automatiquement) lorsque vous exécutez un programme qui s'attend à ce que vous tapiez le caractère d'interruption en entrée, car il est possible d'interrompre la sortie du terminal virtuel vers votre terminal physique lorsque le contrôle de flux est activé. Si cela se produit, une simple actualisation de l'écran avec C-a l permettra de le restaurer. Essayez chaque mode et utilisez celui que vous trouvez le plus confortable.


TITRES (nommage des fenêtres)

Vous pouvez personnaliser le nom de chaque fenêtre dans l'affichage des fenêtres (visualisé avec la commande windows (C-a w)) en le définissant avec l'une des commandes de titre. Normalement, le nom affiché est le nom réel du programme créé dans la fenêtre. Cependant, il est parfois utile de distinguer différents programmes portant le même nom ou de modifier le nom à la volée pour refléter l'état actuel de la fenêtre.

Le nom par défaut de toutes les fenêtres shell peut être défini avec la commande shelltitle dans le fichier .screenrc, tandis que toutes les autres fenêtres sont créées avec une commande screen et peuvent donc avoir leur nom défini avec l'option -t. De manière interactive, il existe la séquence d'échappement title-string (<esc>kname<esc>) et la commande title (C-a A). La première peut être sortie par une application pour contrôler le nom de la fenêtre sous contrôle logiciel, et la seconde demandera un nom lorsqu'elle sera tapée. Vous pouvez également lier des noms prédéfinis à des touches avec la commande title pour définir rapidement les choses sans demander de confirmation. La modification du titre par cette séquence d'échappement peut être contrôlée par les commandes defdynamictitle et dynamictitle.

Enfin, screen dispose d'une heuristique spécifique au shell qui est activée en définissant le nom de la fenêtre sur search|name et en configurant l'émission d'une séquence d'échappement de titre nulle dans votre invite de commandes. La partie search spécifie une chaîne de recherche de fin d'invite, tandis que la partie name spécifie le nom de shell par défaut pour la fenêtre. Si le nom se termine par un :, screen ajoutera ce qu'il considère comme la commande en cours d'exécution dans la fenêtre à la fin du nom de shell de la fenêtre (par exemple, name:cmd). Sinon, le nom de commande actuel remplace le nom de shell pendant son exécution.

Voici comment cela fonctionne : vous devez modifier l'invite de commandes de votre shell pour qu'elle affiche une séquence d'échappement de titre nulle (<esc>k<esc>) dans le cadre de votre invite. La dernière partie de votre invite doit être la même que la chaîne que vous avez spécifiée pour la partie search du titre. Une fois que cela est configuré, screen utilisera la séquence d'échappement de titre pour effacer le nom de commande précédent et se préparer pour la commande suivante. Ensuite, lorsqu'un saut de ligne est reçu du shell, une recherche est effectuée pour la fin de l'invite. Si elle est trouvée, elle prendra le premier mot après la chaîne correspondante et l'utilisera comme nom de commande. Si le nom de commande commence par '!', '%' ou '^', screen utilisera le premier mot de la ligne suivante (si elle est trouvée) de préférence au nom trouvé. Cela aide les utilisateurs de csh à obtenir de meilleurs noms de commandes lorsqu'ils utilisent le contrôle de tâches ou la commande de rappel d'historique.


Voici quelques exemples de fichiers .screenrc :

screen -t top 2 nice top

L’ajout de cette ligne à votre fichier .screenrc lancerait la commande « nice top » dans la fenêtre 2, avec le nom « top » plutôt que « nice ».

shelltitle '> |csh'
screen 1

Ces commandes lanceraient une session de shell avec le shelltitle spécifié. Le titre spécifié est un titre automatique qui s’attend à ce que l’invite de commande et la commande tapée ressemblent à ce qui suit :

/usr/joe/src/dir> trn

(il surveille l’élément après « > » pour le nom de la commande). Le statut de la fenêtre afficherait le nom « trn »
pendant l’exécution de la commande, et reviendrait à « csh » une fois celle-ci terminée.

bind R screen -t '% |root:' su

L’ajout de cette commande à votre fichier .screenrc lierait la séquence de touches C-a R à la commande « su » et lui attribuerait un nom de titre automatique de « root: ». Pour que ce titre automatique fonctionne, l’écran pourrait ressembler à ceci :

% !em
emacs file.c

Ici, l’utilisateur a tapé la commande d’historique csh « !em », qui a exécuté la commande « emacs » précédemment saisie. Le statut de la fenêtre afficherait « root:emacs » pendant l’exécution de la commande, et reviendrait à simplement « root: » une fois celle-ci terminée.

bind o title
bind E title ""
bind u title (unknown)

La première liaison n’a aucun argument, elle vous demandera donc un titre lorsque vous taperez Ca o. La deuxième liaison effacerait le paramètre actuel du titre automatique (C-a E). La troisième liaison définirait le titre actuel de la fenêtre sur « (unknown) » (C-a u).

Il faut garder à l’esprit qu’en ajoutant une séquence d’échappement de titre nul à votre invite, certains shells (comme le csh) considèrent tous les caractères non-contrôle comme faisant partie de la longueur de l’invite. Si ces caractères invisibles ne sont pas un multiple de 8, alors revenir en arrière sur une tabulation entraînera un affichage incorrect. Une façon de contourner ce problème est d’utiliser une invite comme celle-ci :

set prompt='^[[0000m^[k^[\% '

La séquence d’échappement <esc>[0000m normalise non seulement les attributs des caractères, mais tous les zéros arrondissent la longueur des caractères invisibles à 8. Les utilisateurs de Bash voudront probablement faire écho à la séquence d’échappement dans PROMPT_COMMAND :

PROMPT_COMMAND='printf "\033k\033\134"'

(J’ai utilisé \134 pour afficher un caractère « \ » en raison d’un bug dans bash v1.04).

LE TERMINAL VIRTUEL

Chaque fenêtre d’une session screen émule un terminal VT100, avec quelques fonctions supplémentaires. L’émulateur VT100 est codé en dur, aucun autre type de terminal ne peut être émulé. Généralement, screen tente d’émuler autant que possible les normes VT100/ANSI. Mais si votre terminal ne prend pas en charge certaines fonctionnalités, l’émulation peut ne pas être complète. Dans ces cas, screen doit indiquer aux applications que certaines des fonctionnalités sont manquantes. Ce n’est pas un problème sur les machines qui utilisent termcap, car screen peut utiliser la variable $TERMCAP pour personnaliser le termcap standard de screen.

Mais si vous effectuez un rlogin sur une autre machine ou si votre machine ne prend en charge que terminfo, cette méthode échoue. Pour cette raison, screen propose un moyen de gérer ces cas. Voici comment cela fonctionne :

Lorsque screen tente de déterminer un nom de terminal pour lui-même, il recherche d’abord une entrée nommée screen., où est le contenu de votre variable $TERM. Si une telle entrée n’existe pas, screen tente d’utiliser screen (ou screen-w si le terminal est large (132 colonnes ou plus)). Si même cette entrée ne peut être trouvée, vt100 est utilisé comme substitut.

L'idée est que si vous avez un terminal qui ne prend pas en charge une fonctionnalité importante (par exemple, la suppression de caractères ou l'effacement jusqu'à la fin), vous pouvez créer une nouvelle entrée termcap/terminfo pour screen (nommée screen.<dumbterm>) dans laquelle cette fonctionnalité a été désactivée. Si cette entrée est installée sur vos machines, vous pouvez effectuer une connexion rlogin et conserver l'entrée termcap/terminfo correcte. Le nom du terminal est placé dans la variable $TERM de toutes les nouvelles fenêtres. Screen définit également la variable $TERMCAP, qui reflète les capacités du terminal virtuel émulé. Notez cependant que, sur les machines qui utilisent la base de données terminfo, cette variable n'a aucun effet. De plus, la variable $WINDOW est définie sur le numéro de fenêtre de chaque fenêtre.

L'ensemble réel des capacités prises en charge par le terminal virtuel dépend des capacités prises en charge par le terminal physique. Par exemple, si le terminal physique ne prend pas en charge le mode souligné, screen n'ajoute pas les capacités us et ue à la variable $TERMCAP de la fenêtre. Cependant, un nombre minimal de capacités doit être pris en charge par un terminal pour que screen fonctionne : à savoir, la défilement, l'effacement de l'écran et l'adressage direct du curseur (en plus, screen ne fonctionne pas sur les terminaux d'impression ou sur les terminaux qui effectuent une superposition).

Vous pouvez également personnaliser la valeur $TERMCAP utilisée par screen en utilisant la commande termcap .screenrc, ou en définissant la variable $SCREENCAP avant le démarrage. Lorsque cette dernière est définie, sa valeur sera copiée textuellement dans la variable $TERMCAP de chaque fenêtre. Il peut s'agir de la définition complète du terminal ou du nom d'un fichier dans lequel le terminal screen (et/ou screen-w) est défini.

Notez que screen prend en charge la commande terminfo .screenrc si le système utilise la base de données terminfo plutôt que termcap.

Lorsque la capacité booléenne G0 est présente dans l'entrée termcap du terminal sur lequel screen a été appelé, l'émulation de terminal de screen prend en charge plusieurs jeux de caractères. Cela permet à une application d'utiliser, par exemple, le jeu de caractères graphiques VT100 ou les jeux de caractères nationaux. Les fonctions de contrôle ISO 2022 suivantes sont prises en charge : verrouillage du décalage G0 (SI), verrouillage du décalage G1 (SO), verrouillage du décalage G2, verrouillage du décalage G3, décalage unique G2 et décalage unique G3. Lorsqu'un terminal virtuel est créé ou réinitialisé, le jeu de caractères ASCII est désigné comme G0 à G3. Lorsque la capacité G0 est présente, screen évalue les capacités S0, E0 et C0 si elles sont présentes. S0 est la séquence que le terminal utilise pour activer et démarrer le jeu de caractères graphiques au lieu de SI. E0 est le remplacement correspondant de SO. C0 donne une chaîne de traduction caractère par caractère qui est utilisée pendant le mode semi-graphique. Cette chaîne est construite comme la capacité acsc de terminfo.

Lorsque les capacités po et pf sont présentes dans l'entrée termcap du terminal, les applications exécutées dans une fenêtre screen peuvent envoyer des données vers le port d'imprimante du terminal. Cela permet à un utilisateur d'avoir une application dans une fenêtre qui envoie des données vers une imprimante connectée au terminal, tout en gardant toutes les autres fenêtres actives (le port d'imprimante est activé puis désactivé pour chaque bloc de données). En tant qu'effet secondaire, les programmes exécutés dans différentes fenêtres peuvent envoyer des données à l'imprimante simultanément. Les données envoyées à l'imprimante ne sont pas affichées dans la fenêtre. La commande info affiche une ligne commençant par PRIN lorsque l'imprimante est active.

Screen maintient une ligne d'état (hardstatus) pour chaque fenêtre. Si une fenêtre est sélectionnée, la ligne d'état de l'affichage sera mise à jour pour correspondre à la ligne d'état de la fenêtre. Si l'affichage n'a pas de ligne d'état, celle-ci sera affichée comme un message screen standard. La ligne d'état peut être modifiée à l'aide de la commande ANSI Application Program Command (APC) : ESC_<chaîne>ESC\. Pour faciliter l'utilisation avec xterm, la séquence ESC]0..2;<chaîne>^G est également acceptée.

Certaines capacités ne sont ajoutées à la variable $TERMCAP du terminal virtuel que si elles peuvent être implémentées efficacement par le terminal physique. Par exemple, dl (supprimer la ligne) n'est ajouté à la variable $TERMCAP que si le terminal prend en charge soit la suppression de ligne elle-même, soit les régions de défilement. Notez que cela peut provoquer une confusion lorsque la session est rétablie sur un terminal différent, car la valeur de $TERMCAP ne peut pas être modifiée par les processus parents.

La capacité "écran alternatif" n'est pas activée par défaut. Définissez la commande altscreen dans le fichier .screenrc pour l'activer.

Ce qui suit est une liste des séquences de contrôle reconnues par screen. (V) et (A) indiquent les fonctions spécifiques à VT100 et ANSI ou ISO, respectivement.

ESC E                      Ligne suivante

ESC D                      Index

ESC M                      Index inverse

ESC H                      Définir la position du curseur horizontal

ESC Z                      Envoyer la chaîne d'identification VT100

ESC 7                 (V)  Enregistrer le curseur et les attributs

ESC 8                 (V)  Restaurer le curseur et les attributs

ESC [s                (A)  Enregistrer le curseur et les attributs

ESC [u                (A)  Restaurer le curseur et les attributs

ESC c                      Réinitialiser à l'état initial

ESC g                      Sonnerie visuelle

ESC Pn p                   Visibilité du curseur (97801)

Pn = 6                     Invisible

Pn = 7                     Visible

ESC =                 (V)  Mode pavé numérique des applications

ESC >                 (V)  Mode pavé numérique

ESC # 8               (V)  Remplir l'écran avec des E

ESC \                 (A)  Terminateur de chaîne

ESC ^                 (A)  Message de confidentialité (ligne de message)

ESC !                      Chaîne de message globale (ligne de message)

ESC k                      Chaîne de définition (alias)

ESC P                 (A)  Chaîne de contrôle de périphérique. Affiche une chaîne directement sur le terminal hôte
sans interprétation.

ESC _                 (A)  Commande de programme d’application (ligne d’état)

ESC ] 0 ; chaîne ^G   (A)  Commande du système d’exploitation (ligne d’état, astuce pour le titre de xterm)

ESC ] 83 ; cmd ^G     (A)  Exécuter une commande d’écran. Cela ne fonctionne que si la prise en charge multi-utilisateurs est
compilée dans screen. L’utilisateur pseudo :window: est utilisé pour vérifier la liste de contrôle d’accès. Utilisez addacl :window: -rwx #? pour créer un
utilisateur sans droits et autoriser uniquement les commandes nécessaires.

Control-N             (A)  Verrouiller Maj G1 (SO)

Control-O             (A)  Verrouiller Maj G0 (SI)

ESC n                 (A)  Verrouiller Maj G2

ESC o                 (A)  Verrouiller Maj G3

ESC N                 (A)  Maj simple G2

ESC O                 (A)  Maj simple G3

ESC ( Pcs             (A)  Désigner l’ensemble de caractères comme G0

ESC ) Pcs             (A)  Désigner l’ensemble de caractères comme G1

ESC * Pcs             (A)  Désigner l’ensemble de caractères comme G2

ESC + Pcs             (A)  Désigner l’ensemble de caractères comme G3

ESC [ Pn ; Pn H            Adresse directe du curseur

ESC [ Pn ; Pn f            comme ci-dessus

ESC [ Pn J                 Effacer dans l’affichage

Pn = None ou 0             Du curseur à la fin de l’écran

Pn = 1                     Du début de l’écran au curseur

Pn = 2                     Tout l’écran

ESC [ Pn K                 Effacer dans la ligne

Pn = None ou 0             Du curseur à la fin de la ligne

Pn = 1                     Du début de la ligne au curseur

Pn = 2                     Toute la ligne

ESC [ Pn X                 Effacer le caractère

ESC [ Pn A                 Déplacer le curseur vers le haut

ESC [ Pn B                 Déplacer le curseur vers le bas

ESC [ Pn C                 Déplacer le curseur vers la droite

ESC [ Pn D                 Déplacer le curseur vers la gauche

ESC [ Pn E                 Déplacer le curseur à la ligne suivante

ESC [ Pn F                 Déplacer le curseur à la ligne précédente

ESC [ Pn G                 Déplacer le curseur à la position horizontale

ESC [ Pn `                 comme ci-dessus

ESC [ Pn d                 Déplacer le curseur à la position verticale

ESC [ Ps ;...; Ps m        Sélectionner le rendu graphique

Ps = None ou 0             Rendu par défaut

Ps = 1                     Gras

Ps = 2                (A)  Faible

Ps = 3                (A)  Mode de mise en évidence (ANSI : italique)

Ps = 4                     Souligné

Ps = 5                     Clignotant

Ps = 7                     Image négative

Ps = 22               (A)  Intensité normale

Ps = 23               (A)  Mode de mise en évidence désactivé (ANSI : italique désactivé)

Ps = 24               (A)  Non souligné

Ps = 25               (A)  Non clignotant

Ps = 27               (A)  Image positive

Ps = 30               (A)  Premier plan noir

Ps = 31               (A)  Premier plan rouge

Ps = 32               (A)  Premier plan vert

Ps = 33               (A)  Premier plan jaune

Ps = 34               (A)  Premier plan bleu

Ps = 35               (A)  Couleur de premier plan : magenta

Ps = 36               (A)  Couleur de premier plan : cyan

Ps = 37               (A)  Couleur de premier plan : blanc

Ps = 39               (A)  Couleur de premier plan : par défaut

Ps = 40               (A)  Couleur de fond : noir

Ps = ...

Ps = 49               (A)  Couleur de fond : par défaut

ESC [ Pn g                 Tabulation : effacer

Pn = None ou 0             Effacer la tabulation à la position actuelle

Pn = 3                     Effacer toutes les tabulations

ESC [ Pn ; Pn r       (V)  Définir la région de défilement

ESC [ Pn I            (A)  Tabulation horizontale

ESC [ Pn Z            (A)  Tabulation arrière

ESC [ Pn L            (A)  Insérer une ligne

ESC [ Pn M            (A)  Supprimer une ligne

ESC [ Pn @            (A)  Insérer un caractère

ESC [ Pn P            (A)  Supprimer un caractère

ESC [ Pn S                 Faire défiler la région de défilement vers le haut

ESC [ Pn T                 Faire défiler la région de défilement vers le bas

ESC [ Pn ^                 Identique à ci-dessus

ESC [ Ps ;...; Ps h        Définir le mode

ESC [ Ps ;...; Ps l        Réinitialiser le mode

Ps = 4                (A)  Mode insertion

Ps = 20               (A)  Retour à la ligne automatique

Ps = 34                    Visibilité du curseur : normal

Ps = ?1               (V)  Touches de curseur de l'application

Ps = ?3               (V)  Définir la largeur du terminal sur 132 colonnes

Ps = ?5               (V)  Vidéo inversée

Ps = ?6               (V)  Mode origine

Ps = ?7               (V)  Mode d'interruption de ligne

Ps = ?9                    Suivi de la souris X10

Ps = ?25              (V)  Curseur visible

Ps = ?47              (V)  Écran alternatif (ancien code xterm)

Ps = ?1000            (V)  Suivi de la souris VT200

Ps = ?1047                 Écran alternatif (nouveau code xterm)

Ps = ?1049                 Écran alternatif (nouveau code xterm)

ESC [ 5 i             (A)  Démarrer la transmission à l'imprimante (copie multimédia ANSI)

ESC [ 4 i             (A)  Arrêter la transmission à l'imprimante (copie multimédia ANSI)

ESC [ 8 ; Ph ; Pw t        Redimensionner la fenêtre à `Ph` lignes et `Pw` colonnes (spécial SunView)

ESC [ c                    Envoyer la chaîne d'identification VT100

ESC [ x                    Envoyer le rapport des paramètres du terminal

ESC [ > c                  Envoyer la chaîne des attributs de périphérique secondaire VT220

ESC [ 6 n                  Envoyer le rapport de la position du curseur

TRADUCTION DES ENTRÉES

Afin de réaliser une émulation VT100 complète, l'écran doit détecter qu'une séquence de caractères dans le flux d'entrée a été générée par une pression sur le clavier de l'utilisateur et insérer la séquence d'échappement de style VT100. L'écran dispose d'une méthode très flexible pour ce faire en permettant de mapper des commandes arbitraires à des séquences de caractères arbitraires. Pour l'émulation VT100 standard, la commande insérera toujours une chaîne dans le tampon d'entrée de la fenêtre (voir également la commande dans la table des commandes). Étant donné que les séquences générées par une pression sur une touche peuvent changer après une reconnexion à partir d'un autre type de terminal, il est possible de lier des commandes au nom de termcap des touches. L'écran insérera la liaison correcte après chaque reconnexion. Voir la commande bindkey pour plus de détails sur la syntaxe et les exemples.

Voici le tableau des raccourcis clavier par défaut. La quatrième colonne indique la commande exécutée lorsque le clavier est basculé en mode application.

┌─────────────────┬──────────────┬──────────┬──────────┐
│ Nom de la touche │ Nom Termcap │ Commande  │ Mode appli. │
├─────────────────┼──────────────┼──────────┼──────────┤
│ Curseur haut    │ ku           │ \033[A   │ \033OA   │
├─────────────────┼──────────────┼──────────┼──────────┤
│ Curseur bas     │ kd           │ \033[B   │ \033OB   │
├─────────────────┼──────────────┼──────────┼──────────┤
│ Curseur droite  │ kr           │ \033[C   │ \033OC   │
├─────────────────┼──────────────┼──────────┼──────────┤
│ Curseur gauche  │ kl           │ \033[D   │ \033OD   │
├─────────────────┼──────────────┼──────────┼──────────┤
│ Touche fonction 0│ k0           │ \033[10~ │          │
├─────────────────┼──────────────┼──────────┼──────────┤
│ Touche fonction 1│ k1           │ \033OP   │          │
├─────────────────┼──────────────┼──────────┼──────────┤
│ Touche fonction 2│ k2           │ \033OQ   │          │
├─────────────────┼──────────────┼──────────┼──────────┤
│ Touche fonction 3│ k3           │ \033OR   │          │
├─────────────────┼──────────────┼──────────┼──────────┤
│ Touche fonction 4│ k4           │ \033OS   │          │
├─────────────────┼──────────────┼──────────┼──────────┤
│ Touche fonction 5│ k5           │ \033[15~ │          │
├─────────────────┼──────────────┼──────────┼──────────┤
│ Touche fonction 6│ k6           │ \033[17~ │          │
├─────────────────┼──────────────┼──────────┼──────────┤
│ Touche fonction 7│ k7           │ \033[18~ │          │
├─────────────────┼──────────────┼──────────┼──────────┤
│ Touche fonction 8│ k8           │ \033[19~ │          │
├─────────────────┼──────────────┼──────────┼──────────┤
│ Touche fonction 9│ k9           │ \033[20~ │          │
├─────────────────┼──────────────┼──────────┼──────────┤
│ Touche fonction 10│ k;           │ \033[21~ │          │
├─────────────────┼──────────────┼──────────┼──────────┤
│ Touche fonction 11│ F1           │ \033[23~ │          │
├─────────────────┼──────────────┼──────────┼──────────┤
│ Touche fonction 12│ F2           │ \033[24~ │          │
├─────────────────┼──────────────┼──────────┼──────────┤
│ Début           │ kh           │ \033[1~  │          │
├─────────────────┼──────────────┼──────────┼──────────┤
│ Fin             │ kH           │ \033[4~  │          │
├─────────────────┼──────────────┼──────────┼──────────┤
│ Insertion       │ kI           │ \033[2~  │          │
├─────────────────┼──────────────┼──────────┼──────────┤
│ Suppression     │ kD           │ \033[3~  │          │
├─────────────────┼──────────────┼──────────┼──────────┤
│ Page suivante   │ kP           │ \033[5~  │          │
├─────────────────┼──────────────┼──────────┼──────────┤
│ Page précédente │ kN           │ \033[6~  │          │
├─────────────────┼──────────────┼──────────┼──────────┤
│ Pavé numérique 0│ f0           │ 0        │ \033Op   │
├─────────────────┼──────────────┼──────────┼──────────┤
│ Pavé numérique 1│ f1           │ 1        │ \033Oq   │
├─────────────────┼──────────────┼──────────┼──────────┤
│ Pavé numérique 2│ f2           │ 2        │ \033Or   │
├─────────────────┼──────────────┼──────────┼──────────┤
│ Pavé numérique 3│ f3           │ 3        │ \033Os   │
├─────────────────┼──────────────┼──────────┼──────────┤
│ Pavé numérique 4│ f4           │ 4        │ \033Ot   │
├─────────────────┼──────────────┼──────────┼──────────┤
│ Pavé numérique 5│ f5           │ 5        │ \033Ou   │
├─────────────────┼──────────────┼──────────┼──────────┤
│ Pavé numérique 6│ f6           │ 6        │ \033Ov   │
├─────────────────┼──────────────┼──────────┼──────────┤
│ Pavé numérique 7│ f7           │ 7        │ \033Ow   │
├─────────────────┼──────────────┼──────────┼──────────┤
│ Pavé numérique 8│ f8           │ 8        │ \033Ox   │
├─────────────────┼──────────────┼──────────┼──────────┤
│ Pavé numérique 9│ f9           │ 9        │ \033Oy   │
├─────────────────┼──────────────┼──────────┼──────────┤
│ Pavé numérique +│ f+           │ +        │ \033Ok   │
├─────────────────┼──────────────┼──────────┼──────────┤
│ Pavé numérique -│ f-           │ -        │ \033Om   │
├─────────────────┼──────────────┼──────────┼──────────┤
│ Pavé numérique *│ f*           │ *        │ \033Oj   │
├─────────────────┼──────────────┼──────────┼──────────┤
│ Pavé numérique /│ f/           │ /        │ \033Oo   │
├─────────────────┼──────────────┼──────────┼──────────┤
│ Pavé numérique =│ fq           │ =        │ \033OX   │
├─────────────────┼──────────────┼──────────┼──────────┤
│ Pavé numérique .│ f.           │ .        │ \033On   │
├─────────────────┼──────────────┼──────────┼──────────┤
│ Pavé numérique ,│ f,           │ ,        │ \033Ol   │
├─────────────────┼──────────────┼──────────┼──────────┤
│ Pavé numérique Entrée│ fe           │ \015     │ \033OM   │
└─────────────────┴──────────────┴──────────┴──────────┘

CAPACITÉS SPÉCIALES DU TERMINAL

Le tableau suivant décrit toutes les capacités du terminal reconnues par screen et qui ne figurent pas dans le manuel termcap(5). Vous pouvez placer ces capacités dans vos entrées termcap (dans /etc/termcap) ou les utiliser avec les commandes termcap, terminfo et termcapinfo dans vos fichiers screenrc. Il n'est souvent pas possible de placer ces capacités dans la base de données terminfo.

LP   (bool)  Le terminal possède des marges de style VT100 (`marges magiques`). Notez que cette capacité est obsolète car screen utilise désormais la norme `xn`.

Z0   (str)   Modifier la largeur à 132 colonnes.

Z1   (str)   Modifier la largeur à 80 colonnes.

WS   (str)   Redimensionner l'affichage. Cette capacité prend la largeur et la hauteur souhaitées comme arguments. Exemple SunView(tm) : `\E[8;%d;%dt`.

NF   (bool)  Le terminal n'a pas besoin de contrôle de flux. Envoyer ^S et ^Q directement à l'application. Identique à `flow off`. Le contraire de cette capacité est `nx`.

G0   (bool)  Le terminal peut gérer les séquences de sélection de police ISO 2022.

S0   (str)   Basculer le jeu de caractères `G0` vers le jeu de caractères spécifié. La valeur par défaut est `\E(%.`.

E0   (str)   Basculer le jeu de caractères `G0` vers le jeu de caractères standard. La valeur par défaut est `\E(B`.

C0   (str)   Utiliser la chaîne comme table de conversion pour la police '0'. Voir la capacité 'ac' pour plus de détails.

CS   (str)   Basculer les touches de curseur en mode application.

CE   (str)   Rétablir les touches de curseur en mode normal.

AN   (bool)  Activer l'autodestruction. Voir la commande 'autonuke' pour plus de détails.

OL   (num)   Définir la limite du tampon de sortie. Voir la commande 'obuflimit' pour plus de détails.

KJ   (str)   Définir l'encodage du terminal. Voir la commande 'encoding' pour les encodages valides.

AF   (str)   Modifier la couleur de premier plan des caractères de manière conforme à ANSI. Cette capacité sera presque toujours définie sur '\E[3%dm' ('\E[3%p1%dm' sur les machines terminfo).

AB   (str)   Identique à 'AF', mais modifier la couleur d'arrière-plan.

AX   (bool)  Comprend-il les séquences ANSI pour définir la couleur de premier plan/arrière-plan par défaut (\E[39m / \E[49m) ?

XC   (str)   Décrit une traduction de caractères en chaînes en fonction de la police et du type de terminal en cours. Plus de détails dans la section suivante.

XT   (bool)  Le terminal prend-il en charge les séquences Xterm spéciales (OSC, suivi de la souris) ?

C8   (bool)  Le terminal a-t-il besoin du gras pour afficher les couleurs haute intensité (par exemple, Eterm) ?

TF   (bool)  Ajoute des capacités manquantes à l'entrée termcap/info. (Défini par défaut).

TRADUCTION DE CARACTÈRES

Screen dispose d'un mécanisme puissant pour traduire les caractères en chaînes arbitraires en fonction de la police et du type de terminal en cours. Utilisez cette fonction si vous souhaitez travailler avec un ensemble de caractères standard commun (par exemple, ISO8851-latin1), même sur les terminaux qui répartissent les caractères les plus inhabituels sur plusieurs pages de polices de langue nationale.

Syntaxe :
XC=<charset-mapping>{,,<charset-mapping>}
<charset-mapping> := <designator><template>{,<mapping>}
<mapping> := <char-to-be-mapped><template-arg>

Les éléments entre accolades peuvent être répétés un nombre quelconque de fois.

Un <charset-mapping> indique à Screen comment mapper les caractères de la police <designator> ('B : Ascii, 'A' : UK, 'K' : German, etc.) vers des chaînes. Chaque <mapping> décrit vers quelle chaîne un seul caractère sera traduit. Un mécanisme de modèle est utilisé, car la plupart du temps, les codes ont beaucoup de points communs (par exemple, les chaînes pour basculer vers et depuis un autre jeu de caractères). Chaque occurrence de '%' dans <template> est remplacée par l'<template-arg> spécifié avec le caractère. Si vos chaînes ne sont pas du tout similaires, utilisez alors '%' comme modèle et placez la chaîne complète dans <template-arg>. Un mécanisme de citation a été ajouté pour permettre l'utilisation d'un '%' réel. Le caractère '\' cite les caractères spéciaux '\', '%', et ','.

Voici un exemple :

termcap hp700 'XC=B\E(K%\E(B,\304[,\326\\\\,\334]'

Cela indique à Screen comment traduire les caractères accentués du jeu de caractères ISOlatin1 (jeu de caractères 'B') sur un terminal hp700 qui dispose d'un jeu de caractères allemand. '\304' est traduit par '\E(K[\E(B' et ainsi de suite. Notez que cette ligne est analysée trois fois avant que la table de recherche interne ne soit créée. Par conséquent, de nombreuses citations sont nécessaires pour créer un seul '\'.

Une autre extension a été ajoutée pour permettre plus d'émulation : si un mappage traduit le caractère '%' sans guillemets, il sera envoyé au terminal chaque fois que Screen basculera vers le <designator> correspondant. Dans ce cas particulier, le modèle est supposé être simplement '%' car la séquence de changement de jeu de caractères et les mappages de caractères n'ont normalement pas beaucoup de points communs.


Cet exemple montre une utilisation de l'extension :

termcap xterm 'XC=K%,%\E(B,[\304,\\\\\326,]\334'

Ici, une partie du jeu de caractères allemand ('K') est émulée sur un terminal xterm. Si screen doit passer au jeu de caractères 'K', '\E(B' sera envoyé au terminal, c'est-à-dire que le jeu de caractères ASCII sera utilisé à la place. Le modèle est simplement '%', donc le mappage est simple : '[' est mappé à '\304', '\' est mappé à '\326' et ']' est mappé à '\334'.

ENVIRONNEMENT

COLUMNS    Nombre de colonnes sur le terminal (remplace la valeur dans le fichier termcap).
HOME      Répertoire dans lequel rechercher le fichier .screenrc.
LINES     Nombre de lignes sur le terminal (remplace la valeur dans le fichier termcap).
LOCKPRG   Programme de verrouillage de terminal.
NETHACKOPTIONS Active l'option nethack.
PATH     Utilisé pour localiser les programmes à exécuter.
SCREENCAP Pour personnaliser la valeur TERMCAP d'un terminal.
SCREENDIR Répertoire de socket alternatif.
SCREENRC Fichier screenrc alternatif pour l'utilisateur.
SHELL    Programme shell par défaut pour l'ouverture de fenêtres (par défaut /bin/sh). Voir également la commande .screenrc.
STY     Nom de socket alternatif.
SYSSCREENRC Fichier screenrc système alternatif.
TERM     Nom du terminal.
TERMCAP  Description du terminal.
WINDOW   Numéro de fenêtre d'une fenêtre (au moment de sa création).

FICHIERS

.../screen-4.?.??/etc/screenrc
.../screen-4.?.??/etc/etcscreenrc Exemples dans le paquet de distribution de screen pour les fichiers d'initialisation privés et globaux.
$SYSSCREENRC
/etc/screenrc                  Commandes d'initialisation de screen
$SCREENRC
$HOME/.screenrc                 Lu après /etc/screenrc
$SCREENDIR/S-<login>
/run/screen/S-<login>           Répertoires de sockets (par défaut)
/usr/tmp/screens/S-<login>    Répertoires de sockets alternatifs.
<répertoire de socket>/.termcap Écrit par la fonction de sortie "termcap"
/usr/tmp/screens/screen-exchange ou
/tmp/screen-exchange          Buffer de communication inter-processus de screen
hardcopy.[0-9]               Images d'écran créées par la fonction hardcopy
screenlog.[0-9]              Fichiers journaux de sortie créés par la fonction log
/usr/lib/terminfo/?/* ou
/etc/termcap                   Bases de données de capacités de terminal
/run/utmp                    Enregistrements de connexion
$LOCKPRG                    Programme qui verrouille un terminal.

AUTEURS

Créé à l'origine par Oliver Laumann. Longtemps maintenu et développé par Juergen Weigert, Michael Schroeder, Micah Cowan et Sadrul Habib Chowdhury. Depuis 2015, maintenu et développé par Amadeusz Slawinski <_> et Alexander Naumov <_>.

Copyright (c) 2018-2023 Alexander Naumov <_> Amadeusz Slawinski <_> Copyright (c) 2015-2017 Juergen Weigert <_> Alexander Naumov <_> Amadeusz Slawinski <_> Copyright (c) 2010-2015 Juergen Weigert <_> Sadrul Habib Chowdhury <_> Copyright (c) 2008, 2009 Juergen Weigert <_> Michael Schroeder <_> Micah Cowan <_> Sadrul Habib Chowdhury <_> Copyright (C) 1993-2003 Juergen Weigert <_> Michael Schroeder <_> Copyright (C) 1987 Oliver Laumann


Ce programme est un logiciel libre ; vous pouvez le redistribuer et/ou le modifier en respectant les termes de la Licence publique générale GNU publiée par la Free Software Foundation ; soit la version 3, soit (à votre guise) toute version ultérieure. Ce programme est distribué dans l’espoir qu’il sera utile, mais SANS AUCUNE GARANTIE ; sans même la garantie implicite de commercialisation ou d’adéquation à un usage particulier. Consultez la Licence publique générale GNU pour plus de détails. Vous auriez dû recevoir une copie de la Licence publique générale GNU avec ce programme (voir le fichier COPYING) ; sinon, écrivez à la Free Software Foundation, Inc., 59 Temple Place - Suite 330 Boston, MA 02111-1307, États-Unis.

CONTRIBUTEURS

Vincent Lefevre <_>, Carl Drougge <_>, Maarten ter Huurne <_>, Jussi Kukkonen <_>, Eric S. Raymond <_>, Thomas Renninger <_>, Axel Beckert <_>, Ken Beal <_>, Rudolf Koenig <_>, Toerless Eckert <_>, Wayne Davison <_>, Patrick Wolfe <_>, Bart Schaefer <_>, Nathan Glasser <_>, Larry W. Virden <_>, Howard Chu <_>, Tim MacKenzie <_>, Markku Jarvinen <_>, Marc Boucher <_>, Doug Siebert <_>, Ken Stillson <_>, Ian Frechett <_>, Brian Koehmstedt <_>, Don Smith <_>, Frank van der Linden <_>, Martin Schweikert <_>, David Vrona <_>, E. Tye McQueen <_>, Matthew Green <_>, Christopher Williams <_>, Matt Mosley <_>, Gregory Neil Shapiro <_>, Johannes Zellner <_>, Pablo Averbuj <_>.

DISPONIBILITÉ

La dernière version officielle de screen est disponible en téléchargement anonyme sur ftp.gnu.org/gnu/screen/ ou sur tout autre site de distribution GNU. La page d’accueil de screen est https://savannah.gnu.org/projects/screen/ et le dépôt git est https://git.savannah.gnu.org/cgit/screen.git. Si vous souhaitez aider, envoyez un message à _.

BOGUES

^ m' (mode de suppression) etxs' ne sont pas gérés correctement (ils sont ignorés). `xn' est traité comme un indicateur de marge magique.

Screen ne prend pas en charge les caractères à double hauteur ou à double largeur. Mais c’est la seule zone où vttest est autorisé à échouer.

Il n’est pas possible de modifier la variable d’environnement $TERMCAP lors de la reconnexion sous un type de terminal différent.

Le support des systèmes basés sur terminfo est très limité. L’ajout de capacités supplémentaires à $TERMCAP peut ne pas avoir d’effet.

Screen n’utilise pas les tabulations matérielles.

Screen doit être installé avec l’option set-uid et son propriétaire doit être root sur la plupart des systèmes afin de pouvoir modifier correctement le propriétaire du fichier de périphérique tty pour chaque fenêtre. Des autorisations spéciales peuvent également être requises pour écrire dans le fichier /run/utmp.

Les entrées dans /run/utmp ne sont pas supprimées lorsque screen est arrêté avec SIGKILL. Cela entraînera le fait que certains programmes (comme « w » ou « rwho ») indiqueront qu’un utilisateur est connecté alors que ce n’est pas le cas.


L’écran peut afficher un avertissement étrange lorsque votre tty n’a pas d’entrée utmp.

Lorsque la ligne du modem est interrompue, Screen peut ne pas se détacher (ou se fermer) automatiquement, à moins que le pilote du périphérique ne soit configuré pour envoyer un signal HANGUP. Pour détacher une session Screen, utilisez les options de ligne de commande -D ou -d.

Si un mot de passe est défini, les options de ligne de commande -d et -D détachent toujours une session sans demander confirmation.

Les options breaktype et defbreaktype modifient la méthode de génération de signaux de rupture utilisée par tous les périphériques de terminal. La première doit modifier un paramètre spécifique à une fenêtre, tandis que la seconde doit modifier uniquement la valeur par défaut pour les nouvelles fenêtres.

Lorsqu’une session multi-utilisateur est attachée, le fichier .screenrc de l’utilisateur n’est pas utilisé. Les paramètres personnels de chaque utilisateur doivent être inclus dans le fichier .screenrc à partir duquel la session est lancée, ou doivent être modifiés manuellement.

Une imagination débordante est la clé pour tirer pleinement parti de toutes les fonctionnalités.

Envoyez les rapports de bogues, les correctifs, les améliorations, les t-shirts, l’argent, la bière et les pizzas à _.

VOIR AUSSI

termcap(5), utmp(5), vi(1), captoinfo(1), tic(1), tty(4), pty(7)