Como desanexar em vez de encerrar uma sessão do GNU Screen dentro do xterm ao pressionar C-c?

1

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

tela xterm -e -rS app1

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

O que eu gostaria de alcançar é a capacidade de fechar a janela xterm, usando ctrl-c , sem terminar a sessão de tela GNU. O comportamento exibido ao pressionar ctrl-c é aquele app1 e a sessão de tela termina.

Eu estava lendo o recurso autodetach , mas até agora não obtive sucesso e não sei se é isso que preciso.

Estou executando o KDE com o SLES 11.3.

    
por joueffy 06.01.2018 / 21:28

1 resposta

0

"Fechar uma janela xterm" geralmente não é feito com Ctrl-C . O que provavelmente está acontecendo é que o aplicativo está capturando-o (SIGINT) e saindo com elegância, deixando a sessão de tela, levando ao fechamento do terminal (janela).

Seu objetivo parece ser que Ctrl-C deve ser manipulado pela tela para desanexar o aplicativo, o que pode ser feito pelo mapeamento de tela:

bindkey "
bindkey "%pre%3" detach
3" detach

Você pode emitir isso para testar com Ctrl-A : e digitar o acima. A sintaxe é a mesma para um .screenrc personalizado, mas não o coloque lá para qualquer usuário, ninguém poderá sair de qualquer programa dentro dessa tela! Se você tiver o arquivo acima e um autodetach on em um arquivo .my.screenrc , poderá invocar o original com screen -c .my.screenrc e iniciar o aplicativo.

Repito, esteja ciente de que agora screen é instruído a capturar a interrupção, nenhum programa iniciado nesta tela, nem mesmo programas iniciados pelo seu aplicativo podem ser interrompidos se eles se comportarem mal / travarem, apenas de outro terminal.

A opção autodetach cuidará de fechar a janela normalmente do seu gerenciador de janelas.

    
por 08.01.2018 / 14:21