通常是一个write
命令(参考:写)会让接收者看到
Message from yourname@yourhost on yourtty at hh:mm ...
我没看到...有什么想法吗?
在我的 Windows 10 中,我有一个 Linux Mint 18.2 虚拟机。我创建了两个帐户:paul 和 mary。我在 VM 中以 paul 身份登录。我打开一个GNOME
终端。我打开另一个终端,但以 mary 身份登录(使用sudo login mary
)。
在 paul 的终端中,我write mary
。mary 的终端上会出现一条消息:
Message from paul@monte-VirtualBox on pts/1 at 20:01 ...
在玛丽的终端中,我write paul
。首先我看到:
write: write: you have write permission turned off.
我通过 修复了这个问题mesg y
。我再试write paul
一次。但是在 paul 的终端上,我没有看到Message from
!在我输入消息并按下 Control D 后,paul 的终端没有显示我刚刚输入的消息。为什么?
我做了who -aH
并得到:
NAME LINE TIME IDLE PID COMMENT EXIT
system boot 2018-05-04 20:39
run-level 5 2018-05-04 20:39
LOGIN tty1 2018-05-04 20:39 1124 id=tty1
paul + tty7 2018-05-04 20:39 00:05 1439 (:0)
mary + pts/0 2018-05-04 14:41 . 2231
请注意,玛丽的终端中的消息表明保罗在 pts/1,而who
保罗在 tty7。
然后我安装xterm
。打开它,当然,那是 xterm 中的 paul。
在 paul 的 gnome 终端上,我
write paul pts/2
,paul 的 xterm 显示:来自 paul@monte-VirtualBox 于 pts/1 20:49 发送的消息...
在 paul'x xterm, I
write paul tty1
(或write paul pts/1
),我得到:写入:paul 未登录 tty1
我输入
write paul tty7
,message from
paul 的终端中没有出现。我在 xterm 中输入的消息没有出现在 paul 的终端中。在 mary 的终端上,我“写入 paul pts/2”,paul 的 xterm 显示:
来自 mary@monte-VirtualBox 于 pts/0 20:50 发送的消息...
答案1
首先,tty7
不是GNOME 终端。以 开头的名称tty
代表某种实际设备 -tty7
是第七个虚拟控制台(即按 Ctrl+Alt+F7 时显示的屏幕)。
因此,您看到的 utmp 条目并不代表任何终端应用程序;它代表整个 Xorg 会话。(utmp 条目不仅适用于交互式 shell - 它们还可以添加到 X11 登录、FTP 会话等中。)
GNOME 终端窗口的条目在哪里?没有,因为 utmp 支持已从电压0.41.90 版中的终端库。(utmp 条目不会自动显示 - 它们是由终端仿真器、sshd 或命令手动添加和删除的login
...)
你的消息在 tty7 上发到哪里?它们隐藏在图形 Xorg 界面的“后面”。(我不确定是否有办法看到它们。如果你注销,然后手动转到“空”tty7,你可能在那里找到丢失的消息。
现在如何向 GNOME 终端发送消息?不幸的是,尽管你可以寻找正确的终端名称(通过运行tty
),您无法使用它write
- 因为没有 utmp 条目,write
认为用户未登录。