.xsession. .xinitrc, xmonad и lightdm
Позвольте мне предвосхитить мой вопрос следующим образом: я уверен, что смогу собрать решение, изменив /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, или это полностью зависит от комбинации оконных менеджеров и менеджеров входа в систему, которые я использую?
2 ответа
Я верю, что вы можете найти, что это будет работать для вас. Он будет получен из сценария dash / usr / sbin / lightdm-session, который позже выполнит exec для оконного менеджера.
Предполагая, что это только для вас, и поскольку оно связано с X, я бы посоветовал поместить его в ~/.xprofile. Если это применимо к каждому пользователю системы, то может подойти файл / etc / xprofile.
Создайте файл ~ /.xprofile и отредактируйте его так, чтобы он содержал что-то из вашей команды xrandr (похоже на следующий тестовый элемент):
xrandr - выход LVDS - режим 1280x854
Вы можете найти больше информации в разделе Что происходит под обложками для входа в систему и запуска Unity или другого графического интерфейса пользователя?, Это действительно покрывает некоторые из того, что случается с оконными менеджерами не единства.
Большое спасибо за ссылку "Что происходит под обложкой...", которую обязательно нужно прочитать!
~ /.xprofile происходит слишком рано, настройки xrandr потеряны.
Одним из решений является создание скрипта и выполнение его в "приложениях при запуске". Хотя, поскольку nautilus уже запущен и он решит отобразить значки на дополнительном мониторе (после команды xrandr), я добавил в конце:
killall -1 nautilus
nautilus -n
Грязно, но работает. Надеюсь это поможет.