如何从父用户获取变量环境?

如何从父用户获取变量环境?

我需要知道在 su 之后如何从父用户获取环境变量?例如,如果我是 evan 用户,并且我有变量 $DISPLAY=:10.0,那么我使用“su -”转到 root 用户,我如何从父 evan 用户获取 $DISPLAY 变量?

答案1

在这种情况下,我会看看主机

通常我也可以通过定义来以 root 身份打开一些 GUI(取决于 Linux 发行版)

export DISPLAY=:0.0

在我的脚本中。

我不知道显示 ID 是否像您所写的那样发生变化。

答案2

我使用以下几行找到了解决方案:

prev_user=$(pstree -lu -s $$ |grep --max-count=1 -o '([^)]*)' |head -n 1 | sed 's/[()]//g')
inherit_display=$(xauth -f /home/$prev_user/.Xauthority list|tail -1|cut -d/ -f2|cut -d ' ' -f1)

export DISPLAY="$inherit_display"

prev_user - 获取我使用 su 的上一个用户(父用户)

inherit_display-准确获取父用户的 DISPLAY 值

最后,我将值导出到我的新根显示器 (DISPLAY)。

像沙姆一样起作用。

相关内容