Answers:
使用以下命令创建一个新文件/usr/share/xsessions/custom.desktop
:
[Desktop Entry]
Name=Xsession
Exec=/etc/X11/Xsession
现在,您应该在登录期间拥有一个新的会话选项,Xsession将加载用户的~/.xinitrc
。
创建一个新文件/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
条目是特殊字符串default
,Xsession
则将执行用户的~/.xsession
文件。(如果调用不带参数,Xsession
也将执行~/.xsession
。)
抱歉,我是新来的,因此无法评论其他人的答案,但我想对已接受的答案发表评论,以使事情更加清楚。根据我上面的解释,该答案的方法将发生的情况是使用参数(的完整路径)Xsession
进行调用。因此将运行,然后调用自身,这次不带任何参数。第二个不带参数的调用将执行用户的。因此,最终将采取所需的措施,但会有些尴尬。lightdm
Xsession
Xession
Xsession
~/.xsession