Mac*_*tka 18 gnome gentoo desktop-environment gdm environment-variables
我正在使用 zsh 和 gdm 来运行 gnome。前段时间我发现变量设置不正确。例如 LANG/LC_ALL 是不正确的(""而不是en_GB.UTF-8)。
我把.zshrc分成.zshrc和.profile。在后者中,我设置了环境变量,但是如何在会话开始之前设置变量?我尝试了一些选择(.xinitrc, .xsessionrc),但似乎都不起作用。
编辑为了澄清-我曾经.profile和手动在采购它.zshrc。无论如何它不会改变问题。
Gil*_*il' 29
简单的方法是发明一台时间机器,拜访设计 shell 启动文件的各种人,并告诉他们清楚地区分三件事:
startx;以可移植的方式正确获取 session 与 shell 并不太难:登录时初始化进入.profile(or .zprofile, or .login),shell 初始化进入.bashrcor .zshrc。我以前写过关于.bash_profile, zsh 与其他 shell 的比较,更多关于可移植性(主要是关于 bash),更多关于谁阅读.profile.
剩下的问题是区分会话设置和会话启动。在大多数情况下,~/.profile在您登录时执行并且可以兼作两者,但也有例外:
~/.login并且~/.zprofile是来源而不是~/.profile. 同上,用于bash和~/.bash_profile,但是这很容易被采购解决~/.profile从~/.bash_profile。~/.profile被读取取决于程序的版本、您的发行版(Linux 或其他)以及您选择的会话类型。
.profile必须设置环境变量但不能启动会话(例如窗口管理器)。~/.xsession,执行会话设置和会话启动。所以文件本质上可以是. ~/.xsession; . ~/.xinitrc. ~/.profile之前的一些发行版来源~/.xsession。现代发行版仅~/.xsession在您从显示管理器中选择“自定义”会话时才提供源,并且此类会话并不总是可用。综上所述,~/.profile是环境变量的正确位置。如果未读取,请尝试从中获取它~/.xsession(并从那里启动您的 X 程序),或查找特定于系统的方法(这可能取决于您的发行版、显示管理器(如果有)、会话类型(如果显示管理器)以及桌面环境或会话管理器)。
| 归档时间: |
|
| 查看次数: |
8890 次 |
| 最近记录: |