[prev in list] [next in list] [prev in thread] [next in thread] 

List:       openmosix-general
Subject:    Re: [openMosix-general] How to get OpenMosix running on SuSE 9.0?
From:       Charles Nadeau <charles () elf ! coara ! or ! jp>
Date:       2004-06-24 5:00:51
Message-ID: 200406241400.52279.charles () elf ! coara ! or ! jp
[Download RAW message or body]

On Saturday 05 June 2004 02:33, Mulyadi Santosa wrote:
> > I did not start KDE.
>
> Nice too :-) But try to lock it at home.....i believe you can put
> echo 1 > /proc/$$/lock

Where would you put it? I put it as the first executable line of 
my /usr/kde/3.2/bin/startkde script and startx crash when I invoque it. I 
have to invoque startx a second time for KDE to start...

Thanks!

Charles

Here is my /usr/kde/3.2/bin/startkde:

#!/bin/sh --login
#
#  GENTOO CUSTOMIZED KDE STARTUP SCRIPT ( KDE-3.2 )
#

#We don't want KDE to migrate: Modification by Charles Nadeau 040624
echo 1 > /proc/$$/lock

# When the X server dies we get a HUP signal from xinit. We must ignore it
# because we still need to do some cleanup.
trap 'echo GOT SIGHUP' HUP

# Gentoo part:
export PATH="/usr/kde/3.2/bin:${PATH}"
export KDEDIR="/usr/kde/3.2"
# Use env.d's KDEDIRS. They should only include locations like /usr though, 
not
# actual KDE installations

# handle ~/.kde* dirs - separate ones for separate KDEs
cd ~
[ -d .kde ] && /bin/mv .kde .kde.backup
if [ ! -e .kde3.2 ]; then
        if [ -e .kde3.1 ]; then
                /bin/cp -r .kde3.1 .kde3.2
        else
                /bin/mkdir .kde3.2
        fi
fi
/bin/ln -sf .kde3.2 .kde

#export KDEHOME="${HOME}/.kde3.2"

# Gentoo part ends

# we have to unset this for Darwin since it will screw up KDE's 
dynamic-loading
unset DYLD_FORCE_FLAT_NAMESPACE

# Boot sequence:
#
# kdeinit is used to fork off processes which improves memory usage
# and startup time.
#
# * kdeinit starts the dcopserver and klauncher first.
# * Then kded is started. kded is responsible for keeping the sycoca
#   database up to date. When an up to date database is present it goes
#   into the background and the startup continues.
# * Then kdeinit starts kcminit. kcminit performs initialisation of
#   certain devices according to the user's settings
#
# * Then ksmserver is started which in turn starts
#   1) the window manager (kwin)
#   2) everything in $KDEDIR/share/autostart (kdesktop, kicker, etc.)
#   3) the rest of the session.

# The user's personal KDE directory is usually ~/.kde, but this setting
# may be overridden by setting KDEHOME.

kdehome=$HOME/.kde
test -n "$KDEHOME" && kdehome=`echo "$KDEHOME"|sed "s,^\~/,$HOME/,"`

# Activate the kde font directories.
#
# There are 4 directories that may be used for supplying fonts for KDE.
#
# There are two system directories. These belong to the administrator.
# There are two user directories, where the user may add her own fonts.
#
# The 'override' versions are for fonts that should come first in the list,
# i.e. if you have a font in your 'override' directory, it will be used in
# preference to any other.
#
# The preference order looks like this:
# user override, system override, X, user, system
#
# Where X is the original font database that was set up before this script
# runs.

usr_odir=$HOME/.fonts/kde-override
usr_fdir=$HOME/.fonts

# Add any user-installed font directories to the X font path
kde_fontpaths=$usr_fdir/fontpaths
do_usr_fdir=1
do_usr_odir=1
if test -r "$kde_fontpaths" ; then
    savifs=$IFS
    IFS=$'\n'
    for fpath in `grep -v '^[   ]*#' < "$kde_fontpaths"` ; do
        rfpath=`echo $fpath | sed s:\~:$HOME:g`
        if test -s "$rfpath"/fonts.dir; then
            xset fp+ "$rfpath"
            if test "$rfpath" = "$usr_fdir"; then
                do_usr_fdir=0
            fi
            if test "$rfpath" = "$usr_odir"; then
                do_usr_odir=0
            fi
        fi
    done
    IFS=$savifs
fi

if test -n "$KDEDIRS"; then
  kdedirs_first=`echo "$KDEDIRS"|sed -e 's/:.*//'`
  sys_odir=$kdedirs_first/share/fonts/override
  sys_fdir=$kdedirs_first/share/fonts
else
  sys_odir=$KDEDIR/share/fonts/override
  sys_fdir=$KDEDIR/share/fonts
fi

# We run mkfontdir on the user's font dirs (if we have permission) to pick
# up any new fonts they may have installed. If mkfontdir fails, we still
# add the user's dirs to the font path, as they might simply have been made
# read-only by the administrator, for whatever reason.

# Only do usr_fdir and usr_odir if they are *not* listed in fontpaths
test -d "$sys_odir" && xset +fp "$sys_odir"
test $do_usr_odir -eq 1 && test -d "$usr_odir" && (mkfontdir "$usr_odir" ; 
xset +fp "$usr_odir")
test $do_usr_fdir -eq 1 && test -d "$usr_fdir" && (mkfontdir "$usr_fdir" ; 
xset fp+ "$usr_fdir")
test -d "$sys_fdir" && xset fp+ "$sys_fdir"

# Ask X11 to rebuild its font list.
xset fp rehash

# if the user has overwritten fonts, the cursor font may be different now
# so don't move this up

# Set a left cursor instead of the standard X11 "X" cursor, since I've heard
# from some users that they're confused and don't know what to do. This is
# especially necessary on slow machines, where starting KDE takes one or two
# minutes until anything appears on the screen.
#
# Set the background to cyan (Gentoo version change).
# The standard X background is nasty, causing moire effects and exploding
# people's heads. We use colours from the standard KDE palette for those with
# palettised displays.

test "$XDM_MANAGED" || bkg="-solid #5477A0"
xsetroot -cursor_name left_ptr $bkg

# Get Ghostscript to look into user's KDE fonts dir for additional Fontmap
if test -n "$GS_LIB" ; then
    GS_LIB=$usr_fdir:$GS_LIB
    export GS_LIB
else
    GS_LIB=$usr_fdir
    export GS_LIB
fi

# Link "tmp" resource to directory in /tmp
# Creates a directory /tmp/kde-$USER and links $KDEHOME/tmp-$HOSTNAME to it.
lnusertemp tmp >/dev/null

# Link "socket" resource to directory in /tmp
# Creates a directory /tmp/ksocket-$USER and links $KDEHOME/socket-$HOSTNAME 
to it.
lnusertemp socket >/dev/null

# Link "cache" resource to directory in /var/tmp
# Creates a directory /var/tmp/kdecache-$USER and links 
$KDEHOME/cache-$HOSTNAME to it.
lnusertemp cache >/dev/null

# In case of dcop sockets left by a previous session, cleanup
dcopserver_shutdown

echo 'startkde: Starting up...'  1>&2

# run KPersonalizer before the session, if this is the first login
if kreadconfig --file kpersonalizerrc --group General --key FirstLogin 
--default true --type bool; then
    # start only dcopserver, don't start whole kdeinit (takes too long)
    echo 'startkde: Running kpersonalizer...'  1>&2
    dcopserver
    kwin --lock &
    kpersonalizer --before-session
    # handle kpersonalizer restarts (language change)
    while test $? -eq 1; do
        kpersonalizer --r --before-session
    done
    dcopserver_shutdown
    # shutdown will also make kwin quit, give it time to do so
    sleep 1
fi

# the splashscreen and progress indicator
if [ -n "$KSPLASH" ]; then
        $KSPLASH
else
        ksplash --nodcop
fi

# We set LD_BIND_NOW to increase the efficiency of kdeinit.
# kdeinit unsets this variable before loading applications.
LD_BIND_NOW=true kdeinit +kcminit +knotify
if test $? -ne 0; then
  # Startup error
  echo 'startkde: Could not start kdeinit. Check your installation.'  1>&2
  xmessage -geometry 500x100 "Could not start kdeinit. Check your 
installation."
fi

# finally, give the session control to the session manager
# if the KDEWM environment variable has been set, then it will be used as 
KDE's
# window manager instead of kwin.
# if KDEWM is not set, ksmserver will ensure kwin is started.
# kwrapper is used to reduce startup time and memory usage
# kwrapper does not return usefull error codes such as the exit code of 
ksmserver.
# We only check for 255 which means that the ksmserver process could not be
# started, any problems thereafter, e.g. ksmserver failing to initialize,
# will remain undetected.
test -n "$KDEWM" && KDEWM="--windowmanager $KDEWM"
kwrapper ksmserver $KDEWM
if test $? -eq 255; then
  # Startup error
  echo 'startkde: Could not start ksmserver. Check your installation.'  1>&2
  xmessage -geometry 500x100 "Could not start ksmserver. Check your 
installation."
fi

echo 'startkde: Shutting down...'  1>&2

# Clean up
kdeinit_shutdown
dcopserver_shutdown
artsshell -q terminate

echo 'startkde: Running shutdown scripts...'  1>&2

# Run scripts found in $KDEDIRS/shutdown
for prefix in `kde-config --path exe| sed -e 's^bin/^shutdown/^g;s^:^ ^g'`
do
  for file in $prefix/*
  do
    if test -f $file
    then
       $file
    fi
  done
done

echo 'startkde: Done.'  1>&2


> on startkde script ...
>
> Try my tips above :-) Hope that helps
>
> regards
>
> Mulyadi
>
>
>
> -------------------------------------------------------
> This SF.Net email is sponsored by the new InstallShield X.
> From Windows to Linux, servers to mobile, InstallShield X is the one
> installation-authoring solution that does it all. Learn more and
> evaluate today! http://www.installshield.com/Dev2Dev/0504
> _______________________________________________
> openMosix-general mailing list
> openMosix-general@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/openmosix-general

-- 
Charles Nadeau Ph.D.
http://radio.weblogs.com/0111823/


-------------------------------------------------------
This SF.Net email sponsored by Black Hat Briefings & Training.
Attend Black Hat Briefings & Training, Las Vegas July 24-29 - 
digital self defense, top technical experts, no vendor pitches, 
unmatched networking opportunities. Visit www.blackhat.com
_______________________________________________
openMosix-general mailing list
openMosix-general@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/openmosix-general
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic