Выполнить sh с параметрами в bash

Утилита w считывает базу данных utmp wtmp для отображения информации TTY, насколько мне известно. Это записано в xdm , очевидно, с помощью так называемого sessreg (утилита X11, которая «управляет записями utmp / wtmp для клиентов, не являющихся инициаторами»).

В руководстве sessreg говорится, что в скрипте X11 Xstartup следует поместить строку, подобную

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

. На моей машине OpenBSD строка фактически читает (в / 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

Флаг -l имеет следующее описание в sessreg manual:

Здесь описывается "строковое" имя записи. Для сеансов терминала это последний сегмент пути в имени файла устройства терминала (например, ttyd0 ). Для X-сеансов это должно быть , вероятно, локальное отображаемое имя, данное пользовательскому сеансу (например, : 0 ).Если ничего не указано, имя терминала будет определено с помощью ttyname (3) и без ведущих компонентов.

В качестве эксперимента:

$ doas sessreg -a -l hello kk

( kk - это я, а doas - это OpenBSD «эквивалент» 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

В заключение: : 0 - это просто текстовая строка, помещенная в нее утилитой sessreg . Это может быть что угодно,но, скорее всего, это значение $ DISPLAY .

1
21.08.2018, 02:29
0 ответов

Теги

Похожие вопросы