/ etc / X11 / Xsession和LightDM


8

我正在运行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源(~/.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的时候才起作用。

预先感谢您的任何答案。


顺便说一句,我还有另一个问题。Ubuntu的人建议在/ usr / share / xsessions中使用Exec = / etc / X11 / Xsession行创建一个自定义* .desktop文件,以便在〜/ .xsession中设置自定义设置。这意味着,在/ usr / sbin / lightdm-session之后运行另一个包装器,在这种情况下为/ etc / X11 / Xsession;这将导致/etc/X11/Xsession.d/下的所有内容都被应用两次。因此,在/etc/X11/Xsession.d/中创建脚本以获取〜/ .xsession会更好吗?任何帮助表示赞赏。
Giuseppe Di Chiacchio

为了通过/ usr / sbin / lightdm-session使用〜/ .xsession,对我在/etc/X11/Xsession.d中创建一个新脚本(将其命名为45x11-common_xsession)很有用。由于所有变量都在包装器中定义良好,因此我只添加了以下几行:if [-r“ $ USERXSESSION”]; 然后 。“ $ USERXSESSION” fi通过这种方式,包装器在获取〜/ .xsessionrc之后也将获取〜/ .xsession文件。希望这可能有用。
Giuseppe Di Chiacchio 2015年

如果您可以回答部分问题,请自己创建一个答案,这很正常。这些评论只是暂时的ang会迷路。
Volker Siegel

Answers:


0

这个错误

错误#1001035“ lightdm使用硬编码路径来指向.xsession-errors,...”:错误:lightdm软件包:Ubuntu

指出LightDM$HOME/.xsession-errors在其源代码中具有用于硬编码的路径。那真的应该是可配置的。

可悲的是,“现代”显示经理似乎经常不再关心它,/etc/X11而是重新发明轮子……非常糟糕。
可能是因为很难找出事物为什么如此。(我尝试过。我仍然不知道为什么会有这么多文件/脚本以及它们的全部用途。)

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


附录

第二个问题应该真正分开。
由于我仍然不了解所有相关信息,因此我无能为力。
但是我想我可以说您可能不应该创建另一个自定义会话文件。
也许LightDM文档可以帮助您……

关于第三个问题:手册页xinit及其关联的手册页(来自同一软件包)对此进行了说明。这里有一个替代方案的列表,一些在中$HOME,有些在中/etc,有些甚至在/usr/share/…子目录中。但我认为,如果没有,则也假定存在一些默认值。
抱歉,这可能也应该分开。我只会发布我所知道的信息。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.