xprofile 对比 xsession 对比 xinitrc

xprofile vs xsession vs xinitrc

我正在使用 Debian + i3 + lightdm。我想在我的用户登录后启动的应用程序 - 我将它们放在用户 systemd 单元或 .config/i3/config exec 部分中。 Systemd 通常需要进行一些修改才能为 GUI 设置 DISPLAY 和 XAuthority。即使这样,其中一些也不起作用。

我听说过上面的配置文件,但是不知道具体执行的是哪一个。 让我们假设给定的顺序:Lightdm(通过 Lightdm-greeter)启动 i3 会话。 我应该在哪里开始申请?

.xinitrc 是 xinit 的 运行(因此也是 startx)。除了配置之外,它还负责启动根 X 程序(通常是 window 管理器,例如 Gnome、KDE、i3 等)。这通常适用于用户手动启动 X(使用 startx 或类似工具)的情况。

.xsession 类似于 .xinitrc,但在用户登录时由显示管理器(例如 lightdm 或 sddm)使用。但是,对于现代 DM,用户通常可以选择 window 管理器来开始,DM 可能会也可能不会 运行 .xsession 文件。

.xprofile 仅用于在使用 X 会话(通常通过显示管理器)登录时设置环境。它类似于您的 .profile 文件,但特定于 x 个会话。