Gnome 3.22默认使用Wayland。Wayland上的Gnome无法读取~/.profile
(或~/.bash_profile
或/etc/profile
)。见https://bugzilla.gnome.org/show_bug.cgi?id=736660。
我的初始化文件设置如下:
.bash_profile
什么也不做,但源.profile
和.bashrc
.profile
只设置环境变量,例如PATH
和LC_MESSAGES
.bashrc
为诸如less
和的应用程序设置一些特定于bash的设置,别名和环境变量grep
。
效果(在Wayland之前)如下:
- 当我以图形方式登录时
.profile
,会读取并设置PATH
和LC_MESSAGES
设置环境变量。当我在终端仿真器中打开bash时,会.bashrc
被读取。 - 当我在虚拟终端下登录时
.bash_profile
,将读取.profile
并依次读取和.bashrc
。 - 当我使用ssh登录时,行为类似于虚拟终端。
在所有情况下.profile
,.bashrc
均已阅读并且设置了我的环境。
因此,现在gnome 3.22使用了Wayland,而Wayland无法读取.profile
。如何设置初始化文件,以便再次获得如上所述的效果?
请注意,我不坚持.profile
读取某些文件(如)。我想要以一种明智的方式来设置我的环境。这意味着我想将bash特定设置保留在bash初始化文件中,并将其他设置保留在其他初始化文件中。另外,我也不想在其他文件上复制设置。
我使用arch linux。欢迎所有发行版本的答案。当提出解决方法时,请同时描述副作用以及优缺点。
更新2017年11月:据我了解GNOME开发者都承认,人们期待他们的登录shell的配置文件(.profile
并.bash_profile
在bash的情况下)在登录后采购。无论是文本登录还是图形登录。因此,我上面概述的用例再次起作用。
gnome开发人员仍然希望远离启动登录shell。看来他们的发展方向是使用systemd环境的:
https://in.waw.pl/~zbyszek/blog/environmentd.html
似乎需要一段时间才能使所有登录方法适应环境。