如何在 linux 上为图形登录设置环境变量?

Rya*_*son 17 linux xorg environment-variables

我正在寻找一种方法来为我在 linux 上的图形登录设置任意环境变量。我不是在谈论启动终端并在终端内导出环境变量,因为这些变量仅存在于该终端内。我想知道如何设置一个环境变量,该变量将应用于我的图形会话中启动的所有程序。

换句话说,Xorg 相当于~/.bash_login什么?

Chr*_*her 11

您可以随时将它们放入.profile,因此它们应该申请任何登录。

但是,如果 a.bash_login存在,则会出现问题:在这种情况下,bash 不会读取.profile.

如果您希望您的变量 from.profile既适用于 bash 又适用于其他登录,请不要使用.bash_login! .bashrc改为放入 bash 特定变量。

或者,包括.profile.bash_login

  • 实际上,这似乎有点复杂。这取决于您选择的发行版、桌面环境,甚至是您的登录 shell。对于 Ubuntu 10.04 上的 Gnome,你必须把你的安装脚本放在 `~/.gnomerc` 中,如 `/etc/X11/Xsession.d/55gnome-session_gnomerc` 所示。KDE 读取你登录的 shell 的配置文件脚本贝壳。如果`SHELL=bash`,那么它读作`~/.profile`。如果`SHELL=zsh`,那么它读取`~/.zprofile`。我不知道它对其他 shell 有什么作用。 (2认同)

Lou*_*uis 6

.profile所做的不仅仅是设置环境变量,因此我将环境设置任务拆分到一个设置环境的.setenv文件中。为了让它在 Debian 上设置 X11 的环境,我在我的 home 中添加了:.xsessionrc

. ~/.setenv
Run Code Online (Sandbox Code Playgroud)

.xsessionrc导致获取的文件是/etc/X11/Xsession.d/40x11-common_xsessionrc.

使用 bash 用于设置其环境的文件并没有达到我想要的效果。当然,如果我在 X11 中启动 bash shell,我就会得到我想要的环境。但是,我需要设置 PATH,以便我的桌面环境能够运行我想要的软件。例如,我经常使用自定义版本的 Firefox,安装在常用路径之外。我希望我的桌面环境启动正确的版本,而不是使用它可以在默认路径上找到的任何版本。为此,必须在桌面环境启动之前设置 PATH。