Cree un nuevo archivo /user/share/xsessions/default.desktop(el nombre depende de usted, pero tiene que tener .desktopsufijo):
[Desktop Entry]
Name=Default
Comment=This runs user session and logs you into Ubuntu
Exec=default
Icon=
Ahora, cuando seleccione esta sesión lightdme inicie sesión, su ~/.xsessionarchivo, si existe, se ejecutará.
Tenga en cuenta que el archivo del usuario que se ejecuta es ~/.xsession, y no ~/.xinitrc, que se mencionó en la pregunta. ( ~/.xinitrcse utiliza cuando se inicia la sesión X utilizando el startxscript desde una línea de comando).
Algunas explicaciones: la Nameentrada es lo que lightdmse mostrará para esta sesión. La Execentrada es lo importante, y debe ser el nombre del programa que inicia la sesión real. Cuando inicia sesión, lightdmllama al /etc/X11/Xsessionscript, le pasa el valor de Execcomo argumento y Xsession, eventualmente, ejecutará este programa (por ejemplo, podría ser startxfce4para comenzar una xfce4sesión). Si la Execentrada es la cadena especial default, Xsessionejecutará el ~/.xsessionarchivo del usuario . ( Xsessiontambién se ejecutaría ~/.xsessionsi se llama sin argumentos).
Lo siento, soy nuevo aquí y, por lo tanto, no puedo comentar las respuestas de otras personas, pero me gustaría comentar la respuesta aceptada para aclarar las cosas. Según mi explicación anterior, lo que sucederá con el método de esa respuesta es que Xsessionse llamaría lightdmcon un argumento que es (la ruta completa de) Xsession. Entonces Xessionse ejecutará y luego se llamará a sí mismo, esta vez sin argumentos. El segundo Xsession, que se llama sin argumentos, ejecutará el usuario ~/.xsession. Entonces, la acción deseada, eventualmente, se tomará, pero de una manera un poco incómoda.