Existe um atalho do tmux para ir somente para leitura?

22

Uso a tela há anos, como forma de garantir que qualquer trabalho remoto seja mantido aberto com segurança após desconectar / travar. De fato, como é óbvio, uso telas mesmo quando trabalho localmente.

Recentemente, meus requisitos progrediram para o estágio em que mudei para o tmux devido à beleza de:

tmux attach -r

Anexar minhas próprias sessões no modo somente leitura (-r) significa que não preciso me preocupar acidentalmente:

  • colando linhas de lixo no IRC
  • interromper um importante processo de compilação / implantação
  • digitando uma senha em tela cheia para os transeuntes

É claro que o problema é que eu tenho que abrir uma sessão, Cb + d para desanexar e reabri-la com o sinalizador -r para ir somente para leitura. E então, quando ocasionalmente quero entrar em uma conversa no IRC, interromper uma tarefa ou qualquer outra coisa, preciso desconectar novamente e reconectar normalmente.

Alguém sabe como fazer uma ligação de chave para alternar entre modos?

connrs
fonte

Respostas:

16

Não de acordo com a página de manual , que apenas chama a attach -ropção para ativar o modo somente leitura.

Além disso, no código-fonte , apenas a linha a seguir cmd-attach-session.cdefine o sinalizador somente leitura. O restante do código verifica se esse sinalizador está definido, mas não altera seu valor. Então, novamente, parece que você está sem sorte, a menos que possa fazer (ou solicitar) uma alteração no código:

    if (cmd_check_flag(data->chflags, 'r'))
        ctx->cmdclient->flags |= CLIENT_READONLY;
Justin Ethier
fonte
1
Obrigado por nos aprofundar tanto. Já faz um tempo desde que desenvolvi qualquer tipo de C / C ++, mas acho que posso colocá-lo na minha pilha de 'um dia'. Enquanto isso, não vai doer colocar uma solicitação de recurso, então estou pronto para fazer isso agora.
connrs
22

Em tmux 1.9avocê pode fazer :switch-client -r. Não tenho certeza se isso é novo no 1.9a, mas essa é a versão que estou executando e sou capaz de alterar uma sessão existente do tmux para o modo somente leitura.

Matthew J Morrison
fonte
Isso funciona muito bem para entrar no modo somente leitura, mas existe alguma maneira de sair do modo somente leitura sem desanexar e reconectá-lo? Não parece, mas isso seria um recurso útil.
richardneish 5/01