4 votes

ITerm2 -> ssh -> gnu screen -> fenêtre divisée: la molette de défilement ne fonctionne pas

Je travaille sur Mac OS X en tant que station de travail. Avec iTerm2, je me connecte à un hôte distant (Ubuntu Server) en utilisant cette commande :

ssh -t user@host screen -D -R -R

Mais je ne parviens pas à faire fonctionner correctement la molette de défilement, surtout lors de l'utilisation de fenêtres divisées. Lorsque je fais défiler vers le haut, je m'attends à voir le tampon de défilement de la fenêtre divisée actuelle ; au lieu de cela, le tampon de défilement entier d'iTerm2 remonte, révélant une partie de la sortie des commandes avant le ssh.

Placer termcapinfo xterm* ti@:te@ dans ~/.screenrc, comme suggéré ici, dans les répertoires home locaux et distants, ne change pas le comportement.

La variable d'environnement TERM est xterm-256color dans les deux consoles.

3voto

Thomas Dickey Points 8167

La publication connexe Mac OS X terminal and GNU screen scrollback vous conseille essentiellement de supprimer le basculement vers l'écran alternatif du xterm. En étant sur l'écran alternatif, vous ne pourriez pas forcément utiliser la molette de défilement pour voir l'historique du xterm. Un programme s'exécutant dans xterm ne verrait les séquences d'échappement que s'il active le protocole souris xterm.

Par défaut, screen ne le fait pas. Il possède un paramètre qui active le protocole souris, appelé mousetrack:

Cette commande détermine si screen surveillera les clics de la souris. Lorsque cette commande est activée, les régions qui ont été divisées de diverses manières peuvent être sélectionnées en les pointant avec une souris et en cliquant gauche. Sans spécifier on ou off, l'état actuel est affiché. L'état par défaut est déterminé par la commande "defmousetrack".

Mais

A la place (voir les premiers liens), certains utilisateurs ont modifié la configuration xterm pour envoyer des commandes d'écran en résultat de la molette de défilement. L'inconvénient de faire cela est que cela fonctionne uniquement pour la combinaison xterm+screen.

1voto

oldfred Points 10672

Je suis en train d'essayer de comprendre cela aussi. Jusqu'à présent, j'ai appris qu'ajouter cette ligne termcapinfo :

termcapinfo xterm 'hs:ts=\E]2;:fs=\007:ds=\E]2;screen\007:ti@:te@'

et enlever ma ligne de statut :

# changer les paramètres de hardstatus pour afficher une liste de fenêtres en bas de l'écran, avec l'heure et la date, et avec la fenêtre actuelle en surbrillance
#hardstatus alwayslastline
#hardstatus string '%{= kG}[ %{G}%H %{g}][%= %{= kw}%?%-Lw%?%{r}(%{W}%n*%f%t%?(%u)%?%{r})%{w}%?%+Lw%?%?%= %{g}][%{B} %m-%d %{W}%c %{g}]'

fera fonctionner le défilement de la souris correctement avec screen dans iTerm2.

Mais, je veux ma ligne de statut :(

1voto

Huai-Che Lu Points 11

Selon cet article, la commande suivante fonctionne pour moi.

$ defaults write com.googlecode.iterm2 AlternateMouseScroll -bool true

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X