私は現在、byobu-tmuxセッションに参加しており、スクリーンセッションにsshされています。 byobu-tmuxセッションを切り離さずにリモート画面セッションを切り離すにはどうすればよいですか?いくつか注意点があります。osoを使用していて、python-newt(スナック付き)がインストールされていないため、byobu-configを実行できません。そして、私はEmacsモードでbyobu-ctrl-aを実行しましたが、リモートスクリーンセッションからctrl-a dを実行できません。
あなたはダブルエスケープできるはずです Ctrl-a。
切り離しメッセージを内側のbyobu-screenセッションに送信するには、次のキーを押します。
Ctrl-aCtrl-ad
完全な開示:私は Byob 。の作成者および管理者です。
Tmuxコマンドを使用すると簡単です。
byobu-tmux detach
byobu-tmux
または単に:
byobu detach
byobu
手放してみてください ctrl 最初の後 aなので、シーケンスは ctrl-a、 a、 d。男の画面:
C-a C-a(その他)前に表示されていたウィンドウに切り替えます。このバインディングは、オーバーライドされない限り、デフォルトで2回入力されたコマンド文字になることに注意してください。たとえば、オプション「-e] x」を使用すると、このコマンドは「]]」になります。
C-a a(メタ)コマンド文字(C-a)をウィンドウに送信します。 escapeコマンドを参照してください。
または、Byobuの画面の代わりにtmuxを使用している場合は、 ctrl-ad。 Byobuのデフォルトのプレフィックスキーは ctrl-bなので、そのデフォルトを使用している場合は、 ctrl-a キーストロークは必要ありません。
現在のクライアント内のすべてのクライアントを一覧表示することで、これを行うことができました。
$ byobu list-clients
/dev/pts/67: 1 [80x24 xterm] (utf8)
/dev/pts/70: 1 [157x48 xterm-256color] (utf8)
次に、リモートクライアントを切り離します(画面サイズに基づいて決定されます)。
$ byobu detach -t /dev/pts/67
これで全ウィンドウサイズを使用できます
おそらくtmuxには関係ありませんが、byobuの場合、次のコマンドが非常に役立つことがわかりました。現在のセッションを除くすべてのセッションを切断します。
/usr/lib/byobu/include/tmux-detach-all-but-current-client
お役に立てれば
リモートセッションと競合する場合は、ローカルセッションのプレフィックスを切り替える必要があります。たとえば、両方でCTRL + Aを使用している場合、問題が発生します。生のコマンドを送信するか(シーケンスはありますが、覚えていません)、簡単なルートでローカルセッションをCtrl + Bに再マップしてから、ルーティングされるCtrl + Aを入力できますリモートセッション。また、tmuxとは関係ありませんが、SSH接続自体には「〜」を入力できます。 sshセッションから切断されます。それが役に立てば幸い。