/etc/X11/Xsession 和 LightDM

/etc/X11/Xsession 和 LightDM

我正在运行 Lubuntu 14.10。似乎 LighDM/etc/X11/Xsession仅在用户指示时才会调用。事实上,包装器中没有它的影子lightdm-session

  • startx命令行(围绕 xinit 的包装器以获得合理的默认值)~/.xinitrc如果存在则使用,否则使用/etc/X11/xinit/xinitrc
  • /etc/X11/xinit/xinitrc/etc/X11/Xsession,将输出重定向至.xsession-errors
  • /etc/X11/Xsession如果sources~/.xsessionrc存在,则~/.xsession如果可执行则执行,如果不存在则执行 sources。

使用 lightdm 时会发生什么?如果它不提供/etc/X11/Xsession,它怎么可能将错误重定向到错误文件~/.xsession-errors(我在中找不到有关其他脚本的任何信息/etc/X11/Xsession.d/)?

~/.xsessionrcXsession 文档和的手册页~/.xsession。它说~/.xsessionrc仅用于设置变量,而~/.xsession用于执行命令,但~/.xsession只有当我为其创建自定义*.desktop文件时才会获取源代码/usr/share/xsessions/。我应该创建一个自定义/etc/X11/Xsession.d/文件(如40x11-common_xsessionrc适用于~/.xsessionrc),还是仅用于~/.xsessionrc添加任何脚本?

另外,我想知道 x-window-manager 和 x-session-manager 如何通过替代方案工作。我注意到,如果没有~/.xinitrc~/.xsession存在,它们似乎可以工作,而且显然它们仅在运行 startx 时才有效。

提前感谢任何答案。

答案1

这个错误

错误 #1001035 “lightdm 使用硬编码路径到 .xsession-errors,...”:错误:lightdm 包:Ubuntu

指出光子发射在其源代码中具有硬编码的路径$HOME/.xsession-errors。并且真的應該是可配置的。

遗憾的是,“现代”显示管理器似乎不再关心/etc/X11太多事情,而是重新发明轮子……很糟糕。
可能是因为很难找出事情为什么会这样。(我试过了。我仍然不知道为什么有这么多文件/脚本以及它们的用途是什么。)

例如,SDDM 根本不使用.xsession-errors,并且如果有的话,会记录到其他奇怪的位置。


附录

第二个问题应该分开。
由于我仍然不完全了解它,所以我无法提供帮助。
但我想我可以说你可能不应该创建另一个自定义会话文件。
也许 LightDM 文档可以帮助你……

关于第三个问题:的手册页xinit及其相关手册页(来自同一个软件包)对此进行了解释。有一个备选列表,一些在 中$HOME,一些在 中/etc,一些甚至在/usr/share/…子目录中。但我认为如果没有,也会假定一些默认值。
抱歉,这可能也应该分开。我只发布我知道的内容。

相关内容