Ton*_*bda 6 linux path environment-variables systemd
使用 Ubuntu 21.04、GNOME 3.38.5 Wayland 和 zsh 作为我的 shell,
$ systemctl --user show-environment
PATH=/home/tony/.cargo/bin:/home/tony/.cargo/bin:/home/tony/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/snap/bin
我想知道如何~/.cargo/bin重复三遍,但找不到一处设置它的地方。 ~/.pam_environment根本没有提到“PATH”,而且我从来没有运行过 rust 工具链sudo,所以这个变量不太可能在位于/etc.
如何跟踪 PATH 环境变量的设置?
use*_*686 10
在 systemd --user 启动之前,将调用所有 PAM“会话”模块/etc/pam.d/systemd-user。
当 systemd --user 启动时,它会运行一组“环境生成器”,它们是输出环境变量的程序。它们可以在以下位置找到:
/etc/systemd/user-environment-generators//usr/local/lib/systemd/user-environment-generators//usr/lib/systemd/user-environment-generators/默认情况下,Systemd 仅附带一个这样的“环境生成器”,它从environment.d目录中读取简单的 KEY=value 文件:
~/.config/environment.d/*.conf/etc/environment.d/*.conf/run/environment.d/*.conf/usr/lib/environment.d/*.conf/etc/environment当图形会话启动时(无论是使用 startx 还是显示管理器),链中通常有一些脚本调用systemctl --user import-environment并将$PATH 以及交互式环境中的其他所有内容复制到 systemd 环境中。
也可以完成同样的操作dbus-update-activation-environment --systemd,它将环境变量复制到正在运行的“dbus-daemon --session”中,但使用额外的选项,它还会更新 systemd。
gnome-session 也可以本地完成相同的操作,用于选择环境变量(我不确定 $PATH 是否是其中之一)。
“导入”工具可以从以下位置调用:
~/.xinitrc~/.xsession/etc/X11/xinit/xinitrc.d/50-systemd-user.sh| 归档时间: |
|
| 查看次数: |
4453 次 |
| 最近记录: |