Xsession 1.5 KB

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