我使用 zsh 作为我的登录 shell,使用 lightdm 作为登录管理器,使用 awesome 作为窗口管理器。
我改变了PATH
我的变量~/.zshrc
,它在终端上运行,但 awesome 本身无法识别变量的变化。我需要把可以PATH
在 awesome 中使用的更改放在哪里?
我不想将一些 PATH 内容放入 /etc/rc.local 或类似文件,因为它包含用户特定的文件夹。
答案1
可能lightdm
不会执行交互式 shell 来启动awesome
。因此,您的~/.zshrc
不是源 -- 只需使用~/.zshenv
即可,无论 shell 是登录 shell 还是交互式 shell,它都会获取源。
从手册页中:
启动/关闭文件
/etc/zshenv
首先从(...)读取命令然后从 读取命令
$ZDOTDIR/.zshenv
。如果 shell 是登录外壳,命令从 读取/etc/zprofile
,然后$ZDOTDIR/.zprofile
。然后,如果 shell 是交互的,命令从 读取/etc/zshrc
,然后$ZDOTDIR/.zshrc
。最后,如果 shell 是登录外壳,/etc/zlogin
并被$ZDOTDIR/.zlogin
阅读。(...)如果
ZDOTDIR
未设置,HOME
则改用。