|
Lines 1-40
Link Here
|
| 1 |
#!/bin/sh |
1 |
#!/bin/sh |
| 2 |
# |
2 |
# |
| 3 |
# DEFAULT TRINITY STARTUP SCRIPT ( KDE-3.5.12 ) |
3 |
# DEFAULT TRINITY STARTUP SCRIPT |
| 4 |
# |
4 |
# |
| 5 |
|
5 |
|
| 6 |
echo "[startkde] Starting startkde." 1>&2 |
6 |
# Is this a good idea? Looks good for command line logins but |
|
|
7 |
# graphical login managers likely source these files already? |
| 8 |
# Multiple sourcing is not a problem when the files are only |
| 9 |
# containers for environment variables and such. |
| 10 |
if [ -r /etc/xprofile ]; then |
| 11 |
source /etc/xprofile |
| 12 |
fi |
| 13 |
if [ -r $HOME/.xprofile ]; then |
| 14 |
source $HOME/.xprofile |
| 15 |
fi |
| 16 |
|
| 17 |
echo "[starttde] Starting starttde." 1>&2 |
| 18 |
echo "[starttde] This script is $0" 1>&2 |
| 19 |
|
| 20 |
# Avoid any possible conflict with KDE4. Therefore within this script |
| 21 |
# use full path names to all binaries used. |
| 22 |
|
| 23 |
# The binaries for TDE are located in the same place as this script. |
| 24 |
# To determine that location use the following method rather than presuming |
| 25 |
# the existence of $TDEDIR. That environment variable might not be |
| 26 |
# defined or defined to point to KDE4 binaries. |
| 27 |
BIN_DIR="`dirname $0`" |
| 28 |
# Do not use kde-config to determine the version. That command creates a |
| 29 |
# profile directory in the root of the file system. Refer to Bug Report 293. |
| 30 |
if [ -x $BIN_DIR/konqueror ]; then |
| 31 |
TDE_VERSION="`$BIN_DIR/konqueror --version | grep TDE | awk '{print $2}'`" |
| 32 |
echo "TDE version is $TDE_VERSION" 1>&2 |
| 33 |
TDEDIR=`echo $BIN_DIR | sed 's|/bin||'` |
| 34 |
echo "TDE base directory is $TDEDIR" 1>&2 |
| 35 |
echo |
| 36 |
else |
| 37 |
echo "Unable to determine TDE base directory." |
| 38 |
echo "This script should be installed in the same directory." |
| 39 |
echo "Exiting." |
| 40 |
exit 1 |
| 41 |
fi |
| 42 |
unset BIN_DIR |
| 7 |
|
43 |
|
| 8 |
# When the X server dies we get a HUP signal from xinit. We must ignore it |
44 |
# When the X server dies we get a HUP signal from xinit. We must ignore it |
| 9 |
# because we still need to do some cleanup. |
45 |
# because we still need to do some cleanup. |
| 10 |
trap '[startkde] echo GOT SIGHUP' HUP |
46 |
trap '[starttde] echo GOT SIGHUP' HUP |
| 11 |
|
47 |
|
| 12 |
# Check if a KDE session is already running. |
48 |
# Check if a TDE session is already running. |
| 13 |
if kcheckrunning >/dev/null 2>&1; then |
49 |
if kcheckrunning >/dev/null 2>&1; then |
| 14 |
echo "[startkde] KDE seems to be already running on this display." |
50 |
echo "[starttde] TDE seems to be already running on this display." |
| 15 |
xmessage -geometry 500x100 "KDE seems to be already running on this display." > /dev/null 2>/dev/null |
51 |
xmessage -center -geometry 500x100 "TDE seems to be already running on this display." > /dev/null 2>/dev/null |
| 16 |
exit 1 |
52 |
exit 1 |
| 17 |
fi |
53 |
fi |
| 18 |
|
54 |
|
| 19 |
# Set the background color. |
55 |
# Set the background color. |
| 20 |
# The standard X background is nasty, causing moire effects and exploding |
56 |
# The standard X background is nasty, causing moire effects and exploding |
| 21 |
# people's heads. We use colours from the standard KDE palette for those with |
57 |
# people's heads. We use colours from the standard TDE palette for those with |
| 22 |
# palettised displays. |
58 |
# palettised displays. |
| 23 |
if test -z "$XDM_MANAGED" || echo "$XDM_MANAGED" | grep ",auto" > /dev/null; then |
59 |
if test -z "$XDM_MANAGED" || echo "$XDM_MANAGED" | grep ",auto" > /dev/null; then |
| 24 |
xsetroot -solid "#618DCC" # sky blue |
60 |
xsetroot -solid "#618DCC" # sky blue |
| 25 |
fi |
61 |
fi |
| 26 |
|
62 |
|
| 27 |
# Unset this for Darwin since it will screw up KDE's dynamic-loading |
63 |
# Unset this for Darwin since it will screw up TDE's dynamic-loading |
| 28 |
unset DYLD_FORCE_FLAT_NAMESPACE |
64 |
unset DYLD_FORCE_FLAT_NAMESPACE |
| 29 |
|
65 |
|
| 30 |
# Check whether prelinking is enabled. If so, exporting KDE_IS_PRELINKED improves |
66 |
# Check whether prelinking is enabled. If so, exporting TDE_IS_PRELINKED improves |
| 31 |
# loading KDE. The $KDE_IS_PRELINKED variable might already be set on some systems |
67 |
# loading TDE. The $TDE_IS_PRELINKED variable might already be set on some systems |
| 32 |
# through /etc/profile.d, so first check whether the variable exists. |
68 |
# through /etc/profile.d, so first check whether the variable exists. |
| 33 |
if [ -z $KDE_IS_PRELINKED ]; then |
69 |
if [ -z $TDE_IS_PRELINKED ]; then |
| 34 |
if [ -r /etc/default/prelink ]; then |
70 |
if [ -r /etc/default/prelink ]; then |
| 35 |
. /etc/default/prelink |
71 |
. /etc/default/prelink |
| 36 |
if [ "$PRELINKING" == "yes" ]; then |
72 |
if [ "$PRELINKING" == "yes" ]; then |
| 37 |
export KDE_IS_PRELINKED=1 |
73 |
export TDE_IS_PRELINKED=1 |
| 38 |
fi |
74 |
fi |
| 39 |
fi |
75 |
fi |
| 40 |
fi |
76 |
fi |
|
Lines 50-179
Link Here
|
| 50 |
|
86 |
|
| 51 |
# Boot sequence: |
87 |
# Boot sequence: |
| 52 |
# |
88 |
# |
| 53 |
# kdeinit is used to fork off processes which improves memory usage |
89 |
# tdeinit is used to fork off processes which improves memory usage |
| 54 |
# and startup time. |
90 |
# and startup time. |
| 55 |
# |
91 |
# |
| 56 |
# * kdeinit starts the dcopserver and klauncher first. |
92 |
# * tdeinit starts the dcopserver and klauncher first. |
| 57 |
# * Then kded is started. kded is responsible for keeping the sycoca |
93 |
# * Then kded is started. kded is responsible for keeping the sycoca |
| 58 |
# database up to date. When an up to date database is present it goes |
94 |
# database up to date. When an up to date database is present it goes |
| 59 |
# into the background and the startup continues. |
95 |
# into the background and the startup continues. |
| 60 |
# * Then kdeinit starts kcminit. kcminit performs initialisation of |
96 |
# * Then tdeinit starts kcminit. kcminit performs initialisation of |
| 61 |
# certain devices according to the user's settings |
97 |
# certain devices according to the user's settings |
| 62 |
# |
98 |
# |
| 63 |
# * Then ksmserver is started which takes control of the rest of the startup sequence |
99 |
# * Then ksmserver is started which takes control of the rest of the startup sequence |
| 64 |
|
100 |
|
| 65 |
# The user's personal KDE directory usually is $HOME/.kde or $HOME/.trinity. |
101 |
# The user's personal TDE directory usually is $HOME/.trinity. |
| 66 |
# This setting may be overridden by setting $KDEHOME. |
102 |
# This setting may be overridden by setting $TDEHOME. When migrating profiles |
| 67 |
# Must be careful here because $HOME/.kde was used commonly in the pre-KDE4 |
103 |
# must be careful here because $HOME/.kde was used commonly in the pre-KDE4 |
| 68 |
# days for the user's KDE3 profile, but now with KDE4 common on systems, |
104 |
# days for the user's TDE profile, but now with KDE4 common on systems, |
| 69 |
# $HOME/.kde might point to KDE4 profile settings. Further, the existence |
105 |
# $HOME/.kde might point to KDE4 profile settings. The existence of KDE4 |
| 70 |
# of KDE4 does not mean all people have KDE4 installed and might want to keep |
106 |
# does not mean all people are using KDE4. |
| 71 |
# $HOME/.kde as their preferred profile location for Trinity KDE. |
107 |
|
| 72 |
|
108 |
if [ -n "$TDEHOME" ]; then |
| 73 |
if [ -n "$KDEHOME" ]; then |
109 |
echo "[starttde] TDEHOME is preset to $TDEHOME." 1>&2 |
| 74 |
echo "[startkde] KDEHOME is preset to $KDEHOME." 1>&2 |
110 |
export TDEHOME=$TDEHOME |
| 75 |
export KDEHOME=$KDEHOME |
|
|
| 76 |
else |
111 |
else |
| 77 |
# $KDEHOME is NOT already preset in the environment. Try to help. |
112 |
# $TDEHOME is NOT already preset in the environment. Try to help. |
| 78 |
# This might be overkill but does provide flexibility. |
113 |
# This might be overkill but does provide flexibility. |
| 79 |
echo "[startkde] KDEHOME is not set." 1>&2 |
114 |
# This script and kstandardirs.h and kstandardirs.cpp must match. |
|
|
115 |
# The latter two must be edited/patched before compiling. |
| 116 |
echo "[starttde] TDEHOME is not set." 1>&2 |
| 80 |
if [ -d $HOME/.trinity ]; then |
117 |
if [ -d $HOME/.trinity ]; then |
| 81 |
# OK, this one is obvious. |
118 |
# OK, this one is obvious. |
| 82 |
export KDEHOME=$HOME/.trinity |
119 |
export TDEHOME=$HOME/.trinity |
| 83 |
elif [ -d $HOME/.trinity ]; then |
|
|
| 84 |
# Looks like the user had an old version of Trinity installed at last login |
| 85 |
echo "[startkde] Migrating old ~/.trinity directory to new ~/.trinity name." 1>&2 |
| 86 |
mv $HOME/.trinity $HOME/.trinity |
| 87 |
export KDEHOME=$HOME/.trinity |
| 88 |
elif [ -f /usr/bin/kde4-config ]; then |
120 |
elif [ -f /usr/bin/kde4-config ]; then |
| 89 |
# Looks like KDE4 is installed. |
121 |
# Looks like KDE4 is installed. |
| 90 |
if [ -d $HOME/.kde ] && [ ! -d $HOME/.trinity ]; then |
122 |
if [ -d $HOME/.kde ] && [ ! -d $HOME/.trinity ]; then |
| 91 |
# Presume $HOME/.kde is being used for KDE4 as it already exists. |
123 |
# Presume $HOME/.kde is being used for KDE4 as it already exists. |
| 92 |
export KDEHOME=$HOME/.trinity |
124 |
export TDEHOME=$HOME/.trinity |
| 93 |
else |
125 |
else |
| 94 |
# Presume $HOME/.kde is being used for KDE4 to be on the safe side. |
126 |
# Presume $HOME/.kde is being used for KDE4 to be on the safe side. |
| 95 |
export KDEHOME=$HOME/.trinity |
127 |
export TDEHOME=$HOME/.trinity |
| 96 |
fi |
128 |
fi |
| 97 |
elif [ -f /opt/trinity/bin/kde-config ]; then |
129 |
elif [ -f /opt/trinity/bin/kde-config ]; then |
| 98 |
# Looks like KDE3 or Trinity is installed and playing second fiddle to KDE4. |
130 |
# Looks like Trinity is installed. |
| 99 |
export KDEHOME=$HOME/.trinity |
131 |
export TDEHOME=$HOME/.trinity |
| 100 |
elif [ -f /opt/trinity/bin/kde-config ]; then |
|
|
| 101 |
# Looks like KDE3 or Trinity is installed and playing second fiddle to KDE4. |
| 102 |
export KDEHOME=$HOME/.trinity |
| 103 |
elif [ -f /usr/bin/kde-config ] && [ -d $HOME/.kde ]; then |
132 |
elif [ -f /usr/bin/kde-config ] && [ -d $HOME/.kde ]; then |
| 104 |
# Looks like KDE3 or Trinity is installed and not playing second fiddle to KDE4. |
133 |
# Looks like Trinity is installed and not playing second fiddle to KDE4. |
| 105 |
export KDEHOME=$HOME/.kde |
134 |
export TDEHOME=$HOME/.kde |
| 106 |
else |
135 |
else |
| 107 |
# Resort to this and hope for the best! |
136 |
# Resort to this and hope for the best! |
| 108 |
export KDEHOME=$HOME/.trinity |
137 |
export TDEHOME=$HOME/.trinity |
| 109 |
fi |
138 |
fi |
| 110 |
echo "[startkde] Set KDEHOME to $KDEHOME." 1>&2 |
139 |
echo "[starttde] Set TDEHOME to $TDEHOME." 1>&2 |
| 111 |
fi |
140 |
fi |
| 112 |
|
141 |
|
| 113 |
# Run a quick test for root. |
142 |
# Do we want to run this script from here in such an automated manner? |
| 114 |
if [ -z "$KDEROOTHOME" ] && [ "$UID" = "0" ]; then |
143 |
# Or leave the script to be run only at the user's discretion? |
| 115 |
echo "[startkde] User ID is $UID. Setting KDEROOTHOME to $KDEHOME." |
144 |
# The migratekde3 script as written (in draft) requires user intervention, |
| 116 |
export KDEROOTHOME=$KDEHOME |
145 |
# which to succeed in TDE needs something like KDialog. Refer to the |
|
|
146 |
# commentary in migratekde3 for more details. |
| 147 |
# if [ -x $TDEDIR/migratekde3 ]; then |
| 148 |
# sh $TDEDIR/migratekde3 |
| 149 |
# fi |
| 150 |
|
| 151 |
# kdesu needs something to find root's TDE profile. Set the TDEROOTHOME variable |
| 152 |
# here as last resort. /root/.trinity is a safe presumption. If an admin wants |
| 153 |
# a different location then set the TDEROOTHOME variable elsewhere. |
| 154 |
if [ -z "$TDEROOTHOME" ]; then |
| 155 |
export TDEROOTHOME=/root/.trinity |
| 156 |
echo "[starttde] Setting TDEROOTHOME to $TDEROOTHOME." |
| 117 |
fi |
157 |
fi |
| 118 |
|
158 |
|
| 119 |
# Modify the following environment variables only as necessary. |
159 |
# Modify the following environment variables only as necessary. |
| 120 |
if [ -d /opt/trinity/games ]; then |
160 |
if [ -d $TDEDIR/games ]; then |
| 121 |
export PATH=/opt/trinity/games:$PATH |
161 |
if [ -z "`echo $PATH | grep \"$TDEDIR/games\"`" ]; then |
| 122 |
fi |
162 |
export PATH=$TDEDIR/games:$PATH |
| 123 |
if [ -d /opt/trinity/bin ]; then |
163 |
fi |
| 124 |
export PATH=/opt/trinity/bin:$PATH |
|
|
| 125 |
fi |
| 126 |
if [ -d /opt/trinity/games ]; then |
| 127 |
export PATH=/opt/trinity/games:$PATH |
| 128 |
fi |
| 129 |
if [ -d /opt/trinity/bin ]; then |
| 130 |
export PATH=/opt/trinity/bin:$PATH |
| 131 |
fi |
| 132 |
if [ -d /opt/trinity/share ]; then |
| 133 |
export XDG_DATA_DIRS=$XDG_DATA_DIRS:/opt/trinity/share/:/usr/share/ |
| 134 |
fi |
| 135 |
if [ -d /opt/trinity/share ]; then |
| 136 |
export XDG_DATA_DIRS=$XDG_DATA_DIRS:/opt/trinity/share/:/usr/share/ |
| 137 |
fi |
| 138 |
if [ -d /opt/trinity/etc/xdg ]; then |
| 139 |
export XDG_CONFIG_DIRS=$XDG_CONFIG_DIRS:/opt/trinity/etc/xdg/:/etc/xdg/ |
| 140 |
fi |
| 141 |
if [ -d /opt/trinity/etc/xdg ]; then |
| 142 |
export XDG_CONFIG_DIRS=$XDG_CONFIG_DIRS:/opt/trinity/etc/xdg/:/etc/xdg/ |
| 143 |
fi |
164 |
fi |
| 144 |
if [ -d /opt/trinity/share/man ]; then |
165 |
if [ -d $TDEDIR/bin ]; then |
| 145 |
export MANPATH=/opt/trinity/share/man:$MANPATH |
166 |
if [ -z "`echo $PATH | grep \"$TDEDIR/bin\"`" ]; then |
|
|
167 |
export PATH=$TDEDIR/bin:$PATH |
| 168 |
fi |
| 146 |
fi |
169 |
fi |
| 147 |
if [ -d /opt/trinity/share/man ]; then |
170 |
if [ -d $TDEDIR/share ]; then |
| 148 |
export MANPATH=/opt/trinity/share/man:$MANPATH |
171 |
if [ -z "`echo $XDG_DATA_DIRS | grep \"$TDEDIR/share\"`" ]; then |
|
|
172 |
if [ "$XDG_DATA_DIRS" = "" ]; then |
| 173 |
XDG_DATA_DIRS=$TDEDIR/share |
| 174 |
else |
| 175 |
XDG_DATA_DIRS=$XDG_DATA_DIRS:$TDEDIR/share |
| 176 |
fi |
| 177 |
export XDG_DATA_DIRS |
| 178 |
fi |
| 149 |
fi |
179 |
fi |
| 150 |
if [ -d /opt/trinity ]; then |
180 |
if [ -d $TDEDIR/etc/xdg ]; then |
| 151 |
if [ -n "$KDEDIRS" ]; then |
181 |
if [ -z "`echo $XDG_CONFIG_DIRS | grep \"$TDEDIR/etc/xdg\"`" ]; then |
| 152 |
export KDEDIRS=$KDEDIRS:/opt/trinity/:/usr/ |
182 |
if [ "$XDG_CONFIG_DIRS" = "" ]; then |
| 153 |
else |
183 |
XDG_CONFIG_DIRS=$TDEDIR/etc/xdg |
| 154 |
export KDEDIRS=/opt/trinity/:/usr/ |
184 |
else |
|
|
185 |
XDG_CONFIG_DIRS=$XDG_CONFIG_DIRS:$TDEDIR/etc/xdg |
| 186 |
fi |
| 187 |
export XDG_CONFIG_DIRS |
| 155 |
fi |
188 |
fi |
| 156 |
fi |
189 |
fi |
| 157 |
if [ -d /opt/trinity ]; then |
190 |
if [ -d $TDEDIR/share/man ]; then |
| 158 |
if [ -n "$KDEDIRS" ]; then |
191 |
if [ -z "`echo $MANPATH | grep \"$TDEDIR/share/man\"`" ]; then |
| 159 |
export KDEDIRS=$KDEDIRS:/opt/trinity/:/usr/ |
192 |
export MANPATH=$TDEDIR/share/man:$MANPATH |
| 160 |
else |
|
|
| 161 |
export KDEDIRS=/opt/trinity/:/usr/ |
| 162 |
fi |
193 |
fi |
| 163 |
fi |
194 |
fi |
| 164 |
|
195 |
|
| 165 |
test -n "$KDEHOME" && kdehome=`echo "$KDEHOME" | sed "s,^~/,$HOME/,"` |
196 |
test -n "$TDEHOME" && tdehome=`echo "$TDEHOME" | sed "s,^~/,$HOME/,"` |
| 166 |
echo "[startkde] kdehome: $kdehome" 1>&2 |
|
|
| 167 |
|
197 |
|
| 168 |
# Allow interested applications, such as the Plasma control wrapper, |
198 |
# Allow interested applications, such as the Plasma control wrapper, |
| 169 |
# to know that this is a Trinity desktop and not a KDE one. |
199 |
# to know that this is a Trinity desktop and not a TDE one. |
| 170 |
export DESKTOP_SESSION=trinity |
200 |
export DESKTOP_SESSION=trinity |
| 171 |
|
201 |
|
| 172 |
# Please see kstartupconfig source for usage. |
202 |
# Please see kstartupconfig source for usage. |
| 173 |
mkdir -m 700 -p $kdehome |
203 |
if [ ! -d "$HOME/.trinity" ]; then |
| 174 |
mkdir -m 700 -p $kdehome/share |
204 |
echo "[starttde] Creating $HOME/.trinity." 1>&2 |
| 175 |
mkdir -m 700 -p $kdehome/share/config |
205 |
fi |
| 176 |
cat >$kdehome/share/config/startupconfigkeys <<EOF |
206 |
mkdir -m 700 -p $tdehome |
|
|
207 |
mkdir -m 700 -p $tdehome/share |
| 208 |
mkdir -m 700 -p $tdehome/share/config |
| 209 |
cat >$tdehome/share/config/startupconfigkeys <<EOF |
| 177 |
kcminputrc Mouse cursorTheme '' |
210 |
kcminputrc Mouse cursorTheme '' |
| 178 |
kcminputrc Mouse cursorSize '' |
211 |
kcminputrc Mouse cursorSize '' |
| 179 |
kpersonalizerrc General FirstLogin true |
212 |
kpersonalizerrc General FirstLogin true |
|
Lines 185-204
Link Here
|
| 185 |
kcmrandrrc [Screen3] |
218 |
kcmrandrrc [Screen3] |
| 186 |
kcmfonts General forceFontDPI 0 |
219 |
kcmfonts General forceFontDPI 0 |
| 187 |
EOF |
220 |
EOF |
| 188 |
kstartupconfig |
221 |
$TDEDIR/bin/kstartupconfig |
| 189 |
if test $? -ne 0; then |
222 |
if test $? -ne 0; then |
| 190 |
xmessage -geometry 500x100 "Could not start kstartupconfig. Check your installation." |
223 |
xmessage -center -geometry 500x100 "Could not start kstartupconfig. Check your installation." |
| 191 |
fi |
224 |
fi |
| 192 |
# $kdehome/share/config/startupconfig should exist but avoid script failure if not. |
225 |
# $tdehome/share/config/startupconfig should exist but avoid script failure if not. |
| 193 |
if [ -r $kdehome/share/config/startupconfig ]; then |
226 |
if [ -r $tdehome/share/config/startupconfig ]; then |
| 194 |
. $kdehome/share/config/startupconfig |
227 |
. $tdehome/share/config/startupconfig |
| 195 |
fi |
228 |
fi |
| 196 |
|
229 |
|
| 197 |
# Make sure a default wallpaper is set. |
230 |
# Make sure a default wallpaper is set. |
| 198 |
if [ ! -e $kdehome/share/config/kdesktoprc ]; then |
231 |
if [ ! -e $tdehome/share/config/kdesktoprc ]; then |
| 199 |
# With Trinity KDE this file should exist, but test first. |
232 |
# With Trinity this file should exist, but test first. |
| 200 |
if [ -r /usr/share/wallpapers/isadora.png.desktop ]; then |
233 |
if [ -r /usr/share/wallpapers/isadora.png.desktop ]; then |
| 201 |
cat >$kdehome/share/config/kdesktoprc <<EOF |
234 |
cat >$tdehome/share/config/kdesktoprc <<EOF |
| 202 |
[Desktop0] |
235 |
[Desktop0] |
| 203 |
Wallpaper=isadora.png |
236 |
Wallpaper=isadora.png |
| 204 |
WallpaperMode=Scaled |
237 |
WallpaperMode=Scaled |
|
Lines 208-330
Link Here
|
| 208 |
|
241 |
|
| 209 |
# XCursor mouse theme needs to be applied here to work even for kded or ksmserver. |
242 |
# XCursor mouse theme needs to be applied here to work even for kded or ksmserver. |
| 210 |
if test -n "$kcminputrc_mouse_cursortheme" -o -n "$kcminputrc_mouse_cursorsize" ; then |
243 |
if test -n "$kcminputrc_mouse_cursortheme" -o -n "$kcminputrc_mouse_cursorsize" ; then |
| 211 |
kapplymousetheme "$kcminputrc_mouse_cursortheme" "$kcminputrc_mouse_cursorsize" |
244 |
kapplymousetheme "$kcminputrc_mouse_cursortheme" "$kcminputrc_mouse_cursorsize" |
| 212 |
if test $? -eq 10; then |
245 |
if test $? -eq 10; then |
| 213 |
export XCURSOR_THEME=default |
246 |
export XCURSOR_THEME=default |
| 214 |
elif test -n "$kcminputrc_mouse_cursortheme"; then |
247 |
elif test -n "$kcminputrc_mouse_cursortheme"; then |
| 215 |
export XCURSOR_THEME="$kcminputrc_mouse_cursortheme" |
248 |
export XCURSOR_THEME="$kcminputrc_mouse_cursortheme" |
| 216 |
fi |
249 |
fi |
| 217 |
if test -n "$kcminputrc_mouse_cursorsize"; then |
250 |
if test -n "$kcminputrc_mouse_cursorsize"; then |
| 218 |
export XCURSOR_SIZE="$kcminputrc_mouse_cursorsize" |
251 |
export XCURSOR_SIZE="$kcminputrc_mouse_cursorsize" |
| 219 |
fi |
252 |
fi |
| 220 |
fi |
253 |
fi |
| 221 |
|
254 |
|
| 222 |
if test "$kcmrandrrc_display_applyonstartup" = "true"; then |
255 |
if test "$kcmrandrrc_display_applyonstartup" = "true"; then |
| 223 |
# 4 screens is hopefully enough |
256 |
# 4 screens is hopefully enough |
| 224 |
for scrn in 0 1 2 3; do |
257 |
for scrn in 0 1 2 3; do |
| 225 |
args= |
258 |
args= |
| 226 |
width="\$kcmrandrrc_screen${scrn}_width" ; eval "width=$width" |
259 |
width="\$kcmrandrrc_screen${scrn}_width" ; eval "width=$width" |
| 227 |
height="\$kcmrandrrc_screen${scrn}_height" ; eval "height=$height" |
260 |
height="\$kcmrandrrc_screen${scrn}_height" ; eval "height=$height" |
| 228 |
if test -n "${width}" -a -n "${height}"; then |
261 |
if test -n "${width}" -a -n "${height}"; then |
| 229 |
args="$args -s ${width}x${height}" |
262 |
args="$args -s ${width}x${height}" |
| 230 |
fi |
263 |
fi |
| 231 |
refresh="\$kcmrandrrc_screen${scrn}_refresh" ; eval "refresh=$refresh" |
264 |
refresh="\$kcmrandrrc_screen${scrn}_refresh" ; eval "refresh=$refresh" |
| 232 |
if test -n "${refresh}"; then |
265 |
if test -n "${refresh}"; then |
| 233 |
args="$args -r ${refresh}" |
266 |
args="$args -r ${refresh}" |
| 234 |
fi |
267 |
fi |
| 235 |
rotation="\$kcmrandrrc_screen${scrn}_rotation" ; eval "rotation=$rotation" |
268 |
rotation="\$kcmrandrrc_screen${scrn}_rotation" ; eval "rotation=$rotation" |
| 236 |
if test -n "${rotation}"; then |
269 |
if test -n "${rotation}"; then |
| 237 |
case "${rotation}" in |
270 |
case "${rotation}" in |
| 238 |
0) |
271 |
0) |
| 239 |
args="$args -o 0" |
272 |
args="$args -o 0" |
| 240 |
;; |
273 |
;; |
| 241 |
90) |
274 |
90) |
| 242 |
args="$args -o 1" |
275 |
args="$args -o 1" |
| 243 |
;; |
276 |
;; |
| 244 |
180) |
277 |
180) |
| 245 |
args="$args -o 2" |
278 |
args="$args -o 2" |
| 246 |
;; |
279 |
;; |
| 247 |
270) |
280 |
270) |
| 248 |
args="$args -o 3" |
281 |
args="$args -o 3" |
| 249 |
;; |
282 |
;; |
| 250 |
esac |
283 |
esac |
| 251 |
fi |
284 |
fi |
| 252 |
reflectx="\$kcmrandrrc_screen${scrn}_reflectx" ; eval "reflectx=$reflectx" |
285 |
reflectx="\$kcmrandrrc_screen${scrn}_reflectx" ; eval "reflectx=$reflectx" |
| 253 |
if test "${refrectx}" = "true"; then |
286 |
if test "${refrectx}" = "true"; then |
| 254 |
args="$args -x" |
287 |
args="$args -x" |
| 255 |
fi |
288 |
fi |
| 256 |
reflecty="\$kcmrandrrc_screen${scrn}_reflecty" ; eval "reflecty=$reflecty" |
289 |
reflecty="\$kcmrandrrc_screen${scrn}_reflecty" ; eval "reflecty=$reflecty" |
| 257 |
if test "${refrecty}" = "true"; then |
290 |
if test "${refrecty}" = "true"; then |
| 258 |
args="$args -y" |
291 |
args="$args -y" |
| 259 |
fi |
292 |
fi |
| 260 |
if test -n "$args"; then |
293 |
if test -n "$args"; then |
| 261 |
xrandr $args |
294 |
xrandr $args |
| 262 |
fi |
295 |
fi |
| 263 |
done |
296 |
done |
| 264 |
fi |
297 |
fi |
| 265 |
|
298 |
|
| 266 |
dl=$DESKTOP_LOCKED |
299 |
dl=$DESKTOP_LOCKED |
| 267 |
unset DESKTOP_LOCKED # Don't want it in the environment |
300 |
unset DESKTOP_LOCKED # Don't want it in the environment |
| 268 |
|
301 |
|
| 269 |
# Launch splash that doesn't need any KDE libraries here, before |
302 |
# Launch splash that doesn't need any TDE libraries here, before |
| 270 |
# KDE libraries are loaded into memory (which may take some time |
303 |
# TDE libraries are loaded into memory (which may take some time |
| 271 |
# with cold caches). Makes the splash appear sooner. |
304 |
# with cold caches). Makes the splash appear sooner. |
| 272 |
# If kpersonalizer needs to be run splash will be started only later. |
305 |
# If kpersonalizer needs to be run splash will be started only later. |
| 273 |
if test -z "$dl" && test "$kpersonalizerrc_general_firstlogin" != "true"; then |
306 |
if test -z "$dl" && test "$kpersonalizerrc_general_firstlogin" != "true"; then |
| 274 |
case "$ksplashrc_ksplash_theme" in |
307 |
case "$ksplashrc_ksplash_theme" in |
| 275 |
Simple) |
308 |
Simple) |
| 276 |
ksplashsimple |
309 |
ksplashsimple |
| 277 |
;; |
310 |
;; |
| 278 |
*) |
311 |
*) |
| 279 |
;; |
312 |
;; |
| 280 |
esac |
313 |
esac |
| 281 |
fi |
314 |
fi |
| 282 |
|
315 |
|
| 283 |
if test "$kcmfonts_general_forcefontdpi" -eq 120; then |
316 |
if test "$kcmfonts_general_forcefontdpi" -eq 120; then |
| 284 |
xrdb -quiet -merge -nocpp <<EOF |
317 |
xrdb -quiet -merge -nocpp <<EOF |
| 285 |
Xft.dpi: 120 |
318 |
Xft.dpi: 120 |
| 286 |
EOF |
319 |
EOF |
| 287 |
elif test "$kcmfonts_general_forcefontdpi" -eq 96; then |
320 |
elif test "$kcmfonts_general_forcefontdpi" -eq 96; then |
| 288 |
xrdb -quiet -merge -nocpp <<EOF |
321 |
xrdb -quiet -merge -nocpp <<EOF |
| 289 |
Xft.dpi: 96 |
322 |
Xft.dpi: 96 |
| 290 |
EOF |
323 |
EOF |
| 291 |
fi |
324 |
fi |
| 292 |
|
325 |
|
| 293 |
# Configuration of the gtk_qt_engine if not already set. |
326 |
# Configuration of the gtk_qt_engine if not already set. |
| 294 |
|
327 |
|
| 295 |
if test -n "$KDEDIRS"; then |
328 |
if test -n "$TDEDIRS"; then |
| 296 |
kdedirs_first=`echo "$KDEDIRS" | sed -e 's/:.*//'` |
329 |
tdedirs_first=`echo "$TDEDIRS" | sed -e 's/:.*//'` |
| 297 |
KGTK_RC_ENGINE=$kdedirs_first/share/kgtk/gtk-qt-engine.rc.sh |
330 |
TGTK_RC_ENGINE=$tdedirs_first/share/kgtk/gtk-qt-engine.rc.sh |
| 298 |
KGTK_RC_KDE1=$kdedirs_first/share/kgtk/.gtkrc-2.0-kde4 |
331 |
TGTK_RC_TDE1=$tdedirs_first/share/kgtk/.gtkrc-2.0-kde4 |
| 299 |
KGTK_RC_KDE2=$kdedirs_first/share/kgtk/.gtkrc-2.0-kde-kde4 |
332 |
TGTK_RC_TDE2=$tdedirs_first/share/kgtk/.gtkrc-2.0-kde-kde4 |
| 300 |
else |
333 |
else |
| 301 |
KGTK_RC_ENGINE=$KDEDIR/share/kgtk/gtk-qt-engine.rc.sh |
334 |
TGTK_RC_ENGINE=$TDEDIR/share/kgtk/gtk-qt-engine.rc.sh |
| 302 |
KGTK_RC_KDE1=$KDEDIR/share/kgtk/.gtkrc-2.0-kde4 |
335 |
TGTK_RC_TDE1=$TDEDIR/share/kgtk/.gtkrc-2.0-kde4 |
| 303 |
KGTK_RC_KDE2=$KDEDIR/share/kgtk/.gtkrc-2.0-kde-kde4 |
336 |
TGTK_RC_TDE2=$TDEDIR/share/kgtk/.gtkrc-2.0-kde-kde4 |
| 304 |
fi |
337 |
fi |
| 305 |
|
338 |
|
| 306 |
if [ ! -e $kdehome/env/gtk-qt-engine.rc.sh ] && [ -e $KGTK_RC_ENGINE ] |
339 |
if [ ! -e $tdehome/env/gtk-qt-engine.rc.sh ] && [ -e $TGTK_RC_ENGINE ] |
| 307 |
then |
340 |
then |
| 308 |
mkdir -p $kdehome/env |
341 |
mkdir -p $tdehome/env |
| 309 |
cp -f $KGTK_RC_ENGINE $kdehome/env |
342 |
cp -f $TGTK_RC_ENGINE $tdehome/env |
| 310 |
chmod 755 $kdehome/env/gtk-qt-engine.rc.sh |
343 |
chmod 755 $tdehome/env/gtk-qt-engine.rc.sh |
| 311 |
fi |
344 |
fi |
| 312 |
|
345 |
|
| 313 |
if [ ! -e $HOME/.gtkrc-2.0-kde4 ] && [ -e $KGTK_RC_KDE1 ] |
346 |
if [ ! -e $HOME/.gtkrc-2.0-kde4 ] && [ -e $TGTK_RC_TDE1 ] |
| 314 |
then |
347 |
then |
| 315 |
cp -f $KGTK_RC_KDE1 $HOME |
348 |
cp -f $TGTK_RC_TDE1 $HOME |
| 316 |
fi |
349 |
fi |
| 317 |
|
350 |
|
| 318 |
if [ ! -e $HOME/.gtkrc-2.0-kde-kde4 ] && [ -e $KGTK_RC_KDE2 ] |
351 |
if [ ! -e $HOME/.gtkrc-2.0-kde-kde4 ] && [ -e $TGTK_RC_TDE2 ] |
| 319 |
then |
352 |
then |
| 320 |
cp -f $KGTK_RC_KDE2 $HOME |
353 |
cp -f $TGTK_RC_TDE2 $HOME |
| 321 |
fi |
354 |
fi |
| 322 |
|
355 |
|
| 323 |
# Source scripts found in <localprefix>/env/*.sh and <prefixes>/env/*.sh |
356 |
# Source scripts found in <localprefix>/env/*.sh and <prefixes>/env/*.sh |
| 324 |
# (where <localprefix> is $KDEHOME or ~/.trinity, and <prefixes> is where KDE is installed) |
357 |
# (where <localprefix> is $TDEHOME or ~/.trinity, and <prefixes> is where TDE is installed) |
| 325 |
# |
358 |
# |
| 326 |
# This is where you can define environment variables that will be available to |
359 |
# This is where you can define environment variables that will be available to |
| 327 |
# all KDE programs, so this is where you can run agents using e.g. eval `ssh-agent` |
360 |
# all TDE programs, so this is where you can run agents using e.g. eval `ssh-agent` |
| 328 |
# or eval `gpg-agent --daemon`. |
361 |
# or eval `gpg-agent --daemon`. |
| 329 |
# Note: if you do that, you should also put "ssh-agent -k" as a shutdown script |
362 |
# Note: if you do that, you should also put "ssh-agent -k" as a shutdown script |
| 330 |
# |
363 |
# |
|
Lines 340-348
Link Here
|
| 340 |
done |
373 |
done |
| 341 |
done |
374 |
done |
| 342 |
|
375 |
|
| 343 |
# Activate the kde font directories. |
376 |
# Activate the TDE font directories. |
| 344 |
# |
377 |
# |
| 345 |
# There are 4 directories that may be used for supplying fonts for KDE. |
378 |
# There are 4 directories that may be used for supplying fonts for TDE. |
| 346 |
# |
379 |
# |
| 347 |
# There are two system directories. These belong to the administrator. |
380 |
# There are two system directories. These belong to the administrator. |
| 348 |
# There are two user directories, where the user may add her own fonts. |
381 |
# There are two user directories, where the user may add her own fonts. |
|
Lines 361-422
Link Here
|
| 361 |
usr_fdir=$HOME/.fonts |
394 |
usr_fdir=$HOME/.fonts |
| 362 |
|
395 |
|
| 363 |
# Add any user-installed font directories to the X font path |
396 |
# Add any user-installed font directories to the X font path |
| 364 |
kde_fontpaths=$usr_fdir/fontpaths |
397 |
tde_fontpaths=$usr_fdir/fontpaths |
| 365 |
do_usr_fdir=1 |
398 |
do_usr_fdir=1 |
| 366 |
do_usr_odir=1 |
399 |
do_usr_odir=1 |
| 367 |
if test -r "$kde_fontpaths" ; then |
400 |
if test -r "$tde_fontpaths" ; then |
| 368 |
savifs=$IFS |
401 |
savifs=$IFS |
| 369 |
IFS=" |
402 |
IFS=" |
| 370 |
" |
403 |
" |
| 371 |
for fpath in `grep -v '^[ ]*#' < "$kde_fontpaths"` ; do |
404 |
for fpath in `grep -v '^[ ]*#' < "$tde_fontpaths"` ; do |
| 372 |
rfpath=`echo $fpath | sed "s:^~:$HOME:g"` |
405 |
rfpath=`echo $fpath | sed "s:^~:$HOME:g"` |
| 373 |
if test -s "$rfpath"/fonts.dir; then |
406 |
if test -s "$rfpath"/fonts.dir; then |
| 374 |
xset fp+ "$rfpath" |
407 |
xset fp+ "$rfpath" |
| 375 |
if test "$rfpath" = "$usr_fdir"; then |
408 |
if test "$rfpath" = "$usr_fdir"; then |
| 376 |
do_usr_fdir=0 |
409 |
do_usr_fdir=0 |
| 377 |
fi |
410 |
fi |
| 378 |
if test "$rfpath" = "$usr_odir"; then |
411 |
if test "$rfpath" = "$usr_odir"; then |
| 379 |
do_usr_odir=0 |
412 |
do_usr_odir=0 |
| 380 |
fi |
413 |
fi |
| 381 |
fi |
414 |
fi |
| 382 |
done |
415 |
done |
| 383 |
IFS=$savifs |
416 |
IFS=$savifs |
| 384 |
fi |
417 |
fi |
| 385 |
|
418 |
|
| 386 |
if [ ! -n "$KDEDIR" ]; then |
419 |
if [ ! -n "$TDEDIR" ]; then |
| 387 |
export KDEDIR=`echo "$KDEDIRS" | sed -e 's/:.*//'` |
420 |
export TDEDIR=`echo "$TDEDIRS" | sed -e 's/:.*//'` |
| 388 |
fi |
421 |
fi |
| 389 |
|
422 |
|
| 390 |
echo "[startkde] KDEDIR: $KDEDIR" 1>&2 |
423 |
echo "[starttde] TDEDIR: $TDEDIR" 1>&2 |
| 391 |
echo "[startkde] KDEDIRS: $KDEDIRS" 1>&2 |
424 |
echo "[starttde] TDEDIRS: $TDEDIRS" 1>&2 |
| 392 |
|
425 |
|
| 393 |
if test -n "$KDEDIRS"; then |
426 |
if test -n "$TDEDIRS"; then |
| 394 |
kdedirs_first=`echo "$KDEDIRS" | sed -e 's/:.*//'` |
427 |
tdedirs_first=`echo "$TDEDIRS" | sed -e 's/:.*//'` |
| 395 |
sys_odir=$kdedirs_first/share/fonts/override |
428 |
sys_odir=$tdedirs_first/share/fonts/override |
| 396 |
sys_fdir=$kdedirs_first/share/fonts |
429 |
sys_fdir=$tdedirs_first/share/fonts |
| 397 |
else |
430 |
else |
| 398 |
sys_odir=$KDEDIR/share/fonts/override |
431 |
sys_odir=$TDEDIR/share/fonts/override |
| 399 |
sys_fdir=$KDEDIR/share/fonts |
432 |
sys_fdir=$TDEDIR/share/fonts |
| 400 |
fi |
433 |
fi |
| 401 |
|
434 |
|
| 402 |
if test -n "$KDEDIRS"; then |
435 |
if test -n "$TDEDIRS"; then |
| 403 |
kdedirs_first=`echo "$KDEDIRS" | sed -e 's/:.*//'` |
436 |
tdedirs_first=`echo "$TDEDIRS" | sed -e 's/:.*//'` |
| 404 |
echo "[startkde] kdedirs_first: $kdedirs_first" |
437 |
echo "[starttde] tdedirs_first: $tdedirs_first" |
| 405 |
if [ -r $kdedirs_first/share/kgtk/preload ]; then |
438 |
if [ -r $tdedirs_first/share/kgtk/preload ]; then |
| 406 |
echo "[startkde] Reading from $kdedirs_first/share/kgtk/preload" |
439 |
echo "[starttde] Reading from $tdedirs_first/share/kgtk/preload" |
| 407 |
read -r KGTK_PRELOAD < $kdedirs_first/share/kgtk/preload |
440 |
read -r TGTK_PRELOAD < $tdedirs_first/share/kgtk/preload |
| 408 |
fi |
441 |
fi |
| 409 |
else |
442 |
else |
| 410 |
if [ -r $KDEDIR/share/kgtk/preload ]; then |
443 |
if [ -r $TDEDIR/share/kgtk/preload ]; then |
| 411 |
read -r KGTK_PRELOAD < $KDEDIR/share/kgtk/preload |
444 |
read -r TGTK_PRELOAD < $TDEDIR/share/kgtk/preload |
| 412 |
fi |
445 |
fi |
| 413 |
fi |
446 |
fi |
| 414 |
|
447 |
|
| 415 |
if [ -n $KGTK_PRELOAD ]; then |
448 |
if [ -n $TGTK_PRELOAD ]; then |
| 416 |
if [ -e /usr/lib/libnspr4.so ]; then |
449 |
if [ -e /usr/lib/libnspr4.so ]; then |
| 417 |
KGTK_NSPR_PRELOAD="/usr/lib/libnspr4.so:" |
450 |
KGTK_NSPR_PRELOAD="/usr/lib/libnspr4.so:" |
| 418 |
fi |
451 |
fi |
| 419 |
export LD_PRELOAD=$KGTK_PRELOAD:$KGTK_NSPR_PRELOAD$LD_PRELOAD |
452 |
export LD_PRELOAD=$TGTK_PRELOAD:$KGTK_NSPR_PRELOAD$LD_PRELOAD |
| 420 |
fi |
453 |
fi |
| 421 |
|
454 |
|
| 422 |
# We run mkfontdir on the user's font dirs (if we have permission) to pick |
455 |
# We run mkfontdir on the user's font dirs (if we have permission) to pick |
|
Lines 438-444
Link Here
|
| 438 |
|
471 |
|
| 439 |
# Set a left cursor instead of the standard X11 "X" cursor, since I've heard |
472 |
# Set a left cursor instead of the standard X11 "X" cursor, since I've heard |
| 440 |
# from some users that they're confused and don't know what to do. This is |
473 |
# from some users that they're confused and don't know what to do. This is |
| 441 |
# especially necessary on slow machines, where starting KDE takes one or two |
474 |
# especially necessary on slow machines, where starting TDE takes one or two |
| 442 |
# minutes until anything appears on the screen. |
475 |
# minutes until anything appears on the screen. |
| 443 |
# |
476 |
# |
| 444 |
# If the user has overwritten fonts, the cursor font may be different now |
477 |
# If the user has overwritten fonts, the cursor font may be different now |
|
Lines 446-452
Link Here
|
| 446 |
# |
479 |
# |
| 447 |
xsetroot -cursor_name left_ptr |
480 |
xsetroot -cursor_name left_ptr |
| 448 |
|
481 |
|
| 449 |
# Get Ghostscript to look into user's KDE fonts dir for additional Fontmap |
482 |
# Get Ghostscript to look into user's TDE fonts dir for additional Fontmap |
| 450 |
if test -n "$GS_LIB" ; then |
483 |
if test -n "$GS_LIB" ; then |
| 451 |
GS_LIB=$usr_fdir:$GS_LIB |
484 |
GS_LIB=$usr_fdir:$GS_LIB |
| 452 |
export GS_LIB |
485 |
export GS_LIB |
|
Lines 455-506
Link Here
|
| 455 |
export GS_LIB |
488 |
export GS_LIB |
| 456 |
fi |
489 |
fi |
| 457 |
|
490 |
|
| 458 |
# Link "tmp" "socket" and "cache" resources to directory in /tmp |
491 |
# Link "tmp" "socket" and "cache" resources to directory in $TMP |
| 459 |
# Creates: |
492 |
# Creates: |
| 460 |
# - a directory /tmp/kde-$USER and links $KDEHOME/tmp-$HOSTNAME to it. |
493 |
# - a directory $TMP/tde-$USER and links $TDEHOME/tmp-$HOSTNAME to it. |
| 461 |
# - a directory /tmp/ksocket-$USER and links $KDEHOME/socket-$HOSTNAME to it. |
494 |
# - a directory $TMP/ksocket-$USER and links $TDEHOME/socket-$HOSTNAME to it. |
| 462 |
# - a directory /var/tmp/kdecache-$USER and links $KDEHOME/cache-$HOSTNAME to it. |
495 |
# - a directory /var/tmp/tdecache-$USER and links $TDEHOME/cache-$HOSTNAME to it. |
| 463 |
# Note: temporary locations can be overriden through the KDETMP and KDEVARTMP |
496 |
# Note: temporary locations can be overriden through the TDETMP and TDEVARTMP |
| 464 |
# environment variables. |
497 |
# environment variables. |
| 465 |
for resource in tmp cache socket; do |
498 |
for resource in tmp cache socket; do |
| 466 |
if ! lnusertemp $resource >/dev/null; then |
499 |
if ! lnusertemp $resource >/dev/null; then |
| 467 |
echo "[startkde] Call to lnusertemp failed (temporary directories full?). Check your installation." 1>&2 |
500 |
echo "[starttde] Call to lnusertemp failed (temporary directories full?). Check your installation." 1>&2 |
| 468 |
xmessage -geometry 600x100 "Call to lnusertemp failed (temporary directories full?). Check your installation." |
501 |
xmessage -center -geometry 600x100 "Call to lnusertemp failed (temporary directories full?). Check your installation." |
| 469 |
exit 1 |
502 |
exit 1 |
| 470 |
fi |
503 |
fi |
| 471 |
done |
504 |
done |
| 472 |
|
505 |
|
| 473 |
# In case of dcop sockets left by a previous session, cleanup. |
506 |
# In case of dcop sockets left by a previous session, cleanup. |
| 474 |
dcopserver_shutdown |
507 |
$TDEDIR/bin/dcopserver_shutdown |
| 475 |
|
508 |
|
| 476 |
echo '[startkde] Starting Trinity...' 1>&2 |
509 |
echo '[starttde] Starting Trinity...' 1>&2 |
| 477 |
|
510 |
|
| 478 |
# Detect any running Xorg composition managers |
511 |
# Detect any running Xorg composition managers |
| 479 |
$KDEDIR/bin/kdetcompmgr |
512 |
$TDEDIR/bin/kdetcompmgr |
| 480 |
|
513 |
|
| 481 |
# Run KPersonalizer before the session if this is the first login. |
514 |
# Run KPersonalizer before the session if this is the first login. |
| 482 |
if test "$kpersonalizerrc_general_firstlogin" = "true"; then |
515 |
if test "$kpersonalizerrc_general_firstlogin" = "true"; then |
| 483 |
if [ ! -x $KDEDIR/bin/kpersonalizer ]; then |
516 |
if [ ! -x $TDEDIR/bin/kpersonalizer ]; then |
| 484 |
echo "[startkde] kpersonalizer not found! Please install it in order to properly configure your user profile." 1>&2 |
517 |
echo "[starttde] kpersonalizer not found! Please install in order to properly configure your user profile." 1>&2 |
| 485 |
else |
518 |
else |
| 486 |
# start only dcopserver, don't start whole kdeinit (takes too long) |
519 |
# start only dcopserver, don't start whole tdeinit (takes too long) |
| 487 |
echo "[startkde] Running kpersonalizer..." 1>&2 |
520 |
echo "[starttde] Running kpersonalizer..." 1>&2 |
| 488 |
dcopserver |
521 |
$TDEDIR/bin/dcopserver |
| 489 |
kwin --lock & |
522 |
$TDEDIR/bin/twin --lock & |
| 490 |
kpersonalizer --before-session |
523 |
$TDEDIR/bin/kpersonalizer --before-session |
| 491 |
# handle kpersonalizer restarts (language change) |
524 |
# handle kpersonalizer restarts (language change) |
| 492 |
while test $? -eq 1; do |
525 |
while test $? -eq 1; do |
| 493 |
kpersonalizer --r --before-session |
526 |
$TDEDIR/bin/kpersonalizer --r --before-session |
| 494 |
done |
527 |
done |
| 495 |
dcopquit kwin |
528 |
$TDEDIR/bin/dcopquit twin |
| 496 |
dcopserver_shutdown --wait |
529 |
$TDEDIR/bin/dcopserver_shutdown --wait |
| 497 |
fi |
530 |
fi |
| 498 |
fi |
531 |
fi |
| 499 |
|
532 |
|
| 500 |
# Remove moodin cache if we have a new wallpaper installed, jriddell. Distro-specific. |
533 |
# Remove moodin cache if we have a new wallpaper installed, jriddell. Distro-specific. |
| 501 |
if [ -d $kdehome/share/apps/ksplash/cache/Moodin/kubuntu ]; then |
534 |
if [ -d $tdehome/share/apps/ksplash/cache/Moodin/kubuntu ]; then |
| 502 |
if [ /usr/share/wallpapers/kubuntu-wallpaper.png -nt $kdehome/share/apps/ksplash/cache/Moodin/kubuntu/ ]; then |
535 |
if [ /usr/share/wallpapers/kubuntu-wallpaper.png -nt $tdehome/share/apps/ksplash/cache/Moodin/kubuntu/ ]; then |
| 503 |
rm -rf $kdehome/share/apps/ksplash/cache/Moodin/kubuntu/ |
536 |
rm -rf $tdehome/share/apps/ksplash/cache/Moodin/kubuntu/ |
| 504 |
fi |
537 |
fi |
| 505 |
fi |
538 |
fi |
| 506 |
|
539 |
|
|
Lines 508-532
Link Here
|
| 508 |
# the splashscreen and progress indicator |
541 |
# the splashscreen and progress indicator |
| 509 |
case "$ksplashrc_ksplash_theme" in |
542 |
case "$ksplashrc_ksplash_theme" in |
| 510 |
None) |
543 |
None) |
| 511 |
;; # nothing |
544 |
;; # nothing |
| 512 |
Simple) |
545 |
Simple) |
| 513 |
if test "$kpersonalizerrc_general_firstlogin" = "true"; then |
546 |
if test "$kpersonalizerrc_general_firstlogin" = "true"; then |
| 514 |
ksplashsimple |
547 |
$TDEDIR/bin/ksplashsimple |
| 515 |
fi # otherwise started earlier |
548 |
fi # otherwise started earlier |
| 516 |
;; |
549 |
;; |
| 517 |
*) |
550 |
*) |
| 518 |
ksplash --nodcop |
551 |
$TDEDIR/bin/ksplash --nodcop |
| 519 |
;; |
552 |
;; |
| 520 |
esac |
553 |
esac |
| 521 |
fi |
554 |
fi |
| 522 |
|
555 |
|
| 523 |
# Mark that full KDE session is running (e.g. Konqueror preloading works only |
556 |
# Mark that full TDE session is running (e.g. Konqueror preloading works only |
| 524 |
# with full KDE running). The TDE_FULL_SESSION property can be detected by |
557 |
# with full TDE running). The TDE_FULL_SESSION property can be detected by |
| 525 |
# any X client connected to the same X session, even if not launched |
558 |
# any X client connected to the same X session, even if not launched |
| 526 |
# directly from the KDE session but e.g. using "ssh -X", kdesu. $TDE_FULL_SESSION |
559 |
# directly from the TDE session but e.g. using "ssh -X", kdesu. $TDE_FULL_SESSION |
| 527 |
# however guarantees that the application is launched in the same environment |
560 |
# however guarantees that the application is launched in the same environment |
| 528 |
# like the KDE session and that e.g. KDE utilities/libraries are available. |
561 |
# like the TDE session and that e.g. TDE utilities/libraries are available. |
| 529 |
# TDE_FULL_SESSION property is also only available since KDE 3.5.5. |
|
|
| 530 |
# The matching tests are: |
562 |
# The matching tests are: |
| 531 |
# For $TDE_FULL_SESSION: |
563 |
# For $TDE_FULL_SESSION: |
| 532 |
# if test -n "$TDE_FULL_SESSION"; then ... whatever |
564 |
# if test -n "$TDE_FULL_SESSION"; then ... whatever |
|
Lines 534-611
Link Here
|
| 534 |
# xprop -root | grep "^TDE_FULL_SESSION" >/dev/null 2>/dev/null |
566 |
# xprop -root | grep "^TDE_FULL_SESSION" >/dev/null 2>/dev/null |
| 535 |
# if test $? -eq 0; then ... whatever |
567 |
# if test $? -eq 0; then ... whatever |
| 536 |
# |
568 |
# |
| 537 |
# Additionally there is (since KDE 3.5.7) $KDE_SESSION_UID with the uid |
569 |
# Additionally there is $TDE_SESSION_UID with the uid of the user |
| 538 |
# of the user running the KDE session. It should be rarely needed (e.g. |
570 |
# running the TDE session. It should be rarely needed (for example, |
| 539 |
# after sudo to prevent desktop-wide functionality in the new user's kded). |
571 |
# after sudo to prevent desktop-wide functionality in the new user's kded). |
| 540 |
# |
572 |
# |
| 541 |
TDE_FULL_SESSION=true |
573 |
TDE_FULL_SESSION=true |
| 542 |
export TDE_FULL_SESSION |
574 |
export TDE_FULL_SESSION |
| 543 |
xprop -root -f TDE_FULL_SESSION 8t -set TDE_FULL_SESSION true |
575 |
xprop -root -f TDE_FULL_SESSION 8t -set TDE_FULL_SESSION true |
| 544 |
echo "[startkde] TDE_FULL_SESSION: $TDE_FULL_SESSION" 1>&2 |
576 |
echo "[starttde] TDE_FULL_SESSION: $TDE_FULL_SESSION" 1>&2 |
| 545 |
KDE_SESSION_UID=$UID |
577 |
TDE_SESSION_UID=$UID |
| 546 |
export KDE_SESSION_UID |
578 |
export TDE_SESSION_UID |
| 547 |
echo "[startkde] KDE_SESSION_UID: $KDE_SESSION_UID" 1>&2 |
579 |
echo "[starttde] TDE_SESSION_UID: $TDE_SESSION_UID" 1>&2 |
| 548 |
|
580 |
|
| 549 |
# We set LD_BIND_NOW to increase the efficiency of kdeinit. |
581 |
# We set LD_BIND_NOW to increase the efficiency of tdeinit. |
| 550 |
# kdeinit unsets this variable before loading applications. |
582 |
# tdeinit unsets this variable before loading applications. |
| 551 |
LD_BIND_NOW=true start_kdeinit_wrapper --new-startup +kcminit_startup |
583 |
LD_BIND_NOW=true $TDEDIR/bin/start_tdeinit_wrapper --new-startup +kcminit_startup |
| 552 |
if test $? -ne 0; then |
584 |
if test $? -ne 0; then |
| 553 |
# Startup error |
585 |
# Startup error |
| 554 |
echo '[startkde] Could not start kdeinit. Check your installation.' 1>&2 |
586 |
echo '[starttde] Could not start tdeinit. Check your installation.' 1>&2 |
| 555 |
xmessage -geometry 500x100 "Could not start kdeinit. Check your installation." |
587 |
xmessage -center -geometry 500x100 "Could not start tdeinit. Check your installation." |
| 556 |
fi |
588 |
fi |
| 557 |
echo "[startkde] kdeinit started successfully." 1>&2 |
589 |
echo "[starttde] tdeinit started successfully." 1>&2 |
| 558 |
|
590 |
|
| 559 |
# If the session should be locked from the start (locked autologin), |
591 |
# If the session should be locked from the start (locked autologin), |
| 560 |
# lock now and do the rest of the KDE startup underneath the locker. |
592 |
# lock now and do the rest of the TDE startup underneath the locker. |
| 561 |
if test -n "$dl"; then |
593 |
if test -n "$dl"; then |
| 562 |
kwrapper kdesktop_lock --forcelock & |
594 |
$TDEDIR/bin/kwrapper kdesktop_lock --forcelock & |
| 563 |
# Give it some time for starting up. This is somewhat unclean; some |
595 |
# Give it some time for starting up. This is somewhat unclean; some |
| 564 |
# notification would be better. |
596 |
# notification would be better. |
| 565 |
sleep 1 |
597 |
sleep 1 |
| 566 |
fi |
598 |
fi |
| 567 |
|
599 |
|
| 568 |
# Finally, give the session control to the session manager. |
600 |
# Finally, give the session control to the session manager. |
| 569 |
# See kdebase/ksmserver for the description of the rest of the startup sequence. |
601 |
# See tdebase/ksmserver for the description of the rest of the startup sequence. |
| 570 |
# If the KDEWM environment variable has been set, then it will be used as Trinity's |
602 |
# If the TDEWM environment variable has been set, then it will be used as Trinity's |
| 571 |
# window manager instead of kwin. |
603 |
# window manager instead of twin. |
| 572 |
# If KDEWM is not set, ksmserver will ensure kwin is started. |
604 |
# If TDEWM is not set, ksmserver will ensure twin is started. |
| 573 |
# kwrapper is used to reduce startup time and memory usage |
605 |
# kwrapper is used to reduce startup time and memory usage |
| 574 |
# kwrapper does not return usefull error codes such as the exit code of ksmserver. |
606 |
# kwrapper does not return usefull error codes such as the exit code of ksmserver. |
| 575 |
# We only check for 255 which means that the ksmserver process could not be |
607 |
# We only check for 255 which means that the ksmserver process could not be |
| 576 |
# started, any problems thereafter, e.g. ksmserver failing to initialize, |
608 |
# started, any problems thereafter, e.g. ksmserver failing to initialize, |
| 577 |
# will remain undetected. |
609 |
# will remain undetected. |
| 578 |
test -n "$KDEWM" && KDEWM="--windowmanager $KDEWM" |
610 |
test -n "$TDEWM" && TDEWM="--windowmanager $TDEWM" |
| 579 |
kwrapper ksmserver $KDEWM |
611 |
$TDEDIR/bin/kwrapper ksmserver $TDEWM |
| 580 |
if test $? -eq 255; then |
612 |
if test $? -eq 255; then |
| 581 |
# Startup error |
613 |
# Startup error |
| 582 |
echo '[startkde] Could not start ksmserver. Check your installation.' 1>&2 |
614 |
echo '[starttde] Could not start ksmserver. Check your installation.' 1>&2 |
| 583 |
xmessage -geometry 500x100 "Could not start ksmserver. Check your installation." |
615 |
xmessage -center -geometry 500x100 "Could not start ksmserver. Check your installation." |
| 584 |
fi |
616 |
fi |
| 585 |
|
617 |
|
| 586 |
# wait if there's any crashhandler shown |
618 |
# wait if there's any crashhandler shown |
| 587 |
while dcop | grep -q ^drkonqi- ; do |
619 |
while $TDEDIR/bin/dcop | grep -q ^drkonqi- ; do |
| 588 |
sleep 5 |
620 |
sleep 5 |
| 589 |
done |
621 |
done |
| 590 |
|
622 |
|
| 591 |
echo '[startkde] Shutting down Trinity...' 1>&2 |
623 |
echo '[starttde] Shutting down Trinity...' 1>&2 |
| 592 |
|
624 |
|
| 593 |
# Clean up |
625 |
# Clean up |
| 594 |
kdeinit_shutdown |
626 |
$TDEDIR/bin/tdeinit_shutdown |
| 595 |
dcopserver_shutdown --wait |
627 |
$TDEDIR/bin/dcopserver_shutdown --wait |
| 596 |
artsshell -q terminate |
628 |
$TDEDIR/bin/artsshell -q terminate |
| 597 |
# KDE4 support |
629 |
# KDE4 support |
| 598 |
if [ -f /usr/bin/kdeinit4_shutdown ]; then |
630 |
if [ -f /usr/bin/kdeinit4_shutdown ]; then |
| 599 |
kde4 kdeinit4_shutdown 2>/dev/null |
631 |
/usr/bin/kde4 kdeinit4_shutdown 2>/dev/null |
| 600 |
fi |
632 |
fi |
| 601 |
|
633 |
|
| 602 |
echo '[startkde] Running Trinity shutdown scripts...' 1>&2 |
634 |
echo '[starttde] Running Trinity shutdown scripts...' 1>&2 |
| 603 |
|
635 |
|
| 604 |
# Run scripts found in $KDEDIRS/shutdown |
636 |
# Run scripts found in $TDEDIRS/shutdown |
| 605 |
for prefix in `echo "$exepath" | sed -n -e 's,/bin[^/]*/,/shutdown/,p'`; do |
637 |
for prefix in `echo "$exepath" | sed -n -e 's,/bin[^/]*/,/shutdown/,p'`; do |
| 606 |
for file in `ls "$prefix" 2> /dev/null | egrep -v '(~|\.bak)$'`; do |
638 |
for file in `ls "$prefix" 2> /dev/null | egrep -v '(~|\.bak)$'`; do |
| 607 |
if [ -x "${prefix}${file}" ]; then |
639 |
if [ -x "${prefix}${file}" ]; then |
| 608 |
echo "[startkde] Running ${prefix}${file}." 1>&2 |
640 |
echo "[starttde] Running ${prefix}${file}." 1>&2 |
| 609 |
sh ${prefix}${file} |
641 |
sh ${prefix}${file} |
| 610 |
fi |
642 |
fi |
| 611 |
done |
643 |
done |
|
Lines 613-619
Link Here
|
| 613 |
|
645 |
|
| 614 |
unset TDE_FULL_SESSION |
646 |
unset TDE_FULL_SESSION |
| 615 |
xprop -root -remove TDE_FULL_SESSION |
647 |
xprop -root -remove TDE_FULL_SESSION |
| 616 |
unset KDE_SESSION_UID |
648 |
unset TDE_SESSION_UID |
| 617 |
|
649 |
|
| 618 |
# Initialize_Status_Header |
650 |
# Initialize_Status_Header |
| 619 |
echo "[startkde] Trinity shutdown complete." 1>&2 |
651 |
echo "[starttde] Trinity shutdown complete." 1>&2 |