我发布了一些脚本来在 Linux 中自动挂载和卸载磁盘,现在我收到了一个请求,让当前登录的用户拥有磁盘。即当前持有gui的用户被占用(本例中我们不关心终端用户)。
我将如何获取用户名?可能有许多不同的窗口管理器,因此如果不存在独立于 wm 的解决方案,则可能需要取决于 wm 的不同解决方案。
首先,仅针对 Gnome 的解决方案可能就足够了。
该脚本在任何用户会话之外运行(由 udev 触发)。
如果您正在运行 bash 脚本,则当前登录用户的用户名应存储为环境变量,$USER
或者$USERNAME
. 该env
命令将为您提供当前 shell 中所有环境变量的列表。
现在,如果您想要当前用户的用户 ID,请使用该id
命令。
Gnome 应该启动一个名为 gdm(Gnome 显示管理器)的进程。
如果您使用 grep 获取它,它应该将运行它的用户传递给您。
ps aux | grep gdm
w -hs | grep tty7 | cut -f1 -d ' '
tty7
如果您的 xserver 附加到(相应地修改),似乎可以工作。