startup.sh 1014 B

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. DEFAULT_DESKTOP=/etc/default/desktop
  2. USER_XSESSION=$HOME/.xsession
  3. SESSION=$DESKTOP_SESSION
  4. STARTUP=
  5. case $1 in
  6. failsafe)
  7. exec -l $SHELL -c "xterm -geometry 80x24-0-0"
  8. ;;
  9. custom)
  10. if [ -x "$USER_XSESSION" ]; then
  11. STARTUP="$USER_XSESSION"
  12. fi
  13. ;;
  14. default|"")
  15. test -f $DEFAULT_DESKTOP && . $DEFAULT_DESKTOP
  16. if [ -n $SESSION ]; then
  17. desktop_file="/usr/share/xsessions/$SESSION.desktop"
  18. session_script="/etc/X11/Sessions/$SESSION"
  19. if [ -f "$desktop_file" ]; then
  20. STARTUP=`grep "^Exec=" "$desktop_file" | cut -d= -f 2-`
  21. elif [ -x "$session_script" ]; then
  22. STARTUP="$session_script"
  23. fi
  24. fi
  25. ;;
  26. *)
  27. STARTUP="$1"
  28. ;;
  29. esac
  30. if [ -z "$STARTUP" ]; then
  31. # If STARTUP is still empty, try user script first.
  32. if [ -x "$USER_XSESSION" ]; then
  33. STARTUP="$USER_XSESSION"
  34. else
  35. STARTUP="xsm"
  36. fi
  37. fi