设置桌面启动器的路径环境变量

设置桌面启动器的路径环境变量

$PATH~/.bashrcwith中设置了一个自定义PATH=$HOME/.bin:$PATH。当我启动geany从终端它可以找到位于 中的我的自定义构建工具$HOME/.bin。当我使用 XFCE 启动器启动 Geany 时,它不会选择自定义路径,并且我的自定义构建工具无法工作。是否可以设置自定义路径以便启动器能够选择它?我不想创建自定义.desktop文件。

尽管是否有一个所有 shell 都能读取的“.bashrc”等效文件?如果我知道当我使用快捷方式启动程序时使用什么 shell 以及如何启动该 shell,将会提供答案。据推测,它不是交互式 bash shell,否则.bashrc将被获取。

答案1

每个 shell 都有不同的获取环境变量的方法(例如,是否有一个所有 shell 都能读取的“.bashrc”等效文件?)。对于通过显示管理器底层的 shell 启动的图形程序,根据显示管理器的启动方式,环境变量设置在不同的位置(例如,.xsession.xinitrc)。

对于具有 PAM 的系统,似乎pam_env在登录时始终“来源”。

我能够通过创建来解决我的问题.pam_environment

PATH DEFAULT=/home/strongbad/.bin

我必须在我的主目录中进行硬编码,尽管手册页说:

DEFAULT=${HOME}/bin:

应该管用。

我还必须/etc/profile修改

PATH="/usr/local/sbin:/usr/local/bin:/usr/bin"

PATH="$PATH:/usr/local/sbin:/usr/local/bin:/usr/bin"

因为/etc/profile只是覆盖了设置的值.pam_environment

为了刷新,.pam_environment您需要注销/登录。如果你搞砸了$PATH,登录就会变得困难。值得在其他地方(例如,TTY)保持您自己的登录状态,以便您可以轻松地修复问题。

答案2

我只是将新路径导出直接附加到启动器。例如将启动器中的命令更改为

export "PATH=$HOME/.bin:$PATH" ; geany %F

您应该能够直接在“/usr/share/applications/geany.desktop”中编辑 Geany 的启动器文件,这将对应用程序启动器产生更广泛的系统影响。

如果您希望系统上的所有用户在其路径变量上都有本地“$HOME/.bin”,那么您可以将其添加到“/etc/environment”文件中。请记住,这将影响系统上的所有用户,您需要在所有用户文件夹中创建此目录以避免这些用户出现错误。包括“/root[/.bin]”。

相关内容