.xsession
主文件夹中的文件的用途是什么?里面应该放什么?桌面环境不使用该文件,对于从 tty 启动的 X,有.xinitrc
.
答案1
如果您以文本模式登录,则使用以下命令启动 GUI 会话xinit或使用包装脚本startx
,然后xinit
执行以下操作:
- 启动 X 服务器(通常通过脚本
/etc/X11/xinit/xserverrc
)。 /etc/X11
通常在(通常)中运行一些脚本/etc/X11/xinit/xinitrc
,具体取决于它的设置方式。- 运行
~/.xinitrc
,如果存在的话。如果不存在,则运行默认客户端(传统上xterm
)。 - 终止后
~/.xinitrc
,终止 X 服务器。
如果您在图形模式下登录X 显示管理器(xdm,gdm,kdm,wdm,lightdm,...),传统上,登录后执行的是/etc/X11
then中的一些脚本~/.xsession
。
~/.xsession
~/.profile
具有和组合的作用~/.xinitrc
:它应该执行会话的初始启动(例如定义环境变量),然后启动特定于 GUI 的程序(通常至少是窗口管理器)。
如今,大多数 X 显示管理器都让您可以选择会话。选择特定的会话启动特定的桌面环境、会话管理器、窗口管理器。然后执行的只是 DE/SM/WM 以及它根据它选择读取的任何配置文件选择启动的任何程序。许多环境提供了读取传统~/.xsession
.
答案2
如今,X 会话启动可能很复杂。一个好的起点是/etc/X11/Xsession
查看脚本如何执行。
在我的 Debian/Ubuntu 系统上,脚本/etc/X11/Xsession
设置变量USERXSESSION=$HOME/.xsession
.稍后,如果 中的系统策略允许,并且显示管理器没有请求其他会话,则该脚本/etc/X11/Xsession.d/50x11-common_determine-startup
会查找此脚本并将其用作主会话。/etc/X11/Xsession.options
答案3
我强烈推荐你看看书X Window 系统管理员指南:适用于 X 版本 11。第 2 章解释了.xsession
示例设置的目的和整个配置过程。另外,它也是对整个 x-window 相关术语的一次很好的复习(我希望您不会被吓到:))。您可以从以下位置获取这本书
虽然它相当过时,但您可以找到很多直到今天才改变的基本概念的信息,而且非常清晰。而且看看当时最顶尖的东西真的很有趣。
答案4
.xsession 是 X11 环境的传统启动脚本。如今,像 kdm 这样的会话管理器已经不再那么有用了,但在传统设置的系统上。这是使用 startx 启动 X11 后运行的内容。