启动器不尊重 TMPDIR

启动器不尊重 TMPDIR

在我的 中.bashrc,我定义了TMPDIR=${HOME}/tmp临时文件位于我的加密 下$HOMEemacs从启动器调用的 看不到此定义,但从emacsclientshell 调用的 却可以看到。

到目前为止,我知道 emacs(在(server-start))打开“/tmp”中的套接字后,“emacsclient”会尝试通过“${HOME}/tmp”中的套接字与“emacs”通信,但效果很差。我如何才能说服启动器(通过 emacsclient.desktop?)传递正确的 TMPDIR 值?

答案1

尝试将变量定义放在.profile而不是 中.bashrc。后者在顶部附近有一个语句,当由非交互式 shell 执行时,会导致它很早就退出。注销并重新登录以查看它是否有效。

也不要忘记添加export如下内容:

export TMPDIR="$HOME/tmp"

如果这不起作用,请修改启动器(位于/usr/share/applications),以便其执行行显示:

Exec=sh -c 'TMPDIR="$HOME/tmp" emacs'

答案2

我想我无法将我的TMPDIR输入传递给该emacs server-start函数,所以我想我必须利用它emacsclient/tmp保存套接字。

在我的.bashrc

export EDITOR="env TMPDIR=/tmp emacsclient"
export VISUAL="env TMPDIR=/tmp emacsclient"

但这似乎不是最佳选择。有什么建议吗?

相关内容