通过修改支持跨登录机制共享 PATH

通过修改支持跨登录机制共享 PATH

我正在运行 Xubuntu 14.10,目前使用 lightdm。让我们检查两个进程树:

init───lightdm───lightdm───upstart───xfce4-terminal───bash

和:

init───lightdm───lightdm───upstart───emacs─┬─{dconf worker}
                                           ├─{gdbus}
                                           └─{gmain}

我的问题是,我在 中设置了 PATH .bashrc,由于 emacs 是由 upstart 启动的(使用键盘快捷键),因此它不具有相同的 PATH 值。(我知道我应该将其移动到 左右.bash_profile,但这并不能解决问题,而且考虑到我通常只以一种方式登录,即通过 X / lightdm,所以没问题。)

请考虑以下三种情况:

  • vty1 上的终端 -> bash - 路径由 bash 初始化(.bash_profile
  • X -> emacs - 路径由 lightdm 初始化(.xinitrc
  • X -> xfce4-terminal -> bash - 路径由 lightdm ( ) 初始化.xinitrc,然后由 bash ( .bash_profile)修改

首先 - 以上内容是否正确,还是还有其他事情发生?或者更好的是 - 我应该使用上述内容进行初始化还是其他一些文件/机制?

如果以上内容正确,我假设将 PATH 放在脚本中,然后从两者调用.bash_profile.xinitrc这是同步所有这些环境的最佳方式,对吗?

是否有钩子可以提供一种方法来重置 lightdm 的 PATH?如果可能的话,我想避免在更改 PATH 时登录和退出。

相关内容