Перечисленные терминалы намекают на то, что такое поведение наблюдается в 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
обрабатывает вход в систему, и (б) поэтому нет различий между оболочками для входа в систему и оболочками без входа в систему. Это приводит к появлению некоторых интересных сообщений об ошибках:
Когда пользователь входит в графический режим, запускается предопределенная среда рабочего стола (Gnome 3 в вашем случае). Это программный пакет, который следует использовать для установки и настройки всего, что должно запускаться , когда пользователь входит в систему графически .
Сначала создайте сценарий, поместите его в какое-нибудь личное место, например ~ / scripts /
или ~ / bin /
, и сделайте исполняемым ( chmod + x script_path_and_name.sh
). Затем в меню Gnome Система выберите Настройки -> Программы запуска . Щелкните Добавить справа от списка, введите любое имя и укажите Command на только что созданный сценарий.
Я переводил все пункты меню обратно на английский с польского, поэтому, пожалуйста, поправьте меня, если я допустил там ошибку. (Компьютер моей девушки - единственный, на котором установлен Gnome :))
Если вы используете F15, ваш файл профиля
~/.bash_profile
вместо
~/.profile
Поэтому проверьте, существует ли этот файл, и отредактируйте его, добавив ваш скрипт