You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Conky中列出登录记录?需显示最近3条登录信息

在Conky中显示最近3条登录记录的实现方案

当然可以在Conky里展示最近的登录记录啦!我帮你整理了一套简单易上手的实现方法,还能根据需求灵活调整显示格式,一起来看看~

核心原理

我们可以利用Linux系统自带的last命令提取登录日志——它会读取/var/log/wtmp文件里的登录历史,通过参数就能轻松筛选出最近3条记录,再把这个命令集成到Conky配置里就行。

具体配置步骤

  1. 打开你的Conky配置文件(通常路径是~/.conkyrc或者~/.config/conky/conky.conf,根据你的发行版可能略有不同)
  2. 在配置文件的合适位置(比如你想显示登录记录的区域)添加以下内容:
# 登录记录标题
${color #2ecc71}最近3次登录记录${color}
${hr 2}
# 获取并格式化最近3条登录信息
${exec last -n 3 | grep -v 'wtmp' | awk '{printf "%-10s %-18s %-22s\n", $1, $3, $4" "$5" "$6}'}

代码解释

  • last -n 3:提取最近3条登录记录
  • grep -v 'wtmp':过滤掉last命令开头的那行说明文字(比如wtmp begins ...)
  • awk '{printf ...}':格式化输出,调整各字段的宽度,让显示更整齐。$1是用户名,$3是登录IP/主机名,$4-$6是登录日期和时间

灵活调整格式的小技巧

你可以根据自己的喜好随意修改显示效果:

  • 调整显示字段:如果不想显示IP,只保留用户名和时间,就把awk部分改成awk '{print $1, $4" "$5" "$6}';想加终端信息就加上$2
  • 添加颜色高亮:给用户名加个蓝色高亮,比如awk '{printf "%-10s %-18s %-22s\n", "${color #3498db}"$1"${color}", $3, $4" "$5" "$6}'
  • 自定义分隔:在每条记录之间加个分隔线,修改awk为awk '{printf "%-10s %-18s %-22s\n---\n", $1, $3, $4" "$5" "$6}'
  • 定时刷新:如果需要每隔一段时间更新记录,把${exec}换成${execpi 60}(这里的60代表60秒刷新一次,可自定义时长)

注意事项

  • 确保你的用户账号有权限读取/var/log/wtmp文件,普通用户一般默认都有这个权限,如果遇到权限问题,可以检查文件的权限设置(不建议用sudo执行Conky命令,避免安全风险)
  • 不同Linux发行版的last命令输出格式可能略有差异,你可以先在终端执行last -n 3查看输出结构,再调整awk的参数匹配你的输出字段

内容的提问来源于stack exchange,提问作者Starblight

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 03:37:31