Crea un nuovo file /user/share/xsessions/default.desktop(il nome dipende da te, ma deve avere il .desktopsuffisso):
[Desktop Entry]
Name=Default
Comment=This runs user session and logs you into Ubuntu
Exec=default
Icon=
Ora quando selezioni questa sessione lightdme accedi, il tuo ~/.xsessionfile, se esiste, verrà eseguito.
Si noti che il file dell'utente che viene eseguito è ~/.xsessione non ~/.xinitrc, che è stato menzionato nella domanda. ( ~/.xinitrcviene utilizzato all'avvio della sessione X utilizzando lo startxscript da una riga di comando.)
Alcune spiegazioni: la Namevoce è ciò che lightdmverrà visualizzato per questa sessione. La Execvoce è la cosa importante e dovrebbe essere il nome del programma che avvia la sessione effettiva. Quando accedi, lightdmchiama lo /etc/X11/Xsessionscript, passandogli il valore di Execcome argomento e Xsession, eventualmente, eseguirà questo programma (ad esempio, potrebbe essere startxfce4per l'avvio di una xfce4sessione). Se la Execvoce è la stringa speciale default, Xsessioneseguirà il ~/.xsessionfile dell'utente . ( Xsessioneseguirà anche ~/.xsessionse viene chiamato senza aruments.)
Siamo spiacenti, sono nuovo qui e quindi non posso commentare le risposte degli altri, ma vorrei commentare la risposta accettata, per chiarire le cose. Secondo la mia spiegazione sopra, ciò che accadrà con il metodo di quella risposta è che Xsessionsarebbe chiamato da lightdmun argomento che è (il percorso completo di) Xsession. Quindi Xessionverrà eseguito e quindi chiamerà se stesso, questa volta senza argomenti. Il secondo Xsession, chiamato senza argomenti, eseguirà l'utente ~/.xsession. Quindi l'azione desiderata verrà, alla fine, presa, ma in modo un po 'imbarazzante.