.xsession. .xinitrc, xmonad и lightdm

16

Позвольте мне изложить мой вопрос следующим образом: Я вполне уверен, что могу взломать решение, изменив /usr/share/xsessions/somesessionfile.desktop и запустив его / etc / X11 / Xsession и получив его так, но я все равно хотел бы очистить немного вещей.

Настройка: 12.04, полностью новая установка (возможно, 3 часа). Хотите использовать xmonad как мой WM. Настройка с двумя головками.

Мой вопрос: Я полностью или, скорее, совершенно смущен, о том, какая программа делает то, что касается X, единства, менеджеров входа в систему (или того, что они называются) и оконных менеджеров. Я использую xmonad в качестве моего оконного менеджера, я знаю это много. И когда я вхожу в систему или даже раньше, я хочу, чтобы мои двойные мониторы были настроены правильно, используя скрипт, который запускает xrandr (у меня уже есть работа). Все, с кем я общаюсь, или вопросы, которые я читаю в Интернете, говорят о xinitrc, ~ / .xsession или / etc / X11 / xsession, но ни один из этих файлов не запускается. Файлы в / usr / share / xsesssions кажутся единственными файлами, которые запускаются, и я не могу на всю жизнь найти какую-либо документацию об этом.

Где согласованность в этой системе? Что, собственно, я должен делать, если я хочу сделать это правильно? Некоторые оконные менеджеры, похоже, это делают (у KDE и gnome похоже что-то просто называется «автозапуск»). Должен ли я позволить моему менеджеру окон управлять этим, X или lightdm? Я понимаю, что в процессе запуска, вероятно, есть десятки файлов, которые я мог бы внести в это, но я прошу о правильном соглашении. Что такое решение , что-то вроде этого?

TL; DR; Есть ли один, последовательный способ для запуска сценария автоматически для каждого оконного менеджера, который работает поверх X, или это полностью зависит от сочетания оконных менеджеров и менеджеров входа, которые я использую?     

задан foobarbaz 01.10.2012 в 23:07
источник

2 ответа

11

Я считаю, что вы можете найти, что это сработает для вас. Он будет получен с помощью скрипта dash / usr / sbin / lightdm-session, который позже выполнит exec для диспетчера окон.

Предполагая, что это только для вас, и потому что это связано с X, я бы предложил поместить его в файл ~ / .xprofile. Если это применимо к каждому пользователю системы, возможно, более подходящим является / etc / xprofile.

Создайте файл ~ / .xprofile и отредактируйте его, чтобы он содержал что-то из вашей команды xrandr (аналогично следующему тестовому элементу):

xrandr --output LVDS --mode 1280x854

Дополнительную информацию можно найти на странице Что происходит под обложками для входа в систему и запуска Unity или другого графического интерфейса пользователя? . Он охватывает некоторые из того, что происходит для менеджеров окон без объединения.

    
ответ дан John S Gruber 08.10.2012 в 01:34
3

Большое спасибо за ссылку «Что происходит под крышкой ...», обязательно прочитайте!

~ / .xprofile происходит слишком рано, настройки xrandr теряются.

Одно из решений - создать скрипт и выполнить его в «приложениях при запуске». Хотя, поскольку nautilus уже запущен, и он решит отобразить значки на вторичном мониторе (после команды xrandr), я добавил в конце:

killall -1 nautilus
nautilus -n

Грязный, но работает. Надеюсь, это поможет.

    
ответ дан jissouille 20.10.2012 в 19:47