読み取り専用tmuxショートカットがありますか?

読み取り専用tmuxショートカットがありますか?

私は、接続が切断されたりクラッシュした後でも、リモート操作が安全に開かれていることを確認する方法として、長年にわたりScreenを使用してきました。実際、ローカルで作業するときにも当然画面を使用します。

最近の私の要件は、利点のためにtmuxに切り替える段階に発展しました。

tmux attach -r

読み取り専用モード(-r)でセッションに接続すると、予期しない状況を心配する必要はありません。

  • IRCにガベージラインを貼り付ける
  • 重要なコンパイル/配布プロセスの停止
  • 通り過ぎる人が見える場所にパスワードを入力してください

もちろん、問題はセッションを開き、Cb + dを押して切り離し、-rフラグを使用して再び開いて読み取り専用にする必要があることです。しばしばIRC会話に参加したい場合、タスクを中断したり、他のタスクを実行したい場合は、再接続を解除してから正常に再接続する必要があります。

キーバインディングでモードを切り替える方法を知っている人はいますか?

答え1

tmux 1.9aあなたができることから:switch-client -r。これが1.9aの新機能であるかどうかはわかりませんが、これが私が実行しているバージョンであり、既存のtmuxセッションを読み取り専用モードに変更できます。

答え2

基盤ではないマニュアルページattach -r、読み取り専用モードを有効にするオプションのみを呼び出します。

また、ソースコード、次の行のみcmd-attach-session.c読み取り専用フラグを設定します。残りのコードでは、このフラグが設定されていることを確認しますが、その値を変更しません。繰り返しますが、コード変更を実行(または要求)できない場合は運がないようです。

    if (cmd_check_flag(data->chflags, 'r'))
        ctx->cmdclient->flags |= CLIENT_READONLY;

答え3

では(下)次のようtmux 2.9aに言います。man tmuxattach-session

     -r signifies the client is read-only (only keys bound to the
     detach-client or switch-client commands have any effect)

これに基づいて、次のことができます。作る独自のバインディングを提供して読み取り専用(および戻り)へのショートカット:switch-client -r

# Toggle read-only with <prefix>R
bind-key R switch-client -r

これは、クライアントが読み取り専用の場合でも機能します。

追加のdisplay-messageコマンドを追加しても効果はありません。tmuxキーにバインドされた機能はもはや単純なコマンドではないため、実行は拒否されますswitch-client

関連情報