如何将LightDM用于用户定义的会话?


22

如果我对它的理解不正确,则默认情况下,LightDM已替换了GDM。我想知道是否有可能使其运行在.xinitrc文件中的内容……我需要的是“ Unity”和“ Unity 2D”下的“运行用户定义的会话”选项。

那可能吗?应该是最简单的事情,但是到目前为止我还没有得到任何线索。我在该文件中导出并定义并运行了很多东西,因此,对此进行控制非常重要。

我不想要的是/ usr / some / where中的自定义会话,我只希望它运行每个用户的xinitrc(或类似文件)中的内容。

Answers:


21

使用以下命令创建一个新文件/usr/share/xsessions/custom.desktop

[Desktop Entry]
Name=Xsession
Exec=/etc/X11/Xsession

现在,您应该在登录期间拥有一个新的会话选项,Xsession将加载用户的~/.xinitrc


2
Ubuntu现在只考虑〜/ .xsession或〜/ .xsessionrc和〜/ .Xsession(12.04)
guigouz 2012年

是否需要重新启动X或仅注销才能生效?
tshepang 2013年

1

要使用olvwm:

1)sudo apt-get install olvwm输入控制台

2)创建此会话:

/usr/share/xsessions/olvwm.desktop
[Desktop Entry]
Name=Open Look
Exec=olvwm
Type=Application

1

创建一个新文件/user/share/xsessions/default.desktop(名称取决于您,但必须带有.desktop后缀):

[Desktop Entry]
Name=Default
Comment=This runs user session and logs you into Ubuntu
Exec=default
Icon=

现在,当您选择此会话lightdm并登录~/.xsession时,将执行您的文件(如果存在)。

请注意,执行的用户文件是~/.xsession,而不是~/.xinitrc问题中提到的。(在从命令行~/.xinitrc使用startx脚本启动X会话时使用。)

一些解释:该Name条目lightdm将在此会话中显示。该Exec条目很重要,它应该是启动实际会话的程序的名称。登录时,lightdm调用/etc/X11/Xsession脚本,将其值Exec作为参数传递给脚本,Xsession最终将执行该程序(例如,可能startxfce4用于启动xfce4会话)。如果Exec条目是特殊字符串defaultXsession则将执行用户的~/.xsession文件。(如果调用不带参数,Xsession也将执行~/.xsession。)

抱歉,我是新来的,因此无法评论其他人的答案,但我想对已接受的答案发表评论,以使事情更加清楚。根据我上面的解释,该答案的方法将发生的情况是使用参数(的完整路径)Xsession进行调用。因此将运行,然后调用自身,这次不带任何参数。第二个不带参数的调用将执行用户的。因此,最终将采取所需的措施,但会有些尴尬。lightdmXsessionXessionXsession~/.xsession

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.