source: pkg/main/xsession-initscript-parsix/trunk/xprep @ 1194

Revision 1194, 3.5 KB checked in by alanbach-guest, 6 years ago (diff)

xsession-initscript-parsix 0.9.3 updates

Line 
1#!/bin/bash
2# Single Xwindow/KDE/GNOME startup script
3# (C) Klaus Knopper Jun 2001
4# (C) 2005 modified by Stefan Lippers-Hollmann <s.l-h@gmx.de>
5# (C) 2007 Alan Baghumian <alan@technotux.org>
6
7# override tool behaviour through distro-defaults
8FLL_DISTRO_MODE="installed"
9FLL_LIVE_USER="parsix"
10if [ -r /etc/default/distro ]; then
11        source /etc/default/distro
12fi
13
14# don't ever start me on an installed system
15[ ! "$FLL_DISTRO_MODE" == "live" ] && exit 0
16
17USER="$FLL_LIVE_USER"
18
19HOME="/home/$USER"
20
21PATH="/bin:/sbin:/usr/bin:/usr/sbin:/usr/X11R6/bin:/usr/local/bin:."
22export PATH
23
24umask 022
25
26CRE="
27[K"
28BLUE="[1;34m"
29NORMAL="[1;39m"
30
31RUNLEVEL5=""
32case "$(runlevel)" in *\ 5) RUNLEVEL5="true" ;; esac
33
34XMODULE=""
35[ -f /etc/sysconfig/xserver ] && source /etc/sysconfig/xserver
36[ -f /etc/sysconfig/knoppix ] && source /etc/sysconfig/knoppix
37
38# Read DESKTOP
39[ -f /etc/sysconfig/desktop ]  && . /etc/sysconfig/desktop
40# GNOME is the default
41[ -z "$DESKTOP" ] && DESKTOP="gnome"
42
43# See how we were called.
44case "$1" in
45        start)
46                # hack i810 vga modes FIX ME
47                if [ -z "$NO915RES" -a "$XMODULE" == "i810" -a -x /usr/sbin/915resolution ]; then
48                        if [[ $(915resolution -l 2>/dev/null) != *$XSCREEN* ]]; then
49                                # Clean-up                                     
50                                mkdir -p /etc/default/
51                                rm -f /etc/default/915resolution
52                       
53cat > /etc/default/915resolution <<EOF
54# 915resolution default
55#
56# find free modes by  /usr/sbin/915resolution -l
57# and set it to MODE
58#
59MODE=5c
60#
61#
62# and set resolutions for the mode.
63#
64XRESO=${XSCREEN/x*}
65YRESO=${XSCREEN#*x}
66EOF
67                                /etc/init.d/915resolution restart &>/dev/null
68                        fi
69                fi
70
71                # Try to find and load an agp and drm module for this graphics card
72                KVER="$(uname -r)"
73                # Kernel 2.6: Load specific AGPGART module(s)
74                case "$KVER" in
75                        2.6.*)
76                                case "$(cat /proc/cmdline)" in
77                                        *noagp*)
78                                                ;;
79                                        *)
80                                                for i in /lib/modules/"$KVER"/kernel/drivers/char/agp/*; do
81                                                        module="${i##*/}"; module="${module%%.*}"; modprobe ${module} >/dev/null 2>&1
82                                                done
83                                                # remove unused agp modules
84                                                for module in $(awk '/_agp/{if ($3==0) print $1}' /proc/modules); do
85                                                        rmmod $module 2>/dev/null
86                                                done
87                                                ;;
88                                esac
89                                ;;
90                esac
91
92                if [ -n "$XMODULE" ]; then
93                        # All kernels: Load drm module
94                        for i in /lib/modules/"$KVER"/kernel/drivers/char/drm/*; do
95                                case "$i" in
96                                        *$XMODULE*)
97                                                module="${i##*/}"
98                                                module="${module%%.*}"
99                                                modprobe ${module} >/dev/null 2>&1
100                                                ;;
101                                esac
102                        done
103                fi
104
105                # Run appropriate Desktop manager
106                case "$DESKTOP" in
107                        gnome)
108                                # Copy GNOME desktop configuration
109                                su -c "rsync -Ha --ignore-existing /etc/skel/{.config,Templates*,.firefox*,.mozilla*,.gconf*,.gstr*,.theme*,.fonts,..openoffice*,.xfardic*,*.gimp,.gnome*,.gtk*,Desktop,.bash*} $HOME/" - $USER 2>/dev/null
110                                mkdir $HOME/Desktop/ 2>/dev/null
111                                chown $USER.$USER $HOME/Desktop 2>/dev/null                     
112                                cp /usr/share/applications/parsix-installer.desktop $HOME/Desktop/ 2>/dev/null         
113                                chown $USER.$USER $HOME/Desktop/parsix-installer.desktop 2>/dev/null
114                                cp -r /etc/skel/.config $HOME/ 2>/dev/null
115                                chown -R $USER.$USER $HOME/.config 2>/dev/null
116                                if [ -f /etc/init.d/gdm ]; then
117                                        /etc/init.d/gdm start 2>/dev/null
118                                fi
119                                exit 0
120                                ;;
121                        kde)
122                                #TODO: Add KDE desktop configuration here
123                                if [ -f /etc/init.d/kdm ]; then
124                                        /etc/init.d/kdm start 2>/dev/null
125                                fi
126                                exit 0
127                                ;;
128                        *)
129                                if [ -f /etc/init.d/gdm ]; then
130                                        /etc/init.d/gdm start 2>/dev/null
131                                fi
132                                exit 0
133                                ;;
134                esac
135                ;;
136        *)
137                echo "${RED}Usage: xsession {start|stop}${NORMAL}"
138                exit 1
139                ;;
140esac
141
Note: See TracBrowser for help on using the repository browser.