Crie um novo arquivo /user/share/xsessions/default.desktop
(o nome é seu, mas deve conter o .desktop
sufixo):
[Desktop Entry]
Name=Default
Comment=This runs user session and logs you into Ubuntu
Exec=default
Icon=
Agora, quando você seleciona esta sessão lightdm
e efetua login, seu ~/.xsession
arquivo, se existir, será executado.
Observe que o arquivo do usuário que é executado é ~/.xsession
, e não ~/.xinitrc
, mencionado na pergunta. ( ~/.xinitrc
é usado quando a sessão X é iniciada usando o startx
script em uma linha de comando.)
Algumas explicações: A Name
entrada é o que lightdm
seria exibido para esta sessão. A Exec
entrada é importante e deve ser o nome do programa que inicia a sessão real. Quando você efetua login, lightdm
chama o /etc/X11/Xsession
script, passando o valor de Exec
como argumento e Xsession
, eventualmente, executará este programa (por exemplo, poderia ser startxfce4
para iniciar uma xfce4
sessão). Se a Exec
entrada for a sequência especial default
, Xsession
o ~/.xsession
arquivo do usuário será executado . ( Xsession
também seria executado ~/.xsession
se for chamado sem argumentos).
Desculpe, sou novo aqui e, portanto, não posso comentar as respostas de outras pessoas, mas gostaria de comentar a resposta aceita, para tornar as coisas mais claras. Conforme minha explicação acima, o que acontecerá com o método dessa resposta é que Xsession
seria chamado lightdm
com um argumento que é (o caminho completo de) Xsession
. Então, Xession
será executado e depois se chamará, desta vez sem argumentos. O segundo Xsession
, sendo chamado sem argumentos, executará o usuário ~/.xsession
. Portanto, a ação desejada será, eventualmente, tomada, mas de uma maneira um pouco estranha.