bhtooefr |
08-25-2004 01:25 PM |
I'm not exactly a Linux n00b (however, I have a LOT to learn), but I'm going to bump this, and ask a question. I'm using Mandrake 10 Community, and I try to run that vncserver script, but there's one thing that I HATE about it. I can't elect to run a different WM (say, IceWM or Fluxbox - I think some people that would prefer Ice will be using it, but I use Flux) than KDE. This box is WAY too old to run KDE (I've tried - it's an old P233MMX, with 96MB RAM). FWIW, here's my ~/.vnc/xstartup:
Code:
#!/bin/sh
# Mandrake Linux VNC session startup script
exec /etc/X11/xinit/xinitrc
/etc/X11/xinit/xinitrc:
Code:
#!/bin/sh
# (c) 2000-2002 MandrakeSoft
# $Id: xinitrc-xinitrc,v 1.2 2002/09/10 05:53:43 flepied Exp $
# Set a background here because it's not done anymore
# in Xsesion for non root users
if [ "`whoami`" != root ]; then
xsetroot -solid "#21449C"
fi
exec /etc/X11/Xsession $*
/etc/X11/Xsession:
Code:
#!/bin/sh
# Modification for Mandrake Linux by Chmouel Boudjnah <chmouel@mandraksoft.com>
#
# $Id: Xsession,v 1.44 2004/02/05 10:48:48 flepied Exp $
# read the user (~/.i18n) or system-wide (/etc/sysconfig/i18n) i18n settings
. /etc/profile.d/10lang.sh
if [ -z "$GDMSESSION" ]; then
# 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
fi
# Mandrake default background
if [ "`whoami`" = root ]; then
xsetroot -solid "#B20003"
IS_ROOT=1
else
IS_ROOT=
# Load the color only when not called from gdm/kdm
if [ -z "$1" ]; then
xsetroot -solid "#21449C"
fi
fi
xsetroot -cursor_name watch
AGENT=$(type -p ssh-agent)
if [ -x "$AGENT" -a -z "$SSH_AUTH_SOCK" ]; then
if [ -r $HOME/.ssh/identity -o -r $HOME/.ssh2/identification -o -r $HOME/.ssh/id_dsa -o -r $HOME/.ssh/id_rsa ]; then
SSH_AGENT="$AGENT --"
fi
fi
# clean up after xbanner
if [ -f /usr/X11R6/bin/freetemp ]; then
freetemp
fi
userresources=$HOME/.Xresources
userresources2=$HOME/.Xdefaults
sysresources=/etc/X11/Xresources
# merge in defaults and keymaps
if [ -f $sysresources ]; then
xrdb -merge $sysresources
fi
if [ -f $userresources ]; then
xrdb -merge $userresources
fi
if [ -f $userresources2 ]; then
xrdb -merge $userresources2
fi
if [ -x /etc/X11/xinit/fixkeyboard ]; then
/etc/X11/xinit/fixkeyboard
fi
if [ -z "$BROWSER" ] ; then
# we need to find a browser on this system
BROWSER=`which mozilla 2> /dev/null`
if [ -z "$BROWSER" ] || [ ! -e "$BROWSER" ] ; then
# not found yet
BROWSER=
fi
fi
if [ -z "$BROWSER" ] ; then
# we need to find a browser on this system
BROWSER=`which netscape 2> /dev/null`
if [ -z "$BROWSER" ] || [ ! -e "$BROWSER" ] ; then
# not found yet
BROWSER=
fi
fi
if [ -z "$BROWSER" ] ; then
# we need to find a browser on this system
BROWSER=`which lynx 2> /dev/null`
if [ -z "$BROWSER" ] || [ ! -e "$BROWSER" ] ; then
# not found yet
BROWSER=
else
BROWSER="xvt -e lynx"
fi
fi
export BROWSER
export HELP_BROWSER="$BROWSER"
# now, we see if xdm/gdm/kdm has asked for a specific environment
if [ $# = 1 ]; then
DESKTOP=$1
else
# use default DESKTOP from config file
# users may want to choose their own desktop
# even when x-session is started by startx command.
# -- Jaegeum --
if [ -f $HOME/.desktop ]; then
. $HOME/.desktop >/dev/null 2>&1
elif [ -f /etc/sysconfig/desktop ]; then
. /etc/sysconfig/desktop >/dev/null 2>&1
fi
fi
# fix .qtrc for Japanese
if [ "$LANG" = ja_JP ]; then
[ ! -d $HOME/.qt ] && mkdir $HOME/.qt
if [ ! -r $HOME/.qt/qtrc ] || ! grep -q '[General]' $HOME/.qt/qtrc; then
cat >> $HOME/.qt/qtrc <<EOF
[General]
XIMInputStyle=Over The Spot
EOF
elif ! grep -q XIMInputStyle $HOME/.qt/qtrc; then
rm -f $HOME/.qt/qtrc.$$
sed "s/\[General\]/[General]\nXIMInputStyle=Over The Spot/" < $HOME/.qt/qtrc > $HOME/.qt/qtrc.$$
mv -f $HOME/.qt/qtrc.$$ $HOME/.qt/qtrc
fi
fi
### Launch an XIM input server if needed
# it must be after definition of DESKTOP variable; but before any
# program that may want user input
if [ -x /etc/X11/xinit/XIM ]; then
. /etc/X11/xinit/XIM
fi
### Launch first time wizard if needed
if [ -z "$IS_ROOT" -a ! -e $HOME/.drakfw ] && type drakfw > /dev/null 2>&1 && touch $HOME/.drakfw > /dev/null 2>&1; then
if [ -x /etc/X11/xinit.d/numlock ]; then
/etc/X11/xinit.d/numlock
fi
xsetroot -cursor_name left_ptr
exec $SSH_AGENT drakfw
fi
# run scripts in /etc/X11/xinit.d
for i in /etc/X11/xinit.d/* ; do
[ -d $i ] && continue
# Don't run ??foo.{rpmsave,rpmorig,rpmnew,~} scripts
[ "${i%.rpmsave}" != "${i}" ] && continue
[ "${i%.rpmorig}" != "${i}" ] && continue
[ "${i%.rpmnew}" != "${i}" ] && continue
[ "${i%\~}" != "${i}" ] && continue
if [ -x $i ]; then
if [ "${DESKTOP}" = default ]; then
SESSION=$(/usr/sbin/chksession -F)
else
SESSION=${DESKTOP}
fi
if grep -q "# to be sourced" $i; then
. $i "${SESSION}"
else
$i "${SESSION}" &
fi
fi
done
if [ -n "$DESKTOP" ]; then
case $DESKTOP in
failsafe)
xsetroot -cursor_name left_ptr
type -p rxvt > /dev/null >& 2 && exec $SSH_AGENT rxvt -geometry 80x24-0-0
type -p xterm > /dev/null >& 2 && exec $SSH_AGENT xterm -geometry 80x24-0-0
type -p xvt > /dev/null >& 2 && exec $SSH_AGENT xvt
type -p twm > /dev/null >& 2 && exec $SSH_AGENT twm
;;
default)
;;
*)
if type -p "$DESKTOP" > /dev/null; then
exec $SSH_AGENT /bin/sh -c "$DESKTOP"
else
exec $SSH_AGENT /bin/sh -c "$(/usr/sbin/chksession -x=$DESKTOP)"
fi
;;
esac
fi
# otherwise, take default action
if [ -x "$HOME/.xsession" ]; then
xsetroot -cursor_name left_ptr
exec $SSH_AGENT "$HOME/.xsession"
elif [ -x "$HOME/.Xclients" ]; then
xsetroot -cursor_name left_ptr
exec $SSH_AGENT "$HOME/.Xclients"
fi
# We may try with chksession
if [ -x /usr/sbin/chksession ];then
#get the first available
SESSION=$(/usr/sbin/chksession -F)
[ -n "$SESSION" -a "$SESSION" != Default ] && exec $SSH_AGENT sh -c "$(/usr/sbin/chksession -x=$SESSION)"
fi
# Argh! Nothing good is installed. Fall back to icewm
if [ -x /usr/X11R6/bin/icewm ];then
exec $SSH_AGENT /usr/X11R6/bin/icewm
else
# gosh, neither icewm is available;
# fall back to failsafe settings
xsetroot -cursor_name left_ptr
xclock -geometry 100x100-5+5 &
xvt -geometry +0+50 &
if [ -x "$BROWSER" -a -f /usr/doc/HTML/index.html ]; then
$BROWSER /usr/share/doc/HTML/index.html &
fi
if [ -x /usr/X11R6/bin/icewm-light ];then
exec $SSH_AGENT icewm-light
elif [ -x /usr/X11R6/bin/twm ];then
exec $SSH_AGENT twm
else
exec $SSH_AGENT xsm
fi
fi
|