.xsession. .xinitrc, xmonad e lightdm

16

Lasciami prefigurare la mia domanda con il seguente: Sono abbastanza sicuro di poter mettere insieme una soluzione modificando /usr/share/xsessions/somesessionfile.desktop e farlo girare / etc / X11 / Xsession, e farlo funzionare in questo modo, ma vorrei comunque cancellare un poche cose.

Installazione: 12.04, installazione completamente nuova (3 ore, forse). Vuoi usare xmonad come mio WM. Configurazione dual-head.

La mia domanda: Sono completamente, o piuttosto completamente, confuso su quale programma stia facendo ciò che riguarda X, unity, login manager (o come sono chiamati) e window manager. Sto usando xmonad come il mio window manager, lo so molto. E quando accedo, o forse anche prima, voglio che il mio doppio monitor sia impostato correttamente usando uno script che esegue xrandr (che ho già funzionante). Tutti quelli con cui parlo o le cui domande ho letto online parlano di xinitrc, ~ / .xsession o / etc / X11 / xsession, ma nessuno di questi file viene eseguito. I file in / usr / share / xsesssions sembrano essere gli unici file che vengono eseguiti, e non riesco a trovare documentazione per me.

Dov'è la coerenza in questo sistema? Cosa, esattamente, dovrei fare se voglio farlo correttamente? Alcuni gestori di finestre sembrano farlo (KDE e Gnome sembrano avere qualcosa chiamato solo "avvio automatico"). Dovrei lasciare che il mio window manager gestisca questo, X o lightdm? Capisco che probabilmente ci sono dozzine di file nel processo di avvio che potrei inserire, ma sto chiedendo la giusta convenzione. Che cos'è la soluzione , per qualcosa di simile?

TL; DR; Esiste un modo coerente per eseguire automaticamente uno script per ogni gestore di finestre che viene eseguito su X, oppure dipende interamente dalla combinazione di gestori di finestre e gestori di accesso che sto utilizzando?

    
posta foobarbaz 01.10.2012 - 23:07

2 risposte

11

Credo che potresti trovare che questo funzionerà per te. Sarà estratto da dash script / usr / sbin / lightdm-session che eseguirà in seguito l'exec per il window manager.

Supponendo che questo sia solo per te, e poiché è legato a X, ti suggerisco di inserirlo in ~ / .xprofile. Se si applica 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 prova):

xrandr --output LVDS --mode 1280x854

Puoi trovare ulteriori informazioni su Cosa succede sotto le copertine per collegarmi e avviare Unity o un'altra interfaccia utente grafica? . Copre un po 'di ciò che accade per i gestori di finestre non di unità.

    
risposta data John S Gruber 08.10.2012 - 01:34
3

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

~ / .xprofile si verifica troppo presto, le impostazioni xrandr sono perse.

Una soluzione è creare uno script ed eseguirlo nelle "applicazioni all'avvio". Tuttavia, poiché nautilus è già stato lanciato 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 questo aiuti.

    
risposta data jissouille 20.10.2012 - 19:47

Leggi altre domande sui tag