Je suis donc un grand fan des multiplexeurs comme GNU Screen et Tmux , mais même en utilisant Screen depuis des années maintenant, je reconnais qu'il y a beaucoup de choses que je ne sais pas (et j'utilise Tmux seulement pendant quelques mois donc c'est pire ).
Quelles configurations et trucs et astuces vous utilisez sur ces logiciels (les deux ou sur chacun, peu importe)?
J'utilise ceci comme ma configuration d'écran (je pense que j'ai adapté cela par défaut d'Ubuntu screenrc
):
shell -$SHELL
startup_message off
defscrollback 1000
hardstatus alwayslastline '%{= wk}%?%-Lw%?%{r}(%{k}%n*%f%t%?(%u)%?%{r})%{k}%?%+Lw%?%?%= %m/%d %C%A'
activity ''
termcapinfo xterm* 'hs:ts=\\E]2;:fs=\\007:ds=\\E]2;screen\\007'
C'est une configuration simple pour garder la barre d'état affichée avec quelques couleurs, mais je suis sûr qu'il y a plus de choses que je peux faire avec l'écran et Tmux et j'aimerais le savoir.
gnu-screen
tmux
coredump
la source
la source
zombie qr
maintient la fenêtre ouverte même si le processus est mort et permetq
de la fermer our
de la ressusciter. Utile pour la vérification du logiciel.Réponses:
Cela peut être un peu simple pour cette foule, mais j'ai trouvé utile d'ajouter cela à la fin du .profile, de sorte que lorsque je me connecte à distance via ssh, je puisse lire le MOTD, puis passer à l'écran.
la source
Je l'ai dans mon .bashrc. Si vous n'utilisez pas l'écran, cette fonction appelle simplement
ssh
comme d'habitude lorsqu'elle est exécutée. Si vous exécutez à l'intérieur de l'écran (et que vous n'avez pas modifié la valeur par défaut$TERM
), il définit d'abord le nom de la fenêtre sur l'hôte distant (avec tous les paramètres facultatifs). Il est très pratique de garder une trace des connexions à distance lorsque vous en avez plusieurs, ce qui est fréquent dans notre travail, je pense.J'utilise également
bind ^A windowlist -b
pour un accès facile à la liste des fenêtres (appuyez simplement deux fois sur ctrl-A).Prise en charge facile de l'agent ssh pour toutes les fenêtres:
Ensuite, dans n'importe quelle fenêtre, vous ne devez ajouter ssh qu'une seule fois lorsque vous démarrez une nouvelle session.
Enfin, lors de la connexion à une session d'écran distante à partir d'une autre session d'écran, vous pouvez utiliser
screen -x -e ^Vv
pour définir la séquence de contrôle sur CTRL-V (par exemple). Cela évite d'avoir à chaîner CTRL-As pour contrôler la session distante.la source
Vous pourriez envisager byobu , qui est essentiellement une collection de centaines de conseils, astuces, configurations, raccourcis clavier, scripts d'état et meilleures pratiques orientées autour de
screen
ettmux
.la source
Même si j'ai commencé à utiliser tmux pour les volets, j'utilise toujours screen pour multiplexer les fenêtres à l'intérieur. tmux est censé avoir cette fonctionnalité, mais l'échange de volets d'une fenêtre à l'autre n'est pas intuitif pour moi, et deux visionneuses tmux attachées ne peuvent pas afficher des fenêtres différentes dans le même démon (comportement screen -x), donc la solution screen-in-tmux. Ce sont deux liaisons tmux.conf qui m'ont pris le plus de temps à comprendre et que j'utilise tous les jours.
La première, lier M (ctrl-b shift-M), fait basculer tmux entre le sélecteur de volet de la souris et la surbrillance / copie de la souris. Vous pouvez toujours copier / coller en mode de sélection de volet, mais vous devez maintenir shift (et si vous en avez l'habitude, le copier / coller dans toute autre application vous rendra un peu misérable, laissez-moi vous dire). La macro indique également visuellement le mode actuellement sélectionné.
La seconde, lier CL (ctrl-b ctrl-l), prendra n'importe quelle disposition de 4 volets et la transformera en ma disposition préférée. Souvent, je trouve que j'ai appuyé sur Ctrl-D dans un volet que je pensais être à l'intérieur de l'écran pour le fermer, mais à la place, il n'y avait pas de session d'écran et il a fermé le volet. Étant donné que ma mise en page est en V, en H, en V et en certains redimensionnements, si je ferme accidentellement n'importe quelle fenêtre, sauf la dernière, il devient difficile (sans jeu de mots) de fermer tous les volets intermédiaires entre celui dont j'ai besoin pour recréer et le dernier, puis recréez et redimensionnez les volets, et enfin rattachez toutes les sessions d'écran que j'ai pu avoir à détacher lors de la suppression des volets. Avec cette macro, je peux créer un nouveau volet, ctrl-b {(la liaison par défaut pour le volet d'échange -U) jusqu'à ce qu'il soit de retour dans le bon ordre, puis appuyer sur la macro et tout est revenu à la normale. Ma disposition préférée n'est probablement pas la même que la vôtre,
list-windows
pour obtenir une chaîne de mise en page comme celle ci-dessous.Si c'est trop naïf à votre goût, il y a toujours tmuxinator pour la gestion des volets.
la source