#!/bin/sh # LightDM wrapper to run around X sessions. echo "Running X session wrapper" # Load profile for file in "%%LOCALBASE%%/etc/profile" "$HOME/.profile" "%%LOCALBASE%%/etc/xprofile" "$HOME/.xprofile"; do if [ -f "$file" ]; then echo "Loading profile from $file"; . "$file" fi done # Load resources for file in "%%LOCALBASE%%/etc/X11/Xresources" "%%LOCALBASE%%/etc/X11/.Xresources" "%%LOCALBASE%%/etc/X11/xinit/Xresources" "%%LOCALBASE%%/etc/X11/xinit/.Xresources" "$HOME/.Xresources"; do if [ -f "$file" ]; then echo "Loading resource: $file" xrdb -merge "$file" fi done # Load keymaps for file in "%%LOCALBASE%%/etc/X11/Xkbmap" "%%LOCALBASE%%/etc/X11/.Xkbmap" "%%LOCALBASE%%/etc/X11/xinit/Xkbmap" "%%LOCALBASE%%/etc/X11/xinit/.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 "%%LOCALBASE%%/etc/X11/Xmodmap" "%%LOCALBASE%%/etc/X11/.Xmodmap" "%%LOCALBASE%%/etc/X11/xinit/Xmodmap" "%%LOCALBASE%%/etc/X11/xinit/.Xmodmap" "$HOME/.Xmodmap"; do if [ -f "$file" ]; then echo "Loading modmap: $file" xmodmap "$file" fi done fi unset XKB_IN_USE # Run all system xinitrc shell scripts xinitdir="%%LOCALBASE%%/etc/X11/xinit/xinitrc.d" if [ -d "$xinitdir" ]; then for script in $xinitdir/*; do echo "Loading xinit script $script" if [ -x "$script" -a ! -d "$script" ]; then . "$script" fi done fi # Load Xsession scripts xsessiondir="%%LOCALBASE%%/share/xsessions" if [ -d "$xsessiondir" ]; then for file in `ls $xsessiondir`; do script="$xsessiondir/$file" echo "Loading X session script $script" if [ -r "$script" -a -f "$script" ] && expr "$file" : '^[[:alnum:]_-]\+$' > /dev/null; then . "$script" fi done fi echo "X session wrapper complete, running session $@" exec $@