techmik

etc/gdm/Init/Default

Jun 29th, 2011
209
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.80 KB | None | 0 0
  1. #!/bin/sh
  2. # Stolen from the debian kdm setup, aren't I sneaky
  3. # Plus a lot of fun stuff added
  4. # -George
  5.  
  6. PATH="/usr/bin:$PATH"
  7. OLD_IFS=$IFS
  8.  
  9. #if [ -x '/usr/bin/xsplash' ];
  10. #then
  11. # /usr/bin/xsplash --gdm-session --daemon
  12. #fi
  13.  
  14. /sbin/initctl -q emit login-session-start DISPLAY_MANAGER=gdm
  15.  
  16. gdmwhich () {
  17. COMMAND="$1"
  18. OUTPUT=
  19. IFS=:
  20. for dir in $PATH
  21. do
  22. if test -x "$dir/$COMMAND" ; then
  23. if test "x$OUTPUT" = "x" ; then
  24. OUTPUT="$dir/$COMMAND"
  25. fi
  26. fi
  27. done
  28. IFS=$OLD_IFS
  29. echo "$OUTPUT"
  30. }
  31.  
  32. sysresources=/etc/X11/Xresources
  33.  
  34. # merge in defaults
  35. if [ -f "$sysresources" ]; then
  36. xrdb -merge "$sysresources"
  37. fi
  38.  
  39. sysmodmap=/etc/X11/Xmodmap
  40.  
  41. XMODMAP=`gdmwhich xmodmap`
  42. if [ "x$XMODMAP" != "x" ] ; then
  43. if [ "x$GDM_PARENT_DISPLAY" = "x" ]; then
  44. if [ -f $sysmodmap ]; then
  45. $XMODMAP $sysmodmap
  46. fi
  47. else
  48. ( DISPLAY=$GDM_PARENT_DISPLAY XAUTHORITY=$GDM_PARENT_XAUTHORITY $XMODMAP -pke ) | $XMODMAP -
  49. fi
  50.  
  51. #
  52. # Switch Sun's Alt and Meta mod mappings
  53. #
  54.  
  55. UNAME=`gdmwhich uname`
  56. PROCESSOR=`$UNAME -p`
  57. if [ "x$PROCESSOR" = "xsparc" ]; then
  58. if $XMODMAP | grep mod4 | grep Alt > /dev/null 2>/dev/null
  59. then
  60. $XMODMAP -e "clear Mod1" \
  61. -e "clear Mod4" \
  62. -e "add Mod1 = Alt_L" \
  63. -e "add Mod1 = Alt_R" \
  64. -e "add Mod4 = Meta_L" \
  65. -e "add Mod4 = Meta_R"
  66. fi
  67. fi
  68. fi
  69.  
  70. SETXKBMAP=`gdmwhich setxkbmap`
  71. if [ "x$SETXKBMAP" != "x" ] ; then
  72. # FIXME: is this all right? Is this completely on crack?
  73. # What this does is move the xkb configuration from the GDM_PARENT_DISPLAY
  74. # FIXME: This should be done in code. Or there must be an easier way ...
  75. if [ -n "$GDM_PARENT_DISPLAY" ]; then
  76. XKBSETUP=`( DISPLAY=$GDM_PARENT_DISPLAY XAUTHORITY=$GDM_PARENT_XAUTHORITY $SETXKBMAP -v )`
  77. if [ -n "$XKBSETUP" ]; then
  78. XKBKEYMAP=`echo "$XKBSETUP" | grep '^keymap' | awk '{ print $2 }'`
  79. XKBTYPES=`echo "$XKBSETUP" | grep '^types' | awk '{ print $2 }'`
  80. XKBCOMPAT=`echo "$XKBSETUP" | grep '^compat' | awk '{ print $2 }'`
  81. XKBSYMBOLS=`echo "$XKBSETUP" | grep '^symbols' | awk '{ print $2 }'`
  82. XKBGEOMETRY=`echo "$XKBSETUP" | grep '^geometry' | awk '{ print $2 }'`
  83. if [ -n "$XKBKEYMAP" ]; then
  84. $SETXKBMAP -keymap "$XKBKEYMAP"
  85. elif [ -n "$XKBTYPES" -a -n "$XKBCOMPAT" -a -n "$XKBSYMBOLS" -a -n "$XKBGEOMETRY" ]; then
  86. $SETXKBMAP -types "$XKBTYPES" -compat "$XKBCOMPAT" -symbols "$XKBSYMBOLS" -geometry "$XKBGEOMETRY"
  87. elif [ -n "$XKBTYPES" -a -n "$XKBCOMPAT" -a -n "$XKBSYMBOLS" ]; then
  88. $SETXKBMAP -types "$XKBTYPES" -compat "$XKBCOMPAT" -symbols "$XKBSYMBOLS"
  89. elif [ -n "$XKBSYMBOLS" ]; then
  90. $SETXKBMAP -symbols "$XKBSYMBOLS"
  91. fi
  92. fi
  93. fi
  94. fi
  95.  
  96. exit 0
Advertisement
Add Comment
Please, Sign In to add comment