Como desanexar e não terminar uma sessão do GNU Screen dentro do xterm ao pressionar ctrl-c?

0

Na inicialização do X, o seguinte é executado automaticamente:

xterm -e screen -rS app1

Isso abre uma sessão xterm e anexa a tela do app1, que já estava sendo executada em um estado desanexado.

O que eu gostaria de alcançar é a capacidade de fechar a janela do xterm, usando ctrl-c , sem encerrar o app1 sendo executado na tela. O comportamento atual com ctrl-c é que o xterm fecha com app1 e a sessão de tela.

Eu sei de C-a d , mas estou procurando especificamente ctrl-c .

    
por joueffy 07.01.2018 / 15:09

1 resposta

1

Ctrl-C é o caractere de interrupção padrão, fazendo com que o sinal de interrupção apropriado ( SIGINT ) seja enviado para o processo em execução. Provavelmente, seu aplicativo não o manipula, mas termina (que é a ação padrão), e a tela e o xterm são encerrados depois disso, já que nada está sendo executado dentro deles.

Você pode ver se o aplicativo pode ignorar o sinal ou desativar o caractere de interrupção do terminal ( stty intr "" ) para impedir que o aplicativo seja encerrado.

Isso não desanexará o screen . Mas você pode conseguir isso ligando desanexar a Ctrl-C em screen , com bindkey ^C detach . (No seu .screenrc ou dado com ^A: na tela.) Observe que o comando é diferente do usual bind , que controla as ligações de sequência de teclas de comando, aquelas que usam o prefixo ^A (ou seja lá o que você definiu.

    
por 07.01.2018 / 15:50