user dissapered after connection ao GNU Screen

0

Depois que o usuário efetuou login e antes de executar o GNU Screen ,

[root@15inch ~]# w
 11:45:17 up  3:44,  2 users,  load average: 0,00, 0,02, 0,00
USER     TTY        LOGIN@   IDLE   JCPU   PCPU WHAT
user  pts/2     09:42    7.00s  0.03s  0.03s -bash
[root@15inch ~]# who
user  pts/2        2018-08-31 09:42 (192.168.1.136)
[root@15inch ~]# 

mas depois de executar GNU Screen , não vi nada:

[root@15inch ~]# w
[root@15inch ~]# who
[root@15inch ~]#

apenas who --all mostra algo:

# who --all
           system boot  Aug 31 08:01
LOGIN      tty1         Aug 31 08:01               548 id=tty1
           pts/2        Aug 31 09:42              3068 id=ts/2  term=0 exit=0

o pts/2 é pseudo TTY que foi criado após seu login via ssh . Mas quando tento enviar uma mensagem para ele:

[root@15inch ~]# write user pts/2
write: user is not logged in on pts/2

apenas uso direto de pts / 2 trabalhos:

[root@15inch ~]# echo "HI" > /dev/pts/2 
[root@15inch ~]# 

é esse comportamento esperado? Por que GNU Screen esconde este usuário dos utilitários do sistema?

    
por user1244932 31.08.2018 / 10:51

1 resposta

2

É um recurso legítimo, embora eu não saiba exatamente o motivo original dele. Eu suponho que Screen remove o 'outer' tty do utmp porque ele não é mais relevante - contanto que você esteja "ligado", para a maioria das intenções e propósitos você não está realmente interagindo com o 'outer' tty.

Normalmente, não causa problemas porque o Screen deve adicionar entradas utmp para cada inner pty (correspondente a cada janela de tela). Você deve ver entradas com nomes de host como " :S.0 " ou " <originalhost>:S.0 " na saída who -a .

Se isso não acontecer, verifique se a janela está marcada como "conectada"; tente Ctrl + A Shift + L para alternar o estado de login. (O estado padrão é definido usando deflogin on em ~ / .screenrc ou o screenrc em todo o sistema.)

    
por 31.08.2018 / 15:22