web-dev-qa-db-ja.com

iTerm2-> ssh-> gnu screen-> split window:スクロールホイールが機能しない

Mac OSXをワークステーションとして使用しています。 iTerm2では、次のコマンドを使用してリモートホスト(Ubuntuサーバー)に接続します。

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

しかし、特に分割ウィンドウを使用している場合は、スクロールホイールを正しく機能させることができません。上にスクロールすると、現在の分割ウィンドウのスクロールバックバッファが表示されるはずです。代わりに、iTerm2スクロールバックバッファ全体が上昇し、sshの前にコマンドの出力の一部が表示されます。

パッティングtermcapinfo xterm* ti@:te@ オン ~/.screenrc、提案されているように ここ 、ローカルとリモートの両方のホームディレクトリで、動作は変わりません。

TERM環境変数はxterm-256color両方のコンソールで。

4
ris8_allo_zen0

関連する投稿 Mac OSXターミナルおよびGNU画面スクロールバック 基本的にxtermの代替画面への切り替えを抑制するようにアドバイスします。代替画面では、必ずしもそうとは限りません。スクロールホイールを使用してxtermのスクロールバックを確認できます。xtermで実行されているプログラムは、xtermが有効になっている場合にのみseeエスケープシーケンスになります。マウスプロトコル。

デフォルトでは、screenはこれを行いません。 doesマウスプロトコルを有効にする設定があります mousetrack

このコマンドは、screenがマウスクリックを監視するかどうかを決定します。このコマンドを有効にすると、さまざまな方法で分割された領域をマウスでポイントして左クリックすることで選択できます。オンまたはオフを指定せずに、現在の状態が表示されます。デフォルトの状態は、"defmousetrack"コマンドによって決定されます。

だが

代わりに(最初のいくつかのリンクを参照)、一部のユーザーは、スクロールホイールの結果として画面コマンドを送信するようにxterm構成を変更しました。これを行うことの欠点は、xterm + screenの組み合わせに対してのみ機能することです。

3
Thomas Dickey

私もこれを理解しようとしています。これまでのところ、このtermcapinfo行を追加することを学びました。

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

ステータス行を削除します。

# change the hardstatus settings to give an window list at the bottom of the
# screen, with the time and date and with the current window highlighted
#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}]'

マウスのスクロールがiTerm2内の画面でうまく機能するようになります。

しかし、私は自分のステータスラインが欲しいです:(

1
spinlock

この記事 によると、次のコマンドが機能します。

$ defaults write com.googlecode.iterm2 AlternateMouseScroll -bool true
0
Huai-Che Lu