Come posso usare LightDM per sessioni definite dall'utente?


22

Se non lo sostengo correttamente, LightDM ha sostituito GDM per impostazione predefinita. Mi chiedo se è possibile far funzionare le cose che ho inserito nel mio file .xinitrc ... ciò di cui ho bisogno è un'opzione sotto "Unity" e "Unity 2D" che dice "Esegui una sessione definita dall'utente".

È possibile? Dovrebbe essere la cosa più semplice, ma finora non ho avuto la minima idea. Esporto, definisco ed eseguo molte cose in questo file, quindi è abbastanza importante per me avere il controllo su questo.

Quello che NON voglio è una sessione personalizzata in / usr / some / where, voglio solo che esegua le cose da xinitrc di ogni utente (o simili).

Risposte:


21

Crea un nuovo file /usr/share/xsessions/custom.desktopcon:

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

Ora dovresti avere una nuova opzione di sessione durante l'accesso, Xsession caricherà l'utente ~/.xinitrc.


2
Ubuntu considera solo ~ / .xsession o forse ~ / .xsessionrc e ~ / .Xsession ora (12.04)
guigouz,

È necessario riavviare X, o semplicemente disconnettersi, affinché questo abbia effetto?
Tshepang,

1

Per usare olvwm:

1) Digitare sudo apt-get install olvwmuna console

2) Crea questa sessione:

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

1

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.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.