从终端与 GUI 打开时软件 (SciTe) 的运行方式不同

从终端与 GUI 打开时软件 (SciTe) 的运行方式不同

当我从终端打开 SciTe 时,一切正常。当我通过 Ubuntu 10.04 GUI 下拉框打开它时,每次尝试运行 ruby​​ 程序时都会收到此错误:sh: ruby: not found此时我很满意知道我可以从终端打开它,但我很好奇为什么会这样差异可能正在发生。

答案1

如果您在 shell 启动脚本中设置了一些自定义 PATH,那么您的 shell 中也会有它,但 GUI 环境不会获取它们,也不会具有您的自定义 PATH。从 GUI 生成的任何应用程序都将从它继承 PATH,而它不会有您的自定义 PATH。

我使用 xfce,并通过使用自定义 xinitrc 来解决这个问题,该 xinitrc 确实提供了我的 shell 初始化脚本,因此我的 GUI 环境与我的 shell 相同。

答案2

当您更改配置文件时,您做错了什么。具体来说,您PATH可能是在 shell 初始化文件中进行设置~/.bashrc,而您应该在会话初始化文件中进行设置,可能是~/.profile。环境变量定义属于~/.profile. shell 配置(别名、shell 选项等)属于~/.bashrc(或~/.zshrc等)。

也可以看看:
.bashrc 和 .bash_profile 之间的区别
应该使用哪些设置文件来使用 bash 设置环境变量?

相关内容