我遇到了一个奇怪的问题:在 GUI 会话中,根据所使用的终端,会出现以下两个(相关)问题:
who
并且w
不列出用户的活动会话logname
返回logname: no login name
它发生在以下终端:
- 外部终端
- xfce4-终端
- 接收
另一方面,在以下场景中它可以完美运行(who/w 列出用户和 logname 功能):
- ssh 接入
- xterm / lxterm / uxterm
答案1
检查 lx、xfce 和 rxvt 是否为 setuid root。如果不是,但 xterm 是,请尝试将它们设置为 setuid root ( which rxvt|xargs chmod u+s
)。每这:
rxvt tries to write an entry into the utmp(5) file so that
it can be seen via the who(1) command, and can accept messages.
To allow this feature, rxvt must be installed
setuid root on some systems.
“utmp” 是/var/tmp/utmp
,列出当前登录的用户。(这描述了一个相关问题,其中 utmp 中的值未正确更新。)