Que linha no / proc / tty / drivers reflete o comando w?

0

Na página da web há uma frase para descrever os drivers da tty.

motoristas registrados

O arquivo / proc / tty / drivers mostra todos os drivers tty registrados no momento.

Aqui estão algumas informações sobre w e / proc / tty / drivers.

debian8@hwy:~$ w
 23:53:38 up 2 min,  1 user,  load average: 0.47, 0.46, 0.20
USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
debian8  :0       :0               23:51   ?xdm?   4.62s  0.05s /usr/bin/lxsess
debian8@hwy:~$ cat /proc/tty/drivers
/dev/tty             /dev/tty        5       0 system:/dev/tty
/dev/console         /dev/console    5       1 system:console
/dev/ptmx            /dev/ptmx       5       2 system
/dev/vc/0            /dev/vc/0       4       0 system:vtmaster
serial               /dev/ttyS       4 64-95 serial
pty_slave            /dev/pts      136 0-1048575 pty:slave
pty_master           /dev/ptm      128 0-1048575 pty:master
unknown              /dev/tty        4 1-63 console

Qual linha no / proc / tty / drivers reflete o comando w?

    
por it_is_a_literature 11.01.2017 / 17:02

1 resposta

1

O utilitário w lê o utmp database wtmp para exibir suas informações TTY, até onde eu sei. Isso é escrito por xdm , aparentemente usando algo chamado sessreg (um utilitário X11 que "gerencia entradas de utmp / wtmp para clientes não-init").

O manual sessreg diz para colocar uma linha como

sessreg -a -l $DISPLAY -x /etc/X11/xdm/Xservers $USER

no script X11 Xstartup . Na minha máquina do OpenBSD, a linha realmente lê (em /etc/X11/xdm/Xstartup )

exec /usr/X11R6/bin/sessreg  -a -w /var/log/wtmp -u /var/run/utmp       -x /etc/X11/xdm/Xservers -l $DISPLAY -h "" $USER

O sinalizador -l tem a seguinte descrição no manual sessreg :

This describes the "line" name of the entry. For terminal sessions, this is the final pathname segment of the terminal device filename (e.g. ttyd0). For X sessions, it should probably be the local display name given to the users session (e.g. :0). If none is specified, the terminal name will be determined with ttyname(3) and stripped of leading components.

Como experiência:

$ doas sessreg -a -l hello kk

( kk sou eu e doas é o "equivalente" do OpenBSD de sudo )

$ w
 7:31PM  up 10:55, 2 users, load averages: 1.20, 1.16, 1.10
USER    TTY FROM              LOGIN@  IDLE WHAT
kk       p0 192.168.216.1     8:47AM     0 tmux: client (/tmp/tmux-1000/default)
kk       he -                 7:31PM     0 -

$ doas sessreg -d -l hello kk

$ w
 7:32PM  up 10:56, 1 user, load averages: 1.22, 1.17, 1.11
USER    TTY FROM              LOGIN@  IDLE WHAT
kk       p0 192.168.216.1     8:47AM     0 tmux: client (/tmp/tmux-1000/default)

$ last | head -n 3
kk        hello                             Wed Jan 11 19:31 - 19:31  (00:00)
kk        ttyC0                             Wed Jan 11 18:54 - 19:21  (00:27)
kk        ttyp0    192.168.216.1            Wed Jan 11 08:47   still logged in

Em conclusão: :0 é apenas uma cadeia de texto colocada pelo utilitário sessreg . Pode ser qualquer coisa, mas provavelmente é o valor de $DISPLAY .

    
por 11.01.2017 / 19:28

Tags