我正在寻找一种为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工作。