Linux 相当于 Unix who -m 命令,在 su 之前显示原始用户 ID?

Linux 相当于 Unix who -m 命令,在 su 之前显示原始用户 ID?

我正在尝试寻找who -m在 Unix 中运行的 Linux 等效程序。在 Unix 中,在通过等who -m启动任何新的 shell 会话之前,提供您用于登录的第一个用户 ID。su

-m在Linux 中切换到who有不同的效果,到目前为止我无法在手册页中找到与我的需求相关的任何内容。

答案1

更新:我的答案(我是谁)是正确的,您的终端要么坏了,要么配置不正确,无法支持该功能。

根据评论,我做了一些研究,并询问一个朋友来帮忙。你没有说你正在使用哪个终端,但它很可能和 gnome-terminal 做同样的事情。

关于 gnome-terminal *当终端启动时,它不会更新 utmp 文件。这似乎是一个设计决定。稍后,当 who 读取 utmp 以查找相关信息时,它不存在,因此它只是退出并且不打印任何内容。

*我尝试使用 xterm、konsole 和 ssh 连接到各种发行版。


您希望who am i哪个打印调用用户,而不是whoami告诉您当前有效用户的用户名

如果给出了两个非选项参数,则“who”仅打印运行它的用户的条目(根据其标准输入确定),前面是主机名。传统上,给出的两个参数是“am i”,如“who am i”。

有趣的是,它埋藏在info coreutils 'who invocation'如此有趣的地方(在基于 Linux CoreUtils 的系统上)who xyzzy plugh也能正常工作。

相关内容