Как я могу использовать LightDM для пользовательских сессий?


22

Если я правильно понимаю, LightDM заменил GDM по умолчанию. Интересно, можно ли заставить его запускать то, что я положил в свой файл .xinitrc ... мне нужна опция под «Unity» и «Unity 2D», которая гласит «Запустить пользовательский сеанс».

Это возможно? Должно быть, самое простое, но я пока не понял. В этом файле я экспортирую, определяю и запускаю множество вещей, поэтому для меня очень важно иметь контроль над этим.

Чего я НЕ хочу, так это пользовательского сеанса в / usr / some / where, я только хочу, чтобы он запускал материал из xinitrc каждого пользователя (или аналогичного).

Ответы:


21

Создайте новый файл /usr/share/xsessions/custom.desktopс:

[Desktop Entry]
Name=Xsession
Exec=/etc/X11/Xsession

Теперь у вас должна быть новая опция сеанса во время входа в систему, Xsession загрузит пользователя ~/.xinitrc.


2
Ubuntu теперь рассматривает только ~ / .xsession или, возможно, ~ / .xsessionrc и ~ / .Xsession (12.04)
guigouz,

Нужно ли перезапустить X или просто выйти из системы, чтобы это вступило в силу?
Чепанг

1

Чтобы использовать olvwm:

1) Наберите sudo apt-get install olvwmв консоли

2) Создайте эту сессию:

/usr/share/xsessions/olvwm.desktop
[Desktop Entry]
Name=Open Look
Exec=olvwm
Type=Application

1

Создайте новый файл /user/share/xsessions/default.desktop(имя зависит от вас, но он должен иметь .desktopсуффикс):

[Desktop Entry]
Name=Default
Comment=This runs user session and logs you into Ubuntu
Exec=default
Icon=

Теперь, когда вы выберете этот сеанс lightdmи войдете в систему, ваш ~/.xsessionфайл, если он существует, будет выполнен.

Обратите внимание, что исполняемый файл пользователя есть ~/.xsession, а не тот ~/.xinitrc, который был упомянут в вопросе. ( ~/.xinitrcиспользуется, когда сеанс X запускается с использованием startxсценария из командной строки.)

Некоторые объяснения: NameЗапись - это то, что lightdmбудет отображаться для этого сеанса. ExecЗапись является важным, и это должно быть имя программы , которая начинается фактическое сессии. Когда вы входите в систему, lightdmвызываете /etc/X11/Xsessionскрипт, передавая ему значение Execв качестве аргумента, и Xsession, в конце концов, запустите эту программу (например, это может быть startxfce4для запуска xfce4сеанса). Если Execзапись является специальной строкой default, то Xsessionбудет выполняться ~/.xsessionфайл пользователя . ( Xsessionтакже выполняется, ~/.xsessionесли он вызывается без aruments.)

Извините, я новичок здесь и поэтому не могу комментировать ответы других людей, но я бы хотел прокомментировать принятый ответ, чтобы прояснить ситуацию. Согласно моему объяснению выше, то, что произойдет с методом этого ответа, Xsessionбудет вызываться lightdmс аргументом (полный путь) Xsession. Так что Xessionбудет работать, а затем позвонить сам, на этот раз без аргументов. Второй Xsession, вызываемый без аргументов, будет выполнять пользователя ~/.xsession. Таким образом, желаемое действие будет, в конце концов, предпринято, но немного неловко.

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