环境变量有问题?

环境变量有问题?

当我在这里输入 echo 时:

skyI@skyI-MP-i1640:~$ echo $XDG_RUNTIME_DIR    
/run/user/1000

它显示/run/user/1000,但是当在此处输入 echo 时:

root@skyI-MP-i1640:/SLAM/DSO/dso# echo $XDG_RUNTIME_DIR

它不显示/run/user/1000

为什么?我该如何解决?

答案1

每个用户都有环境变量。XDG_RUNTIME_DIR很可能未在 root 用户的环境中定义或被覆盖为空。

要在当前 shell 中修复此问题(暂时),请以 root 身份登录并输入export XDG_RUNTIME_DIR="/run/user/1000"

要修复每次 root 登录时出现的问题,您可以在 中定义它。只需在文件底部~root/.profile添加该行即可。然后注销并再次登录。export XDG_RUNTIME_DIR="/run/user/1000"source ~/.profile

您可以使用以下命令验证当前 shell、类型env或特定 shell中定义了哪些环境变量env | grep XDG_RUNTIME_DIR

答案2

解决了。​​抱歉,答案很简单。为什么:他们是不同的用户。不同的用户有不同的 .bashrc 文件。如何:只需像这样导出,export XDG_RUNTIME_DIR="/run/user/1000"

相关内容