Como desabilitar a notificação na “tela -D -R”

6

Estou executando a tela -D -R (usando opcionalmente o nome -S), e ela funciona muito bem, mas tem um problema: quando a tela não existe antes, recebo uma notificação "Nova tela ..." e espera irritante.

Como posso desativar essa notificação específica?

    
por Sathya 30.08.2010 / 12:58

4 respostas

3

Infelizmente, esse comportamento é codificado na origem: o mesmo teste é usado para determinar se deve ser emitida a notificação "Nova tela ..." e se deve ser anexada a uma sessão em execução. (Na tela 4.0.3 source, (rflag && (rflag & 1) == 0) in attacher.c e screen.c - rflag é 1 para -r mais 2 para cada -R .)

Se você estiver disposto a recompilar, o patch é trivial: remova a linha que exibe a mensagem de screen.c .

Você pode fazer a mensagem desaparecer digitando algo. Se você não quiser digitar uma chave que irá acessar o aplicativo dentro da janela da tela, você pode digitar C-a ' ou alguma outra chave não acoplada.

Uma solução simples é separar imediatamente a sessão de tela (com C-a d ou com o comando detach no arquivo screenrc ; -m na linha de comando não funciona para isso quando -R também é especificado), em seguida, anexar a ele novamente (por exemplo, executando o mesmo comando novamente).

Uma solução alternativa realmente automática, mas totalmente automatizada, é incluir as seguintes linhas no arquivo screenrc para ignorar as mensagens inicialmente e reativá-las um segundo depois:

msgwait 0
screen -t post_initialization 39 sh -c 'sleep 1; screen -X msgwait 5'

(39 é o maior número de janela possível, é uma opção em tempo de compilação ( MAXWIN ).)

Observe que as duas soluções alternativas ocultarão qualquer mensagem que screen escolher exibir quando for iniciada, não apenas a tela "Nova tela ..." inútil.

    
por 30.08.2010 / 20:48
8

Acabei de ter o mesmo problema. Na versão mais recente da tela, você pode especificar o sinalizador -q para a tela silenciosa e evitar que seja exibido.

A fonte mostra

if (rflag && (rflag & 1) == 0 && !quietflag)

então eu não sei onde Gilles encontrou isso, ou quando foi alterado.

    
por 10.12.2010 / 03:41
1

Bem, estou bem atrasado na cena, mas acabei tendo o mesmo problema. Eu resolvi isso não usando -D -R, mas apenas -S. Então, $ screen -S myScreenName . Isso inicia a tela imediatamente ...

    
por 15.06.2016 / 03:30
0

Tente adicioná-las ao seu arquivo .screenrc :

startup_message off
msgwait 1

O último fará com que todas as mensagens da tela fiquem visíveis por apenas 1 segundo - que talvez sejam irritantemente curtas outras vezes.

    
por 30.08.2010 / 13:09