.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, или это полностью зависит от комбинации оконных менеджеров и менеджеров входа в систему, которые я использую?

Ответы:


11

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

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

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

xrandr - выход LVDS - режим 1280x854

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


3

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

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

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

killall -1 nautilus
nautilus -n

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

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.