tmuxにコマンドを送信する tmuxで実行

tmuxにコマンドを送信する tmuxで実行

私はtmuxWindows などの管理に を使用していますが、リモート サーバーに 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+A2 番目の tmux セッションを制御することができます。

関連情報