Qual è lo scopo del .xsession
file nella cartella principale? Cosa dovrebbe essere messo lì? Gli ambienti desktop non usano quel file e per l'avvio X dal tty c'è .xinitrc
.
Qual è lo scopo del .xsession
file nella cartella principale? Cosa dovrebbe essere messo lì? Gli ambienti desktop non usano quel file e per l'avvio X dal tty c'è .xinitrc
.
Risposte:
Se accedi in modalità testo, avvia una sessione della GUI con xinit o con lo script wrapper startx
, quindi xinit
effettua le seguenti operazioni:
/etc/X11/xinit/xserverrc
)./etc/X11
(in genere /etc/X11/xinit/xinitrc
), a seconda di come è impostato.~/.xinitrc
, se esiste. Se non esiste, eseguire un client predefinito (tradizionalmente xterm
).~/.xinitrc
terminato, uccidi il server X.Se si accede in modalità grafica su un display manager X (xdm, gdm, kdm, WDM, lightdm, ...), per tradizione, ciò che viene eseguito dopo l'accesso è alcuni script in /etc/X11
poi ~/.xsession
.
~/.xsession
ha il ruolo di ~/.profile
e ~/.xinitrc
combinato: dovrebbe eseguire l'avvio iniziale della sessione (ad es. definire le variabili di ambiente), quindi avviare programmi specifici della GUI (di solito almeno il gestore delle finestre).
Al giorno d'oggi, la maggior parte dei display manager di X ti offre la possibilità di scegliere una sessione. Scegliendo una sessione particolare è stato avviato un ambiente desktop specifico, un gestore sessioni, un gestore finestre. Ciò che viene eseguito quindi è solo quel DE / SM / WM e tutti i programmi che sceglie di avviare in base ai file di configurazione che sceglie di leggere. Molti ambienti forniscono una "sessione personalizzata" che legge il tradizionale ~/.xsession
.
.xsession
file viene letto solo se si seleziona un tipo di sessione particolare. So che per Gdm, gli sviluppatori upstream non vogliono includerne uno che viene eseguito .xsession
di default e lasciarlo a ciascuna distribuzione, e molte distribuzioni non danno fastidio o non si rendono conto della necessità. Non so quale sia la situazione di kdm.
/etc/kde4/kdm/Xsession
da eseguire come utente subito dopo il login. Sono bugie: il file (che è presente tra l'altro) non è mai stato toccato da kdm, l'ho persino rimosso e non ha cambiato nulla.
.xsession
, come hai descritto. Ma se invece di "KDE" scegli "Sessione personalizzata" .xsession
verrà eseguito invece di KDE. Lo uso, ad esempio, perché xfce4-panel
eseguo just e FVWM 2 come "desktop"; se KDE fosse installato su un sistema che mi è capitato di usare, sarebbe completamente ignorato.
L'avvio della sessione X può essere complicato in questi giorni. Un buon punto di partenza è lo script /etc/X11/Xsession
per vedere come verranno eseguite le cose.
Sui miei sistemi Debian / Ubuntu, lo script /etc/X11/Xsession
imposta la variabile USERXSESSION=$HOME/.xsession
. Successivamente, lo script /etc/X11/Xsession.d/50x11-common_determine-startup
cerca questo script e lo utilizza come sessione principale, se consentito dalla politica di sistema in /etc/X11/Xsession.options
e se non è stata richiesta alcuna altra sessione dal display manager.
Ti consiglio vivamente di dare un'occhiata al libro Guida dell'amministratore del sistema X Window: per X versione 11 . Il capitolo 2 spiega lo scopo .xsession
e l'intero processo di configurazione per una configurazione di esempio. Inoltre è un piacevole aggiornamento per l'intera terminologia relativa a x-window (e spero che non ti spaventi :)). Puoi ottenere il libro da
Sebbene sia piuttosto obsoleto, puoi trovare molte informazioni sui concetti sottostanti che non sono cambiati fino ad oggi ed è molto leggibile. Inoltre è davvero divertente dare un'occhiata a ciò che è stato il massimo in quei giorni.
.xsession è lo script di avvio tradizionale per l'ambiente X11. Oggi con sessionmanager come kdm non è più molto utile, ma su un sistema tradizionalmente installato. Questo è ciò che viene eseguito dopo l'avvio di X11 con startx.