我正在寻找一种为Linux上的图形登录设置任意环境变量的方法。我不是在谈论启动终端并在终端内导出环境变量,因为这些变量仅存在于该终端内。我想知道如何设置一个环境变量,该变量将应用于在图形会话中启动的所有程序。
换句话说,Xorg等于~/.bash_login
什么?
我正在寻找一种为Linux上的图形登录设置任意环境变量的方法。我不是在谈论启动终端并在终端内导出环境变量,因为这些变量仅存在于该终端内。我想知道如何设置一个环境变量,该变量将应用于在图形会话中启动的所有程序。
换句话说,Xorg等于~/.bash_login
什么?
Answers:
您可以始终将它们放在中.profile
,因此它们应申请任何登录。
但是,如果.bash_login
存在a,则会出现问题:在这种情况下,bash无法读取.profile
。
如果您希望您的变量来自.profile
于bash和其他登录名,请不要使用.bash_login
!放入bash特定变量.bashrc
。
或可替换地,包括.profile
来自.bash_login
~/.kde/env/
并以结尾.sh
。请参见startkde
联机帮助页。
~/.gnomerc
,如/etc/X11/Xsession.d/55gnome-session_gnomerc
.KDE 所示,无论登录外壳是哪个外壳,KDE都会读取配置文件脚本。如果SHELL=bash
,则读取~/.profile
。如果SHELL=zsh
,则读取~/.zprofile
。我不知道它对其他外壳有什么作用。
我.profile
所做的不只是设置环境变量,因此我将环境设置任务拆分为仅设置环境的.setenv
文件。为了在Debian上为X11设置环境,我在家里添加了一个:.xsessionrc
. ~/.setenv
导致.xsessionrc
来源的文件是/etc/X11/Xsession.d/40x11-common_xsessionrc
。
使用bash用来设置其环境的文件并不能满足我的要求。当然,如果我在X11中启动bash shell,那么我将获得所需的环境。但是,我需要设置PATH,以便我的桌面环境可以运行所需的软件。例如,我经常使用安装在常规路径之外的自定义版本的Firefox。我希望我的桌面环境启动正确的版本,而不是使用默认路径中可以找到的任何版本。为此,必须在启动桌面环境之前设置PATH。
.profile
工作。