私はtmux
Windows などの管理に を使用していますが、リモート サーバーに SSH で接続し、そこで実行されている tmux セッションに接続しています。ただし、そこに到達すると、その tmux セッション (元のローカル tmux で ssh で実行されているセッション) に Cb を送信できません。
これを回避する方法はありますか?
答え1
Ctrlローカルの場合は- をb1 回押しtmux
、リモートの場合はもう一度押して、リモート セッションで使用するコマンドのキーを押します。
答え2
マッピングしていない場合Ctrl+ b Ctrl+b
Ctrlscreenの動作をエミュレートするために+ b Ctrl+をlast-windowにマッピングしていない場合(これは非常に一般的です)、それを内部tmuxセッションのプレフィックスとして使用できます。したがって、内部セッションにコマンドを発行するには、 + +をb使用します。Ctrlb Ctrlb 指示
上記の回答では、プレフィックス キーが両方のマシンでまだCtrl+であると想定しています。b
マッピングした場合Ctrl+ b Ctrl+b
Ctrl+ b Ctrl+をマップした場合はb、tmux のコマンドを使用する必要があります:send-prefix
。多くの人は、screen のデフォルトの動作をエミュレートするためにこれをCtrl+にマップしますb b。このバインディングを永続的に追加するには、これを .tmux.conf に追加します。
bind b send-prefix
Ctrl次に、 +を使用して内部セッションにコマンドを発行します。b b 指示
Ctrl(または+ を使用してバインドせずに)b :send-prefix
指示)
上記の回答は、外部セッションでプレフィックス キーがまだCtrl+であると想定しています。b
答え3
つまり、次の行を tmux.conf に追加して、「tmux 内の tmux」を制御できます。この行は、 CTRL+A
「リモート」セッションのバインド キーを定義します。
bind-key -n C-a send-prefix
ショートカットはC-a
他の空きキーで変更できます。
次に、 を使用しCTRL+B
て tmux セッション レベル 1 (デフォルト) を制御し、
CTRL+A
2 番目の tmux セッションを制御することができます。