diff options
Diffstat (limited to 'x11-misc/lightdm/files')
-rw-r--r-- | x11-misc/lightdm/files/Xsession-r1 | 75 | ||||
-rw-r--r-- | x11-misc/lightdm/files/lightdm.service-r1 | 13 |
2 files changed, 88 insertions, 0 deletions
diff --git a/x11-misc/lightdm/files/Xsession-r1 b/x11-misc/lightdm/files/Xsession-r1 new file mode 100644 index 000000000000..c0968ea2803f --- /dev/null +++ b/x11-misc/lightdm/files/Xsession-r1 @@ -0,0 +1,75 @@ +#!/bin/sh +# +# LightDM wrapper to run around X sessions. + +echo "Running X session wrapper" + +# Load profile +for file in "/etc/profile" "${HOME}/.profile" "/etc/xprofile" "${HOME}/.xprofile" ; do + if [ -f "${file}" ] ; then + echo "Loading profile from ${file}"; + . "${file}" + fi +done + +# Load resources +for file in "/etc/X11/Xresources" "${HOME}/.Xresources" ; do + if [ -f "${file}" ] ; then + echo "Loading resource: ${file}" + xrdb -nocpp -merge "${file}" + fi +done + +# Load keymaps +for file in "/etc/X11/Xkbmap" "${HOME}/.Xkbmap" ; do + if [ -f "${file}" ] ; then + echo "Loading keymap: ${file}" + setxkbmap $(cat "${file}") + XKB_IN_USE=yes + fi +done + +# Load xmodmap if not using XKB +if [ -z "${XKB_IN_USE}" ] ; then + for file in "/etc/X11/Xmodmap" "${HOME}/.Xmodmap" ; do + if [ -f "${file}" ] ; then + echo "Loading modmap: ${file}" + xmodmap "${file}" + fi + done +fi + +unset XKB_IN_USE + +# /etc/X11/xinit/xinitrc.d/80-dbus expects $command to be +# set to the Xsession arguments. So make it happy. See +# https://bugs.gentoo.org/show_bug.cgi?id=533456 +command="$@" + +# Run all system xinitrc shell scripts. +xinitdir="/etc/X11/xinit/xinitrc.d" +if [ -d "${xinitdir}" ] ; then + for script in ${xinitdir}/* ; do + if [ -x "${script}" ] && [ ! -d "${script}" ] ; then + echo "Loading xinit script ${script}" + . "${script}" + fi + done +fi + +# Load Xsession scripts +xsessionddir="/etc/X11/Xsession.d" +if [ -d "${xsessionddir}" ] ; then + for script in "${xsessionddir}"/* ; do + local i=$(basename ${script}) + script="${xsessionddir}/${i}" + if [ -r "${script}" ] && [ -f "${script}" ] && expr "${i}" : '^[[:alnum:]_-]\+$' > /dev/null ; then + echo "Loading X session script ${script}" + . "${script}" + fi + done +fi + +echo "X session wrapper complete, running session ${@}" + +exec ${command} diff --git a/x11-misc/lightdm/files/lightdm.service-r1 b/x11-misc/lightdm/files/lightdm.service-r1 new file mode 100644 index 000000000000..d843cac90a7f --- /dev/null +++ b/x11-misc/lightdm/files/lightdm.service-r1 @@ -0,0 +1,13 @@ +[Unit] +Description=Light Display Manager +Documentation=man:lightdm(1) +After=systemd-user-sessions.service + +[Service] +ExecStart=/usr/sbin/lightdm +Restart=always +IgnoreSIGPIPE=no +BusName=org.freedesktop.DisplayManager + +[Install] +Alias=display-manager.service |