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

时间:2013-08-01 14:21:55

标签: linux gnome window-managers

我发布了some scripts to automatically mount并在Linux中卸载磁盘,现在我得到a request来使当前登录用户拥有磁盘。也就是说,当前持有gui的用户占用了(在这种情况下我们不关心终端用户)。

我如何获取用户名?可能存在大量不同的窗口管理器,因此如果不存在与wm无关的解决方案,则可能需要根据wm的不同解决方案。

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

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

3 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:0)

如果您的xserver附加到w -hs | grep tty7 | cut -f1 -d ' '(进行相应修改),

tty7似乎可以正常工作。

答案 2 :(得分:0)

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

如果您使用它,则它应该将运行它的用户传递给您。

ps aux | grep gdm