在 Ubuntu 11.10 上尝试安装,使用 sh 脚本,没有管理员权限,没有发布任何脚本,在未安装任何脚本的情况下,可以成功安装。你知道《史塔克维尔报》吗?
(谷歌翻译的礼貌)
在 Ubuntu 11.10 上有一个问题,当您运行 sh 脚本时,如果没有活动控制台,团队不会显示活动用户,但脚本需要知道哪个用户现在处于活动状态。谁遇到过?
顺便说一下,acpi 包中有一个与我的问题相关的错误,它的脚本也被该命令使用who
。
$ dpkg -l | grep acpi | awk '{print $2 "_" $3}'
acpi_1.5-3ubuntu1
acpi-support_0.138
acpid_1:2.0.10-1ubuntu2.3
$ grep who /usr/share/acpi-support/*
/usr/share/acpi-support/power-funcs: user=$(who | awk "/:$displaynum)/ { print \$1; exit }")
/usr/share/acpi-support/power-funcs: user=$(who | awk "/:$displaynum/ { print \$1; exit }")
我认为这可以修复:
user=$(users | sed 's | |\n|g' | uniq)
____更新于 2012 年 1 月 12 日
问题仍未解决!一个有趣的小实验:为了使用和命令
进行测试,我运行终端,并将以下几行添加到 /etc/crontab:who
user
* * * * * root echo 'who: '`who` >> /123
* * * * * root echo 'users: '`users` >> /123
* * * * * root echo 'users /var/run/utmp: '`users /var/run/utmp` >> /123
* * * * * root echo 'users /var/log/wtmp: '`users /var/log/wtmp` >> /123
并在终端运行时检查/123 文件:
users /var/log/wtmp: administrator administrator...
who: administrator pts/3 2012-01-12 14:59 (:0.0)
users: administrator
users /var/run/utmp: administrator
当终端关闭时:
who:
users:
users /var/run/utmp:
users /var/log/wtmp: administrator administrator ...
再次,问题是如何从控制台以 root 身份获取登录到系统(X 会话)的用户列表。
直到我只看到一个解决方案:
user=$(users /var/log/wtmp | sed 's| |\n|g' | uniq)`
谁知道更优雅的解决方案?或者这只是一个选择?
或者也许它仍然是一个错误?
答案1
当前登录的用户设置在环境变量 $USER 中
echo $USER
这应该能满足您的所有需求。要获取所有登录用户的列表,请运行
users