108 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
		
		
			
		
	
	
			108 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| 
								 | 
							
								#!/bin/sh
							 | 
						||
| 
								 | 
							
								# $XConsortium: Xsession /main/10 1995/12/18 18:21:28 gildea $
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								case $# in
							 | 
						||
| 
								 | 
							
								1)
							 | 
						||
| 
								 | 
							
									case $1 in
							 | 
						||
| 
								 | 
							
									failsafe)
							 | 
						||
| 
								 | 
							
										exec xterm -geometry 80x24-0-0
							 | 
						||
| 
								 | 
							
										;;
							 | 
						||
| 
								 | 
							
									esac
							 | 
						||
| 
								 | 
							
								esac
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								# redirect errors to a file in user's home directory if we can
							 | 
						||
| 
								 | 
							
								for errfile in "$HOME/.xsession-errors" "${TMPDIR-/tmp}/xses-$USER" "/tmp/xses-$USER"
							 | 
						||
| 
								 | 
							
								do
							 | 
						||
| 
								 | 
							
									if ( cp /dev/null "$errfile" 2> /dev/null )
							 | 
						||
| 
								 | 
							
									then
							 | 
						||
| 
								 | 
							
										chmod 600 "$errfile"
							 | 
						||
| 
								 | 
							
										exec > "$errfile" 2>&1
							 | 
						||
| 
								 | 
							
										break
							 | 
						||
| 
								 | 
							
									fi
							 | 
						||
| 
								 | 
							
								done
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								# clean up after xbanner
							 | 
						||
| 
								 | 
							
								if which freetemp 2> /dev/null ; then
							 | 
						||
| 
								 | 
							
									freetemp
							 | 
						||
| 
								 | 
							
								fi
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								startup=$HOME/.xsession
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								userresources=$HOME/.Xresources 
							 | 
						||
| 
								 | 
							
								usermodmap=$HOME/.Xmodmap 
							 | 
						||
| 
								 | 
							
								userxkbmap=$HOME/.Xkbmap
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								sysresources=/etc/X11/Xresources 
							 | 
						||
| 
								 | 
							
								sysmodmap=/etc/X11/Xmodmap 
							 | 
						||
| 
								 | 
							
								sysxkbmap=/etc/X11/Xkbmap
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								rh6sysresources=/etc/X11/xinit/Xresources 
							 | 
						||
| 
								 | 
							
								rh6sysmodmap=/etc/X11/xinit/Xmodmap 
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								# merge in defaults
							 | 
						||
| 
								 | 
							
								if [ -f "$rh6sysresources" ]; then
							 | 
						||
| 
								 | 
							
								    xrdb -merge "$rh6sysresources"
							 | 
						||
| 
								 | 
							
								fi
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								if [ -f "$sysresources" ]; then
							 | 
						||
| 
								 | 
							
								    xrdb -merge "$sysresources"
							 | 
						||
| 
								 | 
							
								fi
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								if [ -f "$userresources" ]; then
							 | 
						||
| 
								 | 
							
								    xrdb -merge "$userresources"
							 | 
						||
| 
								 | 
							
								fi
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								# merge in keymaps
							 | 
						||
| 
								 | 
							
								if [ -f "$sysxkbmap" ]; then
							 | 
						||
| 
								 | 
							
								    setxkbmap `cat "$sysxkbmap"`
							 | 
						||
| 
								 | 
							
								    XKB_IN_USE=yes
							 | 
						||
| 
								 | 
							
								fi
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								if [ -f "$userxkbmap" ]; then
							 | 
						||
| 
								 | 
							
								    setxkbmap `cat "$userxkbmap"`
							 | 
						||
| 
								 | 
							
								    XKB_IN_USE=yes
							 | 
						||
| 
								 | 
							
								fi
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#
							 | 
						||
| 
								 | 
							
								# Eeek, this seems like too much magic here
							 | 
						||
| 
								 | 
							
								#
							 | 
						||
| 
								 | 
							
								if [ -z "$XKB_IN_USE" -a ! -L /etc/X11/X ]; then
							 | 
						||
| 
								 | 
							
								    if grep '^exec.*/Xsun' /etc/X11/X > /dev/null 2>&1 && [ -f /etc/X11/XF86Config ]; then
							 | 
						||
| 
								 | 
							
								       xkbsymbols=`sed -n -e 's/^[     ]*XkbSymbols[   ]*"\(.*\)".*$/\1/p' /etc/X11/XF86Config`
							 | 
						||
| 
								 | 
							
								       if [ -n "$xkbsymbols" ]; then
							 | 
						||
| 
								 | 
							
								           setxkbmap -symbols "$xkbsymbols"
							 | 
						||
| 
								 | 
							
								           XKB_IN_USE=yes
							 | 
						||
| 
								 | 
							
								       fi
							 | 
						||
| 
								 | 
							
								    fi
							 | 
						||
| 
								 | 
							
								fi
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								# xkb and xmodmap don't play nice together
							 | 
						||
| 
								 | 
							
								if [ -z "$XKB_IN_USE" ]; then
							 | 
						||
| 
								 | 
							
								    if [ -f "$rh6sysmodmap" ]; then
							 | 
						||
| 
								 | 
							
								       xmodmap "$rh6sysmodmap"
							 | 
						||
| 
								 | 
							
								    fi
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    if [ -f "$sysmodmap" ]; then
							 | 
						||
| 
								 | 
							
								       xmodmap "$sysmodmap"
							 | 
						||
| 
								 | 
							
								    fi
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    if [ -f "$usermodmap" ]; then
							 | 
						||
| 
								 | 
							
								       xmodmap "$usermodmap"
							 | 
						||
| 
								 | 
							
								    fi
							 | 
						||
| 
								 | 
							
								fi
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								unset XKB_IN_USE
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								if [ -x "$startup" ]; then
							 | 
						||
| 
								 | 
							
									exec "$startup"
							 | 
						||
| 
								 | 
							
								elif [ -x "$HOME/.Xclients" ]; then
							 | 
						||
| 
								 | 
							
									exec "$HOME/.Xclients"
							 | 
						||
| 
								 | 
							
								elif [ -x /etc/X11/xinit/Xclients ]; then
							 | 
						||
| 
								 | 
							
									exec /etc/X11/xinit/Xclients
							 | 
						||
| 
								 | 
							
								elif [ -x /etc/X11/Xclients ]; then
							 | 
						||
| 
								 | 
							
									exec /etc/X11/Xclients
							 | 
						||
| 
								 | 
							
								else
							 | 
						||
| 
								 | 
							
									exec xsm
							 | 
						||
| 
								 | 
							
								fi
							 |