Como posso usar o LightDM para sessões definidas pelo usuário?

21

Se eu entendi corretamente, o LightDM substituiu o GDM por padrão. Eu me pergunto se é possível fazer com que ele execute as coisas que eu coloquei no meu arquivo .xinitrc ... o que eu preciso é uma opção abaixo de "Unity" e "Unity 2D" que diz "Execute uma sessão definida pelo usuário". >

Isso é possível? Deve ser a coisa mais fácil, mas eu não consegui uma pista até agora. Eu exporto, defino e executo muitas coisas nesse arquivo, então é muito importante que eu tenha controle sobre isso.

O que eu NÃO quero é uma sessão personalizada em / usr / some / where, eu só quero que ele execute o material de cada usuário xinitrc (ou similar).

    
por Philipp 08.11.2011 / 18:42

3 respostas

19

Crie um novo arquivo /usr/share/xsessions/custom.desktop com:

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

Agora você deve ter uma nova opção de sessão durante o login, o Xsession carregará o usuário ~/.xinitrc .

    
por João Pinto 08.11.2011 / 19:00
1

Para usar o olvwm:

1) Digite sudo apt-get install olvwm em um console

2) Crie esta sessão:

/usr/share/xsessions/olvwm.desktop
[Desktop Entry]
Name=Open Look
Exec=olvwm
Type=Application
    
por Malix 23.11.2012 / 20:30
0

Crie um novo arquivo /user/share/xsessions/default.desktop (O nome é sua, mas tem que ter% sufixo.desktop):

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

Agora, quando você selecionar esta sessão em lightdm e efetuar login, o arquivo ~/.xsession , se existir, será executado.

Observe que o arquivo do usuário executado é ~/.xsession e não ~/.xinitrc , mencionado na pergunta. ( ~/.xinitrc é usado quando a sessão X é iniciada usando o script startx de uma linha de comando.)

Algumas explicações: A entrada Name é o que lightdm exibiria para esta sessão. A entrada Exec é o importante e deve ser o nome do programa que inicia a sessão real. Quando você faz login, lightdm chama o script /etc/X11/Xsession , passando o valor de Exec como argumento, e Xsession , eventualmente, executará este programa (por exemplo, pode ser startxfce4 para iniciar uma sessão xfce4 ). Se a entrada Exec for a string especial default , então Xsession executará o arquivo ~/.xsession do usuário. ( Xsession também executaria ~/.xsession se for chamado sem argumentos.)

Desculpe, sou novo aqui e, portanto, não posso comentar sobre as respostas de outras pessoas, mas gostaria de comentar sobre a resposta aceita, para tornar as coisas mais claras. De acordo com minha explicação acima, o que acontecerá com o método dessa resposta é que Xsession seria chamado por lightdm com um argumento que é (o caminho completo de) Xsession . Então, Xession será executado e, em seguida, chamará a si mesmo, desta vez sem argumentos. O segundo Xsession , sendo chamado sem argumentos, executará o usuário ~/.xsession . Assim, a ação desejada será, eventualmente, tomada, mas de uma maneira um pouco estranha.

    
por amitr 05.12.2016 / 21:22

Tags