3

Я пытаюсь отправить сообщение самому себе с помощью команды write потому что я хочу, чтобы некоторые скрипты работали в фоновом режиме и могли выводить сообщения на терминал, где я нахожусь.

Итак, я всегда получаю одну и ту же ошибку и не знаю, что еще попробовать:

user $: mesg y
user $: mesg
is y
user $: write myuser
write: myuser has messages disabled
echo 'hello' | write myuser
write: myuser has messages disabled
myuser $DISPLAY
write: myuser has messages disabled
echo 'hello' | write myuser $DISPLAY
write: myuser has messages disabled

Почему это происходит? Как я могу это исправить?

PS: я получаю те же результаты, что и root.

2 ответа2

2

Вы можете использовать команду

who -T

в вашем скрипте, чтобы определить, какой порт использовать для записи. Символ «+» или «-» указывает, доступен ли для записи терминал.

[lion@FedoraXXI ~]$ who -T
lion     ? :0           2015-04-24 15:18 (:0)
lion     + pts/0        2015-04-24 19:58 (:0)
lion     - pts/1        2015-04-24 21:24 (:0)
[lion@FedoraXXI ~]$
1

Благодаря комментариям, каналу ## linux в сети freenet и man mesg я нашел ответ:

myuser $: w
 18:45:42 up 17:00,  2 users,  load average: 4.10, 3.84, 3.52
 USER     TTY        LOGIN@   IDLE   JCPU   PCPU WHAT
 myuser :0.0      01:46   ?xdm?  23:59   0.02s /usr/bin/ck-launch-session /usr/bin/dbus-launch --exit-with-session /usr/bin/i3

myuser $: sudo login myuser
 Password: 
 Last login: Sun Apr 26 18:18:43 CEST 2015 on pts/6

myuser $: w
 18:46:31 up 17:00,  3 users,  load average: 4,11, 3,89, 3,56
 USER     TTY        LOGIN@   IDLE   JCPU   PCPU WHAT
 myuser :0.0      01:46   ?xdm?  24:13   0.02s /usr/bin/ck-launch-session /usr/bin/dbus-launch --exit-with-session /usr/bin/i3
 myuser pts/1     18:46    7.00s  0.86s  0.00s w

myuser $: echo "Now it works! :). Thanks to John1024 from http://superuser.com and <arvut> from ##linux channel in freenode's network :)" | write myuser /dev/pts/1

  Message of myuser@tux the pts/1 at 18:50 ...
  Now it works! :). Thanks to John1024 from http://superuser.com and <arvut> from ##linux channel in freenode's network :)
  EOF 

Это произошло со мной только потому, что я использую минималистичную графическую настройку, этого не произойдет, если вы будете использовать обычную рабочую среду.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .