web-dev-qa-db-fra.com

Les lignes de terminaux sont mal alignées lors de l'utilisation de TMUX sur SSH

J'ai mis à jour Ubuntu du 16.04 au 18.04 le mois dernier et j'ai remarqué depuis un comportement étrange lors de l'utilisation de TMUX sur SSH. (Ce problème ne se produit pas directement sur la console.) Pour accéder à ce shell, j'utilise OpenSSH dans Cygwin, qui réside dans un wrapper ConsoleZ . La taille du terminal est 132x43.

Je pense que TMUX ignore la hauteur correcte de la fenêtre du terminal ou de l’un des conteneurs parents. Est-ce quelque chose que je dois définir quelque part?

Tout d'abord, lorsque j'ouvre TMUX, la seule chose étrange est que la ligne de la barre d'état est positionnée trop haut:

View of TMUX when initially opened

Si je ne fais rien pendant un moment, la barre d'état commence à se dupliquer:

View of TMUX after doing nothing for a few minutes

Je peux faire défiler vers le haut pour voir le répertoire de travail à nouveau, mais avec la position de saisie de texte 1 ligne trop basse:

Scroll up a bit

Si j'appuie sur CTRL + L pour effacer l'écran, la barre d'état disparaît et je dois faire défiler l'écran pour l'obtenir.

Ensuite, si j'appuie sur CTRL + pour renommer la fenêtre, chaque touche que je tape crée une nouvelle ligne dans la barre d'état:

Renaming the TMUX window

J'ai également testé cela sur une cible Debian Stretch, et le problème ne se pose pas là-bas. J'ai donc tendance à penser qu'il s'agit d'un problème spécifique à ma machine virtuelle Ubuntu 18.04. Voici la même situation, mais avec un hôte Stretch de Debian:

Same of the above, but towards a Debian Stretch Host

3
Adambean

J'ai eu un problème similaire et j'ai réussi à le résoudre avec les conseils de ce billet de blog: http://blog.bigsmoke.us/2018/06/15/garbled-screen-in-tmux-on-ubuntu- 18.04-in-konsole

Ajoutez ce qui suit à votre ~/.tmux.conf:

set -as terminal-overrides ',*:indn@'

Le blog parle d'un bogue dans Konsole, mais pour moi, le problème se produisait également dans d'autres terminaux, y compris via SSH, et le problème a été résolu.

1
Xenon

Il existe une solution de contournement pour cela ici: https://github.com/cbucher/console/issues/175

Enveloppant essentiellement la session TMUX dans une session Screen, il enveloppe assez bien l’écran. Vous n'avez pas besoin d'installer Screen dans Cygwin.

ConsoleZ -> SSH -> Ecran -> TMUX

0
Adambean