¿Cómo puedo usar LightDM para sesiones definidas por el usuario?

Si lo entiendo bien, LightDM ha reemplazado GDM por defecto. Me pregunto si es posible hacer que se ejecute lo que puse en mi archivo .xinitrc … Lo que necesito es una opción debajo de “Unidad” y “Unidad 2D” que dice “Ejecutar una sesión definida por el usuario”.

¿Es eso posible? Debería ser lo más fácil, pero hasta ahora no obtuve una pista. Exporto, defino y ejecuto muchas cosas en este archivo, por lo que es muy importante para mí tener control sobre eso.

Lo que NO quiero es una sesión personalizada en / usr / some / where, solo quiero que ejecute las cosas desde el xinitrc de cada usuario (o similar).

Cree un nuevo archivo /usr/share/xsessions/custom.desktop con:

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

Ahora debería tener una nueva opción de sesión durante el inicio de sesión, Xsession cargará el usuario ~/.xinitrc .

Para usar el olvwm:

1) Escriba sudo apt-get install olvwm en una consola

2) Crea esta sesión:

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

Cree un nuevo archivo /user/share/xsessions/default.desktop (el nombre depende de usted, pero debe tener el sufijo .desktop ):

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

Ahora, cuando seleccione esta sesión en lightdm e inicie sesión, su archivo ~/.xsession , 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. ( ~/.xinitrc se usa cuando la sesión X se inicia utilizando el script startx desde una línea de comando).

Algunas explicaciones: La entrada de Name es lo que lightdm mostraría para esta sesión. La entrada de Exec es lo importante, y debe ser el nombre del progtwig que inicia la sesión real. Cuando lightdm sesión, lightdm llama al lightdm /etc/X11/Xsession , pasándole el valor de Exec como argumento, y Xsession , eventualmente, ejecutará este progtwig (por ejemplo, podría ser startxfce4 para iniciar una sesión xfce4 ). Si la entrada de Exec es la cadena especial por default , entonces Xsession ejecutará el archivo ~/.xsession del usuario. ( Xsession también ejecutaría ~/.xsession si 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 sobre 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 lightdm a lightdm con un argumento que es (la ruta completa de) Xsession . Entonces Xession se ejecutará y luego se llamará a sí misma, esta vez sin argumentos. La segunda Xsession , que se llama sin argumentos, ejecutará la ~/.xsession del usuario. Así que, eventualmente, se tomará la acción deseada, pero de una manera un poco incómoda.