Problema no comando de gravação do Linux

3

Estou tentando enviar uma mensagem para mim mesmo por meio do comando write , pois quero alguns scripts em execução em segundo plano e poder ecoar as coisas para o terminal em que estou.

Então, recebo sempre o mesmo erro e não sei mais o que tentar:

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

Por que isso está acontecendo? Como posso consertar isso?

PS: recebo os mesmos resultados que o root.

    
por 127.0.0.1 25.04.2015 / 06:17

2 respostas

1

Graças aos comentários, ## canal de linux na rede freenet e man mesg achei a resposta, que é:

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 

Isso aconteceu comigo só porque estou usando uma configuração gráfica minimalista, isso não acontecerá se você usar qualquer ambiente de desktop normal.

    
por 25.04.2015 / 07:06
2

Você pode usar o comando

who -T

no seu script para determinar qual porta usar para escrever. O caractere '+' ou '-' indica se o terminal é gravável.

[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 ~]$
    
por 25.04.2015 / 08:01

Tags