.xsession. .xinitrc, xmonad i lightdm

16

Pozwolę sobie przedłożyć moje pytanie następującymi słowami: Jestem prawie pewien, że mogę wspólnie zhakować rozwiązanie, modyfikując /usr/share/xsessions/somesessionfile.desktop i uruchomić go / etc / X11 / Xsession i spraw, aby działał w ten sposób , ale nadal chciałbym wyjaśnić kilka rzeczy.

Instalacja: 12.04, całkowicie nowa instalacja (może 3 godziny). Chcesz użyć xmonada jako mojej WM. Konfiguracja podwójnej głowicy.

Moje pytanie: jestem całkowicie lub raczej całkowicie zdezorientowany, który program robi to, co dotyczy X, jedności, menedżerów logowania (lub jakkolwiek się nazywają) i menedżerów okien. Używam xmonada jako menedżera okien, tyle wiem. A kiedy się loguję, a może nawet wcześniej, chcę, aby moje podwójne monitory były poprawnie skonfigurowane za pomocą skryptu, który uruchamia xrandr (który już działam). Wszyscy, z którymi rozmawiam lub których pytania czytam online, mówią o xinitrc, ~ / .xsession lub / etc / X11 / xsession, ale żaden z tych plików nie jest uruchamiany. Pliki w / usr / share / xsesssions wydają się być jedynymi uruchamianymi plikami i przez całe życie nie mogę znaleźć żadnej dokumentacji na ten temat.

Gdzie jest spójność w tym systemie? Co dokładnie mam zrobić, jeśli chcę to zrobić poprawnie? Wygląda na to, że niektórzy menedżerowie okien to robią (KDE i gnome mają coś, co po prostu nazywa się „autostart”). Czy powinienem pozwolić mojemu menedżerowi okien zająć się tym, X czy lightdm? Rozumiem, że w procesie uruchamiania prawdopodobnie jest kilkadziesiąt plików, w których mógłbym to umieścić, ale proszę o odpowiednią konwencję. Co jest rozwiązanie, na coś takiego?

TL; DR; Czy istnieje jeden spójny sposób automatycznego uruchamiania skryptu dla każdego menedżera okien działającego na X, czy też zależy to całkowicie od kombinacji menedżerów okien i menedżerów logowania, których używam?

foobarbaz
źródło

Odpowiedzi:

11

Wierzę, że może ci się to przydać. Będzie on pozyskiwany przez skrypt dash / usr / sbin / lightdm-session, który później wykona exec dla menedżera okien.

Zakładając, że jest to tylko dla ciebie, a ponieważ jest on związany z X, sugerowałbym umieszczenie go w ~ / .xprofile. Jeśli będzie to dotyczyć każdego użytkownika systemu, bardziej odpowiednie może być / etc / xprofile.

Utwórz plik ~ / .xprofile i edytuj go, aby zawierał coś polecenia xrandr (podobnie do następującego elementu testowego):

xrandr --output LVDS - tryb 1280x854

Więcej informacji można znaleźć na stronie Co dzieje się pod okładkami, aby mnie zalogować i uruchomić Unity lub inny graficzny interfejs użytkownika? . Obejmuje to, co dzieje się w przypadku menedżerów okien innych niż jedność.

John S Gruber
źródło
3

Wielkie dzięki za link „Co się dzieje pod przykrywką ...”, należy przeczytać!

~ / .xprofile dzieje się zbyt wcześnie, ustawienia xrandr zostają utracone.

Jednym z rozwiązań jest utworzenie skryptu i wykonanie go w „aplikacjach przy uruchomieniu”. Ponieważ jednak nautilus jest już uruchomiony i zdecyduje się wyświetlić ikony na monitorze dodatkowym (po poleceniu xrandr), dodałem na końcu:

killall -1 nautilus
nautilus -n

Brudne, ale działa. Mam nadzieję że to pomoże.

jissouille
źródło