lightdm-Xsession 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. #!/bin/sh
  2. #
  3. # LightDM wrapper to run around X sessions.
  4. echo "Running X session wrapper"
  5. # Load profile
  6. for file in "/etc/profile" "$HOME/.profile" "/etc/xprofile" "$HOME/.xprofile"; do
  7. if [ -f "$file" ]; then
  8. echo "Loading profile from $file";
  9. . "$file"
  10. fi
  11. done
  12. # Load resources
  13. for file in "/etc/X11/Xresources" "$HOME/.Xresources"; do
  14. if [ -f "$file" ]; then
  15. echo "Loading resource: $file"
  16. xrdb -merge "$file"
  17. fi
  18. done
  19. # Load keymaps
  20. for file in "/etc/X11/Xkbmap" "$HOME/.Xkbmap"; do
  21. if [ -f "$file" ]; then
  22. echo "Loading keymap: $file"
  23. setxkbmap `cat "$file"`
  24. XKB_IN_USE=yes
  25. fi
  26. done
  27. # Load xmodmap if not using XKB
  28. if [ -z "$XKB_IN_USE" ]; then
  29. for file in "/etc/X11/Xmodmap" "$HOME/.Xmodmap"; do
  30. if [ -f "$file" ]; then
  31. echo "Loading modmap: $file"
  32. xmodmap "$file"
  33. fi
  34. done
  35. fi
  36. unset XKB_IN_USE
  37. # Run all system xinitrc shell scripts
  38. xinitdir="/etc/X11/xinit/xinitrc.d"
  39. if [ -d "$xinitdir" ]; then
  40. for script in $xinitdir/*; do
  41. echo "Loading xinit script $script"
  42. if [ -x "$script" -a ! -d "$script" ]; then
  43. . "$script"
  44. fi
  45. done
  46. fi
  47. # Run user xsession shell script
  48. script="$HOME/.xsession"
  49. if [ -x "$script" -a ! -d "$script" ]; then
  50. echo "Loading xsession script $script"
  51. . "$script"
  52. fi
  53. echo "X session wrapper complete, running session $@"
  54. exec $@