我有~/.xinitrc以下内容
xrdb -merge $HOME/.Xdefaults
Run Code Online (Sandbox Code Playgroud)
这xinitrc基本上没用,因为它在用户登录时没有加载,我不认为我做错了什么,因为相同的命令适用于bash,我的问题是:是否xinitrc识别环境变量?
.xinitrc当您显式运行xinit(startx最终调用xinit)启动 X-server 时执行。大多数情况下,这种情况不会发生,因为当前的 Linux 使用桌面管理器,它直接启动 X-Server,然后运行/etc/X11/Xsession <desktopenvironment>,其中是中文件中<desktopenvironment>任意行的值,例如Exec=/usr/share/xsessions
Exec=startxfce4
Run Code Online (Sandbox Code Playgroud)
如果您选择 XFCE 作为会话类型。
至少在基于 Debian 的系统上,脚本/etc/X11/Xsession.d/是按顺序获取的(!)。大多数情况下,所有这些脚本都会设置内容和/或修改STARTUP最终在行中使用的变量
exec $STARTUP
Run Code Online (Sandbox Code Playgroud)
因此从技术上讲,您可以编写一个/usr/share/xsession/xinitrc.desktop文件,让您选择将运行的会话~/.xinitrc。
~/.xinitrc仅当您使用startx(或任何调用xinit)启动 X11 时才会读取。如果您以图形模式登录,显示管理器会选择一个会话来启动。每个会话管理器或桌面环境都有自己的启动脚本(如果有)。
大多数系统会自动从~/.Xresources默认 X11 启动脚本中加载资源。尝试将您的资源文件重命名为~/.Xresources.
| 归档时间: |
|
| 查看次数: |
8543 次 |
| 最近记录: |