如何在从 Gnome Panel 启动的 Emacs 会话中设置环境变量?

如何在从 Gnome Panel 启动的 Emacs 会话中设置环境变量?

我的.bash_env文件设置了几个环境变量,包括PATHEMAIL,但在从 Gnome 面板启动的 Emacs 会话中(命令:“ /usr/bin/emacs23 %F”),这些变量没有预期的值。我以前遇到过这个问题(请参阅这篇博文)。然后我通过.bash_env在我的.xsession文件中寻找资源来修复它。显然,这不再起作用了。

如果我从终端手动启动 Emacs,则变量会正确设置。奇怪的是,如果我将面板启动器更改为在终端中执行 Emacs,则不会设置这些变量(我认为这会在启动 Emacs 之前启动 Bash)。

如何确保为 Emacs 会话设置了常规 Bash 环境?

答案1

在 中设置环境变量~/.profile(如果使用 则~/.profile从中设置源)。这样它们将在任何地方可用,因为它们将在您登录时设置。~/.xsession.xsession

~/.bash_env不是环境变量的正确位置(尽管名字是这样的)。(尽管它存在(是的$BASH_ENV,对吧?)但我还没有找到它的好用处。)

当您在终端中运行 Emacs 时,它是终端仿真器的一个子进程。两者之间没有必要使用 shell。

答案2

/usr/bin/zsh -c emacs对我有用。

答案3

只需将 bash 添加到启动器命令中,例如bash codecodecode emacs %stuff(也就是说,只需在行首添加 bash)它就可以工作。

相关内容