.xsession。.xinitrc,xmonad和lightdm


16

让我用以下内容开头我的问题:我很确定我可以通过修改/usr/share/xsessions/somesessionfile.desktop使其运行/ etc / X11 / Xsession来共同破解一个解决方案,并使其以这种方式工作,但我仍然想清除一些内容。

设置:12.04,全新安装(可能需要3小时)。想要使用xmonad作为我的WM。双头设置。

我的问题:关于X,unity,登录管理器(或它们的任何名称)和窗口管理器,我对哪个程序在做什么完全或完全感到困惑。我使用xmonad作为窗口管理器,我对此非常了解。当我登录甚至更早时,我希望使用运行xrandr(我已经在使用)的脚本正确设置双显示器。我与之交谈的每个人或在网上阅读其问题的每个人都谈论xinitrc,〜/ .xsession或/ etc / X11 / xsession,但是这些文件均未运行。/ usr / share / xsesssions中的文件似乎是唯一正在运行的文件,而且我一生都找不到有关此文件的任何文档。

该系统的一致性在哪里?如果我想正确执行此操作,该怎么办?一些窗口管理器似乎可以做到这一点(KDE和gnome似乎有一些叫做“自动启动”的东西)。我应该让我的窗口管理器处理X,X还是lightdm?我知道在启动过程中可能会放入数十个文件,但我要求使用适当的约定。这样解决方案是什么?

TL; DR; 是否有一种一致的方式可以为在X之上运行的每个窗口管理器自动运行脚本,还是完全取决于我使用的窗口管理器和登录管理器的组合?

Answers:


11

我相信您可能会发现这对您有用。它将通过破折号脚本/ usr / sbin / lightdm-session来获取,该脚本随后将执行窗口管理器的exec。

假定这只是给您的,并且因为它与X相关,我建议将其放入〜/ .xprofile。如果它适用于系统的每个用户,则/ etc / xprofile可能更合适。

创建一个文件〜/ .xprofile并对其进行编辑以包含xrandr命令(类似于以下测试项目):

xrandr-输出LVDS-模式1280x854

您可以在以下内容中找到更多信息:如何进行登录并启动Unity或其他图形用户界面?。它确实涵盖了非统一窗口管理器发生的一些情况。


3

非常感谢“隐藏的内容...”链接,必须阅读!

〜/ .xprofile太早发生,xrandr设置丢失。

一种解决方案是创建一个脚本并在“启动时的应用程序”中执行它。但是,由于nautilus已经启动,它将决定在辅助监视器上显示图标(在xrandr命令之后),因此我在末尾添加了:

killall -1 nautilus
nautilus -n

脏但有效。希望这可以帮助。

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.