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 withttyname(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
.