我正在运行一个最新版本的LinuxMint (一个Ubuntu-叉),我注意到who、w和last都停止了在终端模拟器(如xterm)上注册活动。如果您在X下打开一个终端,唯一注册的东西是WindowManager/DesktopEnviroment在VirtualTerminal上运行(例如。/dev/tty7 7或/dev/tty7 8)。
如果我登录到F1-F6 (/dev/tty1-6)上的VirtualTerminals之一,就会注册它。此外,如果我在X下的终端仿真器中使用ssh登录,也会注册使用screen的多个“终端”(即使在X下的终端模拟器中使用)。
但是,仅仅打开终端仿真器(并在其中运行程序)就不再被注意到了。
AFAIK,当前登录的用户在/var/run/utmp中注册,而以前的登录(和引导)登录在/var/log/wtmp中,这些文件由who、w和last使用。
因此,由于某种原因,在X中打开终端仿真器不再在这些日志中注册。虽然这有一些意义(我实际上并不是登录),但我更希望它被记录.至少从那时起,我可以使用w来查看我在各种shell中所做的事情。
那么,是否有办法恢复终端模拟器的日志记录呢?更好的是,他们也会被注册.
发布于 2017-06-05 11:05:21
更新:做了一些研究。
需要告诉终端模拟器将日志条目写入/var/log/utmp。对于xterm,这是通过使用-ut启动xterm或将Xterm*utmpInhibit资源设置为false (这是默认的)来完成的。
显然,对于gnome-terminal来说,这是不同的。实际上,似乎gnome-terminal完全放弃了utmp支持:https://bugzilla.gnome.org/show_bug.cgi?id=747046
bug报告摘要:开发人员希望完全删除utmp支持,据我所知,他们做到了(在2015年)。
https://unix.stackexchange.com/questions/369290
复制相似问题