office-gobmx/desktop/scripts/soffice.sh
Vladimir Glazounov f793c645c6 INTEGRATION: CWS fwk05 (1.4.6); FILE MERGED
2003/06/03 16:12:55 lo 1.4.6.1: #110030# no more -display or -plugin in shellscript
2003-06-10 08:22:06 +00:00

239 lines
6.6 KiB
Bash

#!/bin/sh
#*************************************************************************
#
# The Contents of this file are made available subject to the terms of
# either of the following licenses
#
# - GNU Lesser General Public License Version 2.1
# - Sun Industry Standards Source License Version 1.1
#
# Sun Microsystems Inc., October, 2000
#
# GNU Lesser General Public License Version 2.1
# =============================================
# Copyright 2000 by Sun Microsystems, Inc.
# 901 San Antonio Road, Palo Alto, CA 94303, USA
#
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License version 2.1, as published by the Free Software Foundation.
#
# This library is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# Lesser General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public
# License along with this library; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston,
# MA 02111-1307 USA
#
#
# Sun Industry Standards Source License Version 1.1
# =================================================
# The contents of this file are subject to the Sun Industry Standards
# Source License Version 1.1 (the "License"); You may not use this file
# except in compliance with the License. You may obtain a copy of the
# License at http://www.openoffice.org/license.html.
#
# Software provided under this License is provided on an "AS IS" basis,
# WITHOUT WARRUNTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING,
# WITHOUT LIMITATION, WARRUNTIES THAT THE SOFTWARE IS FREE OF DEFECTS,
# MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING.
# See the License for the specific provisions governing your rights and
# obligations concerning the Software.
#
# The Initial Developer of the Original Code is: Sun Microsystems, Inc..
#
# Copyright: 2000 by Sun Microsystems, Inc.
#
# All Rights Reserved.
#
# Contributor(s): _______________________________________
#
#
#
#*************************************************************************
#
# STAR_PROFILE_LOCKING_DISABLED=1
# export STAR_PROFILE_LOCKING_DISABLED
#
#
# SAL_ENABLE_FILE_LOCKING=1
# export SAL_ENABLE_FILE_LOCKING
#
# uncomment this to remote start soffice on hostname
# SO_REMOTE_START=rsh
# SO_REMOTE_APPLICATION=hostname:/fully_quallified_path/soffice
# set -x
# resolve installation directory
sd_cwd="`pwd`"
if [ -h "$0" ] ; then
sd_basename=`basename "$0"`
sd_script=`ls -l "$0" | sed "s/.*${sd_basename} -> //g"`
sd_sub=`echo $sd_script | cut -f1 -d/`
if [ "$sd_sub" = ".." -a "$SO_MODE" = "" ]; then
SO_MODE="remote"
fi
cd "`dirname "$0"`"
cd "`dirname "$sd_script"`"
else
cd "`dirname "$0"`"
fi
sd_prog="`pwd`"
if [ "$SO_MODE" = "" ]; then
SO_MODE="local";
fi
export SO_MODE
sd_progsub=$sd_prog/$SO_MODE
cd ..
sd_binary=`basename "$0"`".bin"
sd_inst="`pwd`"
# change back directory
cd "$sd_cwd"
# check if all required patches are installed
if [ -x "$sd_prog/sopatchlevel.sh" ]; then
"$sd_prog/sopatchlevel.sh"
if [ $? -eq 1 ]; then
exit 0
fi
fi
# set search path for shared libraries
sd_platform=`uname -s`
case $sd_platform in
SunOS)
LD_LIBRARY_PATH="$sd_progsub":"$sd_prog":/usr/openwin/lib:/usr/dt/lib:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH
;;
AIX)
LIBPATH="$sd_progsub":"$sd_prog":$LIBPATH
export LIBPATH
;;
HP-UX)
SHLIB_PATH="$sd_progsub":"$sd_prog":/usr/openwin/lib:$SHLIB_PATH
export SHLIB_PATH
;;
IRIX*)
LD_LIBRARYN32_PATH=:"$sd_progsub":"$sd_prog":$LD_LIBRARYN32_PATH
export LD_LIBRARYN32_PATH
;;
*)
LD_LIBRARY_PATH="$sd_progsub":"$sd_prog":$LD_LIBRARY_PATH
export LD_LIBRARY_PATH
;;
esac
# extend the ld_library_path for java: javaldx checks the sofficerc for us
java_ld_library_path=`"$sd_prog/javaldx"`
if [ "$java_ld_library_path" != "" ] ; then
case $sd_platform in
AIX)
LIBPATH=${java_ld_library_path}:${LIBPATH}
;;
HP-UX)
SHLIB_PATH=${java_ld_library_path}:${SHLIB_PATH}
;;
IRIX*)
LD_LIBRARYN32_PATH=${java_ld_library_path}:${LD_LIBRARYN32_PATH}
;;
*)
LD_LIBRARY_PATH=${java_ld_library_path}:${LD_LIBRARY_PATH}
;;
esac
fi
# set java environment variables
THREADS_TYPE=native_threads
# misc. environment variables
OPENOFFICE_MOZILLA_FIVE_HOME="$sd_inst/program"
export OPENOFFICE_MOZILLA_FIVE_HOME
unset XENVIRONMENT
# uncomment line below to disable anti aliasing of fonts
# SAL_ANTIALIAS_DISABLE=true; export SAL_ANTIALIAS_DISABLE
# error message function
err () {
echo "`basename $0`: $@" 1>&2
exit 1
}
# start soffice by remote shell
if [ "X${SO_REMOTE_START}" = "Xrsh" ]; then
remote_server=`echo ${SO_REMOTE_APPLICATION} | sed 's/:.*//g'`
remote_path=`echo ${SO_REMOTE_APPLICATION} | sed 's/.*://g'`
echo remote_server=\"${remote_server}\" remote_path=\"${remote_path}\"
if [ "X${DISPLAY}" = "X" ]; then
local_display=`uname -n`:0
else
local_display=${DISPLAY}
fi
if [ "X${remote_server}" != "X" -a "X${remote_path}" != "X" ]; then
rsh ${remote_server} ${remote_path} -norsh -display ${local_display}
exit 0
else
err "invalid rsh arguments host=\"$remote_server\", command=\"${remote_path}\""
fi
fi
# pagein
for sd_arg in ${1+"$@"} ; do
case ${sd_arg} in
-calc)
sd_pagein_args="${sd_pagein_args:+${sd_pagein_args} }@pagein-calc"
break;
;;
-draw)
sd_pagein_args="${sd_pagein_args:+${sd_pagein_args} }@pagein-draw"
break;
;;
-impress)
sd_pagein_args="${sd_pagein_args:+${sd_pagein_args} }@pagein-impress"
break;
;;
-writer)
sd_pagein_args="${sd_pagein_args:+${sd_pagein_args} }@pagein-writer"
break;
;;
*)
;;
esac
done
sd_pagein_args="${sd_pagein_args:+${sd_pagein_args} }@pagein-common"
${sd_prog}/pagein -L${sd_prog} ${sd_pagein_args}
# set path so that other apps can be started from soffice just by name
PATH="$sd_prog":$PATH
export PATH
# disable crash reporter if accessibility is enabled
accessible=`gconftool-2 -g /desktop/gnome/interface/accessibility 2>/dev/null`
if [ $? -eq 0 ] && [ $accessible = "true" ]; then
crashrepswitch=-nocrashreport
else
crashrepswitch=
fi
# execute soffice binary
exec "$sd_prog/$sd_binary" $crashrepswitch "$@"