gmrun 停止搜索用户添加的路径

gmrun 停止搜索用户添加的路径

gmrun 开始忽略我定义的 PATH 变量,~/.bashrc没有明显的原因。任何人都知道我如何找到解决这个恼人问题的方法?

编辑

我还没有找到解决方案,但我最终切换到bashrun2,这就是我需要它做的事情。

答案1

gmrun继承$PATH由生成它的父级设置的变量。因此,您可以~/.bashrc通过以下方式启动它来使其成为源:

bash -ci 'gmrun'

这将创建一个“交互式”shell;这有几个差异到非交互式 shell,但与gmrun.只需将上面的命令绑定到您的热键即可。

答案2

我在 ~/.bashrc 中定义的 PATH 变量

你的问题就在那里。.bashrc是交互式 shell 的初始化文件。 Gmrun 不会启动交互式 shell,它会启动您告诉它启动的程序。所以你的路径永远不会被设置。事实上,为了在 gmrun 中完成,您需要在运行 gmrun 的环境中设置 PATH 环境变量。

在正确的位置设置 PATH:~/.profile。当您的会话开始时会读取此文件。这就是您应该定义环境变量的地方。

不要读取.profile.bashrc反之亦然。它们的用途完全不同,并且用于不同的目的。

由于 bash 的一个怪癖,.bashrc它不会在交互式登录 shell 中读取,因此您应该编写一个.bash_profile加载本例中其他两个的代码:

. ~/.profile
case $- in *i*) . ~/.bashrc;; esac

是否有一个所有 shell 都能读取的“.bashrc”等效文件?以及我引用的其他帖子以了解更多详细信息。

答案3

.bashrc是一个初始化文件交互式非登录gmrunbash 实例,我怀疑在不从这样的 shell 实例启动时是否考虑过那里的设置。

如果您的桌面环境设置为考虑任何 bash 初始化文件,则该文件应该是您的.profile.bash_profile一个,并且您需要退出并重新启动桌面环境,然后环境启动的进程中的修改才会生效。

相关内容