/etc/X11/Xsession & LightDM

Giu*_*hio 9 xorg display-manager lightdm lxsession 14.10

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

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

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

Xsession 文档~/.xsessionrc~/.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

这个错误

\n\n
\n

Bug #1001035 \xe2\x80\x9clightdm 使用 .xsession-errors 的硬编码路径,...\xe2\x80\x9d : Bug : lightdm 软件包 : Ubuntu

\n
\n\n

声明LightDM$HOME/.xsession-errors在其源代码中具有硬编码路径。这确实应该是可配置的。

\n\n

可悲的是,\xe2\x80\x9cmodern\xe2\x80\x9d 显示管理器似乎常常不再关心/etc/X11太多,并且严重重新发明轮子\xe2\x80\xa6。
\n可能是因为很难找出事情为何如此。(我尝试过。我仍然不知道为什么有这么多文件/脚本以及它们的用途是什么。)

\n\n

例如,SDDM 根本不使用\xe2\x80\x99 .xsession-errors,并且记录到其他一些奇怪的位置(如果有的话)。

\n\n
\n\n

附录

\n\n

第二个问题确实应该分开。
\n由于我仍然不了解这一切,我无法\xe2\x80\x99 提供帮助。
\n但我想我可以说你可能不应该\xe2\x80\x99t 创建另一个自定义会话文件。
\n也许 LightDM 文档可以帮助您\xe2\x80\xa6

\n\n

关于第三个问题:的手册页xinit及其相关手册页(来自同一软件包)解释了这一点。\xe2\x80\x99 是一系列替代品,有些在$HOME,有些在/etc,有些甚至在/usr/share/\xe2\x80\xa6子目录中。但我认为如果没有,也可以假设有一些默认值。
\n抱歉,这可能也应该分开。我只发布我所知道的。

\n