如何从 lightdm 迎宾列表中删除最后连接的用户

Chr*_*uet 5 lightdm 12.04

使用 gdm3,我能够通过删除文件“/var/log/ConsoleKit/history”从列表中删除最后连接的用户

使用 lightdm,即使在以下情况下也会出现最后一个用户:

  • 删除 /var/log/ConsoleKit/history
  • 删除 /var/lib/lightdm/.cache/unity-greeter/state

lightdm 在哪里存储这个列表?

编辑:它似乎正在使用last命令中的内容。然后清除文件的内容/var/log/wtmp足以从列表中删除任何以前连接的用户:

# > /var/log/wtmp
Run Code Online (Sandbox Code Playgroud)

但是,在这样做之后,我有一个不需要的副作用,即通过 lightdm 登录的用户根本不会出现在此列表中。

我必须说我在使用 NIS 的企业网络环境中。

Edit2:嗯,好像lightdm用wtmp来显示最近的网络用户列表,但是没有更新。因此,lightdm 仅在以另一种方式(ssh、登录)登录时才会显示网络用户,就像我之前在这台计算机上所做的那样。参考:

Edit3:我刚刚在文件中添加了以下行以/etc/pam.d/lightdm强制 lightdm 将用户存储在 wtmp 中:

session optional        pam_lastlog.so silent
Run Code Online (Sandbox Code Playgroud)

Chr*_*uet 3

因此,要从列表中删除最后连接的网络用户,只需清除文件/var/log/wtmp\xc2\xa0:

\n\n
# > /var/log/wtmp\n
Run Code Online (Sandbox Code Playgroud)\n\n

此外,为了让 lightdm 记住最后连接的网络用户,可以将以下行添加到文件/etc/pam.d/lightdm\xc2\xa0 中:

\n\n
session optional        pam_lastlog.so silent\n
Run Code Online (Sandbox Code Playgroud)\n