summaryrefslogtreecommitdiff
path: root/x11-misc/lightdm/files
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2022-09-27 15:10:20 +0100
committerV3n3RiX <venerix@koprulu.sector>2022-09-27 15:10:20 +0100
commitc268590c556cb766e1ca3f55fde8a40cdde19c44 (patch)
tree7ebbcf748f02d29ba96741221f2e1919db85cdf9 /x11-misc/lightdm/files
parent2be230a2a252e8e744f11a8b38e9a0097ddc9b25 (diff)
gentoo auto-resync : 27:09:2022 - 15:10:20
Diffstat (limited to 'x11-misc/lightdm/files')
-rw-r--r--x11-misc/lightdm/files/Xsession-r175
-rw-r--r--x11-misc/lightdm/files/lightdm.service-r113
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