Digamos que eu queira vincular uma sequência de teclas no GNU screen
para pular para uma janela específica. Eu poderia fazer assim:
bind ^t exec screen -X select foo
(Eu simplifiquei deliberadamente isso; o exec
comando sa aplicação do mundo real que descobre dinamicamente para qual janela alternar e, em seguida, executa o screen -X
comando.)
Excelente; isso funciona bem. O problema ocorre quando eu anexei (via screen -x
) à mesma sessão de uma máquina diferente. Na nova máquina, ^a^t
faz como esperado e muda para a janela. Mas, se eu voltar para a máquina original, deixando a nova máquina conectada, então ^a^t
mudo para a janela na nova máquina . Se eu desconectar a nova máquina, tudo volta a funcionar normalmente.
Observe que esta é uma sessão, portanto, -S
não tem utilidade. A sessão não é protegida por senha. Também não parece estar relacionado ao exec
maquinário: enquanto a execução manual screen -X select foo
dentro screen
da máquina original funciona corretamente, executá-la em um terminal separado na máquina original (ou seja, fora screen
) ainda alterna a janela na outra máquina.
Como posso forçar screen -X
a afetar apenas o usuário conectado na mesma máquina em que está sendo executado? (Afetar usuários/máquinas também seria aceitável, se for mais fácil.)
Eu acho que o
at
comando deve ser uma solução para o que você está vendo. Na descrição doat
comando no man da tela diz:O que parece que deve mudar a janela nos dois lugares.