123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475 |
- #!/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
- echo "Loading xinit script $script"
- if [ -x "$script" -a ! -d "$script" ]; then
- . "$script"
- fi
- done
- fi
- # Load Xsession scripts
- xsessionddir="/etc/X11/Xsession.d"
- if [ -d "$xsessionddir" ]; then
- for i in `ls $xsessionddir`; do
- script="$xsessionddir/$i"
- echo "Loading X session script $script"
- if [ -r "$script" -a -f "$script" ] && expr "$i" : '^[[:alnum:]_-]\+$' > /dev/null; then
- . "$script"
- fi
- done
- fi
- echo "X session wrapper complete, running session $@"
- exec $command
|