从一个终端用户向另一用户发送消息

从一个终端用户向另一用户发送消息

我在 tty1 中有一个名为 x 的用户,在 tty2 中有一个名为 y 的用户。现在 x 想写一些消息给 y,反之亦然。现在我在 tty1 终端中输入write y tty2 它显示

写:写:您已关闭写权限

write:y 已禁用消息

当 y 向 x 发送消息时显示相同的内容,而不是最后一行中的“x”。我应该怎么办?

答案1

好像y已经关闭消息了。

y的终端中,输入:

$ mesg
is n

意思y是不允许其他人写入 的y终端。那么你应该尝试:

$ mesg y

笔记

这个选项yy上面的命令与您的情况下的用户不同。

man mesg

NAME
       mesg - control write access to your terminal

SYNOPSIS
       mesg [y|n]

DESCRIPTION
       Mesg  controls the access to your terminal by others.  It's typically used to allow or disallow other users to write to your terminal
       (see write(1)).

OPTIONS
       y      Allow write access to your terminal.

       n      Disallow write access to your terminal.

       If no option is given, mesg prints out the current access state of your terminal.

答案2

如果 X 是想要在 y 机器上弹出消息的用户。首先获取 y 机器的终端 ID,并且两者应该位于同一主机上。您可以发送如下消息。

  1. 键入who命令并查看y机器的终端ID(例如pty/1是y的终端ID)
  2. echo "Hello" 1> pty/1(这将在您的机器上显示该消息。

答案3

您无法执行任何操作(除非您是 root 用户)。

每个用户都可以使用命令 mesg 启用/禁用其他用户向他们发送消息的能力。可以将此命令放入您的 .bashrc 或 .login 文件中(取决于 shell)。

如果您不采取任何措施,默认情况是保护用户免受其他用户发送的这些中断消息的影响。

答案4

> $ who
bouba    :0           2015-07-30 07:10 (:0)
jdone    pts/1        2015-07-30 20:07
bouba    pts/12       2015-07-30 20:39 (:0)
> $ mesg y
> $ write jdone

jdone 它是您的用户名,在此处输入您的消息并按 Enter 发送

相关内容