我已经在 Windows 10 上的 VirtualBox 7.0.16 上使用 Ubuntu 24.04 仅 3 天了。我在终端上使用了几个命令,它们运行良好。但who am i
没有回应。但grep [username] /etc/passwd
给出了预期的响应。为什么不呢who am i
?
答案1
你的书相当过时了。
该命令who am i
(或who mom likes
等)当然习惯可以工作,并且应该等同于who -m
。例如,texinfo 文档 ( info coreutils 'who invocation'
) 中说:
If given two non-option arguments, ‘who’ prints only the entry for the user running it (determined from its standard input), preceded by the hostname. Traditionally, the two arguments given are ‘am i’, as in ‘who am i’.
然而,在大多数现代终端仿真器中,who -m
它什么都不返回。从根本上讲,这是因为who
必须从utmp
条目中获取该信息,而依赖于libvte
不再将伪终端 (pts) 条目写入utmp 文件.apt changelog libvte-2.91-0
例如来自:
- 停止在 libvte-2.91-0 中发布 gnome-pty-helper
- 不再由上游运送(参见 bgo#747046)。(这意味着不再有 utmp/wtmp 更新。)
我能找到的最清晰的讨论是这篇博客文章“我是谁”在最近的 GNOME 终端(和 MATE 终端)中不起作用其中包括指向主要来源的链接,包括这个gnome.org 错误报告。
如果你好奇的话,你会发现它仍然可以在 CLI 虚拟终端(例如可通过Ctrl++访问)或通过 启动的伪终端中使用,而Alt这些终端不依赖于 libvte 来写入 utmp 条目:F6xterm
答案2
我期望该命令who am i
不会给出任何响应;鉴于参数(我是吗)你用过......
您可能指的是命令whoami
(即。一个词,所以一个不同的命令)将响应您的 $USER
guiverc@d7050-next:~/uwn/issues/837$ whoami
guiverc
相对
guiverc@d7050-next:~/uwn/issues/837$ who am i