.xsession. .xinitrc, xmonad e lightdm


16

Permettetemi di prefigurare la mia domanda con quanto segue: Sono abbastanza sicuro di poter hackerare una soluzione modificando /usr/share/xsessions/somesessionfile.desktop e farlo funzionare / etc / X11 / Xsession, e farlo funzionare in quel modo , ma vorrei ancora chiarire alcune cose.

Installazione: 12.04, installazione completamente nuova (3 ore, forse). Vuoi usare xmonad come WM. Configurazione a doppia testa.

La mia domanda: sono completamente, o piuttosto del tutto, confuso su quale programma sta facendo cosa, per quanto riguarda X, unità, login manager (o come si chiamano) e window manager. Sto usando xmonad come gestore delle finestre, lo so molto. E quando eseguo l'accesso, o forse anche prima, voglio che i miei due monitor siano configurati correttamente usando uno script che esegua xrandr (che ho già funzionante). Tutti quelli con cui parlo o le cui domande che leggo online parlano di xinitrc, ~ / .xsession o / etc / X11 / xsession, ma nessuno di questi file è in esecuzione. I file in / usr / share / xsesssions sembrano essere i soli file che vengono eseguiti e non riesco a trovare per me alcuna documentazione a riguardo.

Dov'è la coerenza in questo sistema? Cosa, esattamente, dovrei fare se voglio farlo correttamente? Alcuni gestori di finestre sembrano fare questo (KDE e gnome sembrano avere qualcosa chiamato semplicemente "avvio automatico"). Devo lasciare che il mio gestore di finestre gestisca questo, X o lightdm? Capisco che probabilmente ci sono dozzine di file nel processo di avvio che potrei eventualmente inserire, ma sto chiedendo la convenzione appropriata. Qual è la soluzione, per qualcosa del genere?

TL; DR; Esiste un modo coerente per me di eseguire automaticamente uno script per ogni gestore di finestre che gira su X o dipende interamente dalla combinazione di gestori di finestre e gestori di accesso che sto usando?

Risposte:


11

Credo che potresti scoprire che questo funzionerà per te. Verrà fornito da dash script / usr / sbin / lightdm-session che eseguirà in seguito exec per il gestore delle finestre.

Supponendo che questo sia solo per te, e poiché è legato a X, suggerirei di inserirlo in ~ / .xprofile. Se si applicherà a tutti gli utenti del sistema, / etc / xprofile potrebbe essere più appropriato.

Crea un file ~ / .xprofile e modificalo per contenere qualcosa del tuo comando xrandr (simile al seguente elemento di test):

xrandr --output LVDS - modalità 1280x854

Puoi trovare ulteriori informazioni in Cosa succede sotto le copertine per accedere e avviare Unity o un'altra interfaccia utente grafica? . Copre parte di ciò che accade per i gestori di finestre non unitarie.


3

Mille grazie per il link "Cosa succede sotto la copertina ...", assolutamente da leggere!

~ / .xprofile accade troppo presto, le impostazioni di xrandr vanno perse.

Una soluzione è creare uno script ed eseguirlo nelle "applicazioni all'avvio". Tuttavia, poiché nautilus è già stato avviato e deciderà di visualizzare le icone sul monitor secondario (dopo il comando xrandr), ho aggiunto alla fine:

killall -1 nautilus
nautilus -n

Sporco ma funziona. Spero che sia di aiuto.

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.