如何获得拥有当前活动gui会话的用户名



我发布了一些在Linux中自动装载和卸载磁盘的脚本,现在我收到了一个请求,要求将磁盘归当前登录的用户所有。也就是说,当前持有gui的用户已被占用(在这种情况下,我们不关心终端用户)。

我该如何获取用户名?可能有许多不同的窗口管理器,因此,如果不存在wm独立解决方案,则可能需要根据wm不同的解决方案。

首先,一个仅针对Gnome的解决方案可能就足够了。

脚本在任何用户会话之外运行(由udev触发)

如果您正在运行bash脚本,则当前登录用户的用户名应存储为环境变量$USER$USERNAMEenv命令将为您提供当前shell中所有环境变量的列表。

现在,如果您想要当前用户的用户id,请使用id命令。

w -hs | grep tty7 | cut -f1 -d ' '似乎可以在xserver连接到tty7的情况下工作(相应地进行修改)。

Gnome应该启动一个名为gdm(Gnome显示管理器)的进程。

如果你为它grep,它应该会把运行它的用户传给你

ps aux | grep gdm 

最新更新