Широковещательные сообщения не появляются на терминале гнома, но появляются на xterm

Я думаю rsync не обрабатывает копирование редкого файла простым способом. cp дескрипторами по умолчанию это очень хорошо.

4
17.08.2014, 23:51
2 ответа

На urxvt вы должны ввести

chown root.utmp /usr/bin/urxvt
chmod g+s /usr/bin/urxvt

, и он начнет работать.

Я не понимаю, почему, просто скопировал (и протестировал) из http://permalink.gmane.org/gmane.comp.terminal-emulators.rxvt-unicode.general/1484 .

1
27.01.2020, 20:58

Перечисленные терминалы намекают на то, что такое поведение наблюдается в Linux: Подсказки находятся на странице руководства для wall (Solaris, например, отличается):

wall отображает сообщение, или содержимое файла, или иначе его стандартный ввод, на терминалы всех зарегистрированных в данный момент пользователей.

Некоторые сессии, такие как wdm, имеющие в начале данных utmp(5) ut_type символ ':', не получат сообщение от wall. Это сделано для того, чтобы избежать ошибок записи.

То есть, wall использует данные utmp, ищет используемые терминалы (т.е. вошедших в систему пользователей) и записывает на соответствующее device. Каждая строка в выводе w показывает (возможный) терминал, записанный терминалом в utmp-файл. Например, я подключен к серверу по ssh'd и запускаю screen, в то же время я вошел в консоль. Для полноты картины я запустил xterm, используя опцию -ls (login-shell). Вот вывод w:

$ w
 19:53:15 up  4:08,  5 users,  load average: 0.00, 0.01, 0.05
USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
tom      tty2                      19:48    5:11   0.04s  0.02s -tcsh
tom      pts/0    michener:S.0     15:51   13:18   0.35s  0.24s ssh -X thomas@b
tom      pts/2    michener:S.1     16:34    2.00s  0.14s  0.00s sh -c w
tom      pts/4    michener:S.3     15:52    3:59m  0.12s  0.00s /bin/sh /users/
tom      pts/3    localhost:10.0   19:53    7.00s  0.03s  0.03s -tcsh

и выполнение wall пишет на каждое из этих TTY устройств.

Однако, если терминал не записывает в файл utmp, он не будет указан в списке - и wall проигнорирует его.

Итак, некоторые программы могут иметь скомпилированную функцию, но не иметь привилегий для ее изменения. Поэтому некоторые программы запускаются с setgid для группы "utmp". Другие программы (такие как xterm - или gnome-terminal) могут использовать внешнюю программу, которая обновляет utmp от их имени.

В gnome-terminal эта функция была упразднена из-за того, что разработчики gnome считают, что (а) пользователи работают на локальной машине, где gdm обрабатывает вход в систему, и (б) поэтому нет различий между оболочками для входа в систему и оболочками без входа в систему. Это приводит к появлению некоторых интересных сообщений об ошибках:

2
27.01.2020, 20:58

Теги

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