Vejo o comando `tmux send-keys`, mas existe uma maneira de enviar a saída para o painel adjacente

Vejo o comando `tmux send-keys`, mas existe uma maneira de enviar a saída para o painel adjacente

Em uma sessão do tmux, estou tentando descobrir se existe uma maneira rápida de enviar algumas saídas de um painel para o painel paralelo.

Por exemplo, se eu estiver no painel esquerdo (digamos 0,0) e quiser enviar a saída do pwdcomando para o painel direito (digamos 0,1). Existe uma maneira rápida de fazer isso.

Peça desculpas antecipadamente se isso tiver uma resposta, mas pesquisei no Google por muito tempo sem obter nada além de tmux send-keys -t right 'some text'.

Em vez disso, quero exibir a saída no painel adjacente. Existe uma maneira de fazer isso?

Responder1

Quero exibir a saída no painel adjacente

Se você souber o nome do arquivo do terminal conectado ao outro painel (o que ttyé impresso), poderá escrever nele. Exemplo:

pwd >/dev/pts/1

Mas isso sóexibiçõespersonagens lá; não há interação com qualquer programa executado no painel. Você usou a palavra "display", mas não tenho certeza se é isso que você deseja. A solução também funciona sem o tmux.


Se você quiser enviar a saída para o stdin de algum comando que está prestes a invocar em outro painel, use um pipe nomeado:

mkfifo foo
pwd >foo

Agora vá para outro shell (outro painel) e leia foo:

<foo whatever

Isso também não depende do tmux.


Se você quiser colar a saída em outro painel (por exemplo, para torná-la um fragmento de um novo comando em um shell):

  1. Invoque pwdnormalmente no painel de origem.
  2. Entre no modo de cópia e copie a saída. Com suporte para mouse basta segurar o botão esquerdo do mouse e arrastar. Depois de soltar o botão, o texto selecionado é armazenado automaticamente em um buffer.
  3. Para o painel de destino.
  4. Cole o texto armazenado com paste-buffer( prefix]por padrão).

informação relacionada