为什么“w”或“who”命令不显示所有登录用户?

为什么“w”或“who”命令不显示所有登录用户?

我在一台由家人共用的笔记本电脑上安装了 Ubuntu 11.10。当我从命令行执行“ w”或“ who”命令时,尽管有三个用户登录,但我只能看到我的帐户。

有趣的是,当从机器上的每个不同帐户执行该命令时,我得到的结果不同。当我从我孩子的帐户执行相同的命令时,我会看到我的帐户和孩子的帐户。当我从我妻子的帐户执行该命令时,我会看到所有三个帐户:她的帐户、我的帐户和孩子的帐户。

所有三个帐户都处于主动登录状态,我只是在帐户之间切换并执行相同的命令。为什么结果不同?如果这是一个简单直接的答案,请原谅。我搜索了一下,什么也没找到。

不确定这是否重要,但我是笔记本电脑上唯一的管理员。

答案1

桌面用户通常不会出现,who因为 LightDM 不会在 utmp 中记录你的桌面登录信息(请参阅https://bugs.launchpad.net/lightdm/+bug/871070)。

我想知道您在测试这个的时候是否把终端窗口打开了:

  1. 您打开 xterm 并who从自己的帐户运行。您是唯一拥有终端的用户,因此它只会列出您。其他帐户可能在后台运行会话,但它们不会被列出,因为 LightDM 没有记录他们的登录信息。
  2. 你在自己的帐户上让 xterm 保持打开状态,切换到孩子的帐户,在那里打开一个 xterm,然后运行who。你的帐户仍然在列表中,因为它与你保持运行的 xterm 相连。
  3. 你让那个 xterm 在孩子的账户上保持打开状态,切换到妻子的账户,打开另一个 xterm 并运行who。现在所有三个账户都打开了终端,因此who会列出所有终端。

相关内容