
filtrer, l'utilitaire Linux qui vous permet de démarrer un 'écran’ à l'intérieur d'un terminal, il est par défaut un peu mal configuré. Apprenez à créer un excellent profil d'écran qui se charge automatiquement chaque fois que vous utilisez l'écran.
Qu'est que c'est écran?
Screen est un utilitaire GNU (GNU est une grande collection de logiciels open source, et leur regroupement dans un système d'exploitation est communément appelé Linux) qui vous permet de démarrer un ou plusieurs écrans au sein de votre terminal.
Vous pouvez demander pourquoi je voudrais démarrer un écran dans mon terminal, et peut définir écran mieux / plus loin? Assurance. Imaginez que vous utilisez un serveur SSH distant et, soudain, votre connexion réseau est interrompue, en plein milieu de la migration de la base de données ou de la sauvegarde de la production, qui s'exécutait dans la fenêtre de votre terminal. ça arrive régulièrement, et le problème est que toute commande qui était en cours d'exécution lorsque la connexion a été interrompue est maintenant terminée, quel que soit l'état dans lequel vous vous trouviez.
Cette situation clairement ennuyeuse est celle que vous voulez éviter à tout prix.. Vous pouvez non seulement laisser le système ou le progiciel dans un état indéfini, mais tout le travail accompli jusqu'à présent peut tout simplement être perdu.
Bienvenue à screen
, l'utilitaire Linux qui vous permet de démarrer une session de terminal virtuel (un ‘écran') dans votre session de terminal, avec le principal et grand avantage que ladite session d'écran ne se terminera pas à chaque interruption de la connexion réseau, ou lorsque vous fermez la session de terminal qui a démarré le screen
session (la procédure parentale). Vous pouvez simplement attendre que votre connexion réseau revienne, ou ouvrez un autre terminal si vous n'êtes pas connecté via SSH et travaillez uniquement sur la machine locale, et reconnectez-vous simplement à votre session d'écran.
Excellent? Installons rapidement écran ensuite, si tu ne l'as pas encore fait:
installation écran
Installer écran sur votre distribution Linux basée sur Debian / Apte (comme Ubuntu et Mint), exécutez la commande suivante dans votre terminal:
sudo apt install screen
Installer écran sur votre distribution Linux basée sur RedHat / Miam (comme RHEL, Centos et Fedora), exécutez la commande suivante dans votre terminal:
sudo yum install screen
Maintenant que l'écran est installé, vous pouvez commencer à l'utiliser tout de suite. Cours juste screen
dans la ligne de commande et vous êtes déjà à l'intérieur. Vous devrez peut-être appuyer sur entrée ou espace pour parcourir les screen
Ecran d'accueil.
Vous verrez une nouvelle invite de commande. Appuyez sur la séquence de touches CTRL+a
> CTRL+d
pour revenir à l'invite de commande de la session shell principale. Ensuite, peut exécuter screen -ls
pour afficher une liste des sessions d'écran actives. Ecrire la commande (dans le shell principal dans lequel vous vous trouvez maintenant si vous avez suivi le texte à l'identique), screen -d -r
vous ramènera à screen
session, tant qu'il n'y a qu'une seule session d'écran active (peut commencer beaucoup).
S'il y a plus d'une session d'écran en cours d'exécution sur votre système (et c'est sa propriété), vous pouvez taper screen -d -r NAME
où NAME
est le nom d'un écran selon la liste screen -ls
, par exemple 367434.pts-1.roel1
, même si vous ne spécifiez qu'une partie avant ou après le point (Quoi 367
O pts
), qui identifie toujours de manière unique une session d'écran particulière, c'est assez aussi.
Voyons comment nous pouvons maintenant définir un excellent profil d'écran, d'après un extrait de serveur_configuration.sh, situé dans le référentiel Percona-QA GitHub (Licence GPLv2), un script créé pour configurer un serveur pour les tests QA. Je ne vous recommande pas d'exécuter ce script, car il est obsolète, est utilisé à titre de référence seulement et, en général, exécuter manuellement étape par étape. La seule section que nous utiliserons est la .screenrc
code, reproduit ci-dessous.
Définir une grande configuration .screenrc
Les .screenrc
Le fichier est un fichier de configuration caché dans votre répertoire personnel. Pour le modifier (ça n'existe probablement pas encore, surtout si vous venez d'installer screen
, utilisez simplement votre éditeur de texte préféré et ouvrez le fichier ~/.screenrc
. Si vous avez de l'expérience avec Vim, vous pouvez simplement taper l'invite de votre terminal vi ~/.screenrc
. Pour plus d'informations sur Vi / Vigueur, considere leer nuestro post Establecer un excelente perfil de Vim usando .vimrc.
Una vez que hayas abierto ~/.screenrc
, simplemente agregue el siguiente bloque de texto:
# Configuración general vbell en vbell_msg '! Cloche!' autodetach en startup_message off defscrollback 10000 # Termcapinfo para xterm termcapinfo xterm * Z0 = E[?3h:Z1=E[?3je:est=E[Re[me[2JE[IL[?7il[?1;4;6je # Do not resize window termcapinfo xterm* OL=1000 # Augmenter le tampon de sortie pour la vitesse # Remove various keyboard bindings bind x # Do not lock screen bind ^x # Idem bind h # Do not write out copy of screen to disk bind ^h # Idem bind ^ # Do not kill all windows/exit screen bind . # Désactiver dumptermcap # Add keyboard bindings bind } history bind k kill
Si vous ne souhaitez pas utiliser un éditeur de texte, ou voulez-vous en quelque sorte scripter l’installation de ceci .screenrc
dans de nombreux systèmes, vous pouvez utiliser le code suivant à la place, qui le fera – chaque fois qu’il sera collé, ou exécuté à partir d’un autre script, créer le fichier ~/.screenrc
pour l’utilisateur qui exécute le script. Appelons notre script make_screenrc.sh
ou similaire.
#!/poubelle/bash
# Create screen script ~/.screenrc
touch ~/.screenrc
if [ -avec "$(chat ~/.screenrc|grep 'termcapinfo xterm')" ]; después chat << EOF> ~ / .screenrc # Configuración general vbell on vbell_msg '! Cloche!' autodetach on startup_message off defscrollback 10000 # Termcapinfo pour xterm termcapinfo xterm * Z0 = E[? 3h: Z1 = E[? 3je: est = E[r E[m E[2J E[H E[ ? 7h E[? 1; 4; 6je # No cambiar el tamaño de la ventana termcapinfo xterm * OL = 1000 # Incrementar el búfer de salida para la velocidad # Quitar varios links de teclado enlazar x # No bloquear link de pantalla ^ x # Idem enlazar h # N'écrivez pas de copie d'écran sur le lien disque ^ h # Idem enlazar ^ # Ne tue pas toutes les fenêtres / quitter la connexion à l'écran. # Limite de durée de vidage deshabilitar # Ajouter des liens de liaison clavier} histoire lier k tuer EOF fi
Le script prédéfinit une série de paramètres, et la plupart de ceux présentés ici sont explicites. Par exemple, startup_message off
éteignez simplement l'écran de démarrage que nous avons vu plus tôt. defscrollback 10000
définit notre défilement arrière sur 10000 lignes (peut entrer en mode de défilement / édition en appuyant sur la séquence de touches CTRL+a
> CTRL+ESC
et vous pouvez donc sortir en appuyant une ou deux fois sur ESC).
Nous activons également une cloche virtuelle (car nous ne pouvons pas entendre le bip du haut-parleur à partir d'un serveur distant) en utilisant le vbell on
et vbell_msg '!Bell!'
commandes qui configurent le message de cloche virtuelle dans '!Bell!'
. Malgré cela, J'ai constaté que la hotte virtuelle ne fonctionnait souvent pas.
Ensuite, nous établissons certains termcapinfo
codes pour étendre le tampon de sortie et ajuster la taille de la fenêtre. De plus, nous avons supprimé plusieurs raccourcis clavier potentiellement ennuyeux et ajouté quelques paramètres de clavier utiles.
Tout ce que nous ferons pour activer ce nouveau .screenrc
réglage est d'ouvrir un nouveau screen
session. Nous allons maintenant profiter de la nouvelle configuration mise en place.
Fin
Définir un gros défaut .screenrc
le fichier aide lorsque vous utilisez screen
beaucoup. Désactiver l'écran de démarrage, l'augmentation du défilement arrière et l'amélioration du tampon de sortie pour la vitesse ne sont que quelques-unes des choses que nous avons faites dans notre .screenrc
modèle. Profitez de l'écran et du modèle .screenrc !!