web-dev-qa-db-ja.com

ネストされたリモートセッションでByobuキーバインドを使用する方法

Byobu(Tmux、gnome-terminal内)を使用していますが、キーバインドに問題があります(おそらく理解できないでしょう)。

ビオブを起動し、いくつかのウィンドウを開いてから、これらのウィンドウの1つから別のマシンにsshしてビオブを起動します。押しても Ctrl-c または Ctrl-a-c、このリモートセッションでウィンドウを作成して切り替える方法がわかりません。

注:入力した場合 Shift-F12 リモートセッションでファンクションキーを使用してウィンドウを切り替えることができますが、メインセッションでウィンドウを切り替える必要があるため、これは理想的ではありません。

何か案は?

よろしくお願いします。

19
tseliot

Byobuを使用するように設定したと仮定しています Ctrl-A tmuxのエスケープシーケンスとして。

端末に入力するコマンドは、最初にローカルtmuxインスタンスによって処理され、次にネストされたtmuxセッションによって処理されます。これは、ネストされたインスタンスに移動するために2回エスケープする必要があることを意味します。

  • Ctrl-ac #ローカルセッションでウィンドウを開きます
  • Ctrl-aCtrl-ac #リモートセッションでウィンドウを開きます

2行目が機能しない場合は、( @ artmによって指摘された として)試してください

  • Ctrl-aac #なし Ctrl
16
Jennifer Wilson

を使用して見つけた Shift-F12 外側のビオブのキーバインドのオン/オフを切り替えることは、覚えやすく使いやすいです。覚えておくべき唯一の新しいキーは Shift-F12、そして内側のビオブは通常のF-キーバインドで制御できます。

その解決策を見つけました こちら

16
mp3foley

Ctrl-a Ctrl-aもうまくいきませんでした。 .byobu/keybindings.tmuxの次の行にコメントを付けた後、機能することがわかりました。

unbind-key -n C-a

別の回避策は、内部Tmux send-keyコマンドを使用することです。

  • ネストされたセッションが実行されるペインまたはウィンドウを選択します
  • 押す Ctrl+a: send-key -2を入力してから、送信するコマンドまたはキーを入力します

例:

  • Ctrl+a: send-key -2 c =新しいウィンドウを作成
  • Ctrl+a: send-key -2 p =前のウィンドウに切り替える
  • Ctrl+a: send-key -2 n =次のウィンドウに切り替える

非常に直感的ではありませんが、PuTTYでも動作します。

2
LiveWireBT