#!/bin/ksh # IBM_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # websm72Q src/sysmgt/cfgassist/bin/wjava.sh 1.3 # # Licensed Materials - Property of IBM # # Restricted Materials of IBM # # COPYRIGHT International Business Machines Corp. 1998,2019 # All Rights Reserved # # US Government Users Restricted Rights - Use, duplication or # disclosure restricted by GSA ADP Schedule Contract with IBM Corp. # # IBM_PROLOG_END_TAG # @(#)94 1.3 src/sysmgt/cfgassist/bin/wjava.sh, cfgassist, websm72Q, q2019_07A4 2/1/19 03:52:04 unset ENV export WSMDATA=/tmp/wsmdata.$$/wsmdata export VimDATA="$WSMDATA" OS=`/bin/uname -s` HOSTNAME=/usr/bin/hostname # # check if the person is remotely logged in, set DISPLAY if yes # LOG_PTS=`/usr/bin/tty | /usr/bin/sed 's@/dev/@@'` LOG_HOST=`/usr/bin/who | /usr/bin/grep "$LOG_PTS " | /usr/bin/grep "(" | /usr/bin/cut -f2 -d '(' | /usr/bin/cut -f1 -d')' | /usr/bin/cut -f1 -d':'` if [[ -n $LOG_HOST && -z $DISPLAY ]]; then export DISPLAY=$LOG_HOST:0 export WSMDISPLAY=$LOG_HOST:0 fi # # Set DISPLAY if not already set (see 293786) # # WSMDISPLAY is used to pass value to java for remote mode WSMDISPLAY=$DISPLAY if [[ -z $WSMDISPLAY ]]; then # if no value is set, use DISPLAY for regular mode, and do # not use hostname b/c its faster # set WSMDISPLAY so remote mode will work export DISPLAY=":0.0" export WSMDISPLAY=$(${HOSTNAME})":0.0" else # In remote mode, the format ":0.0" will not work, need # the hostname b/c client does not know display value a=`echo $WSMDISPLAY | /usr/bin/cut -f1 -d:` if [[ -z $a ]]; then export WSMDISPLAY=$(${HOSTNAME})":0.0" fi fi # # Are we running on the same machine as our display? # # Look for pattern: [[hostpath]:display_id] # hostpath=${DISPLAY%%:*} # Everything before the first colon localMachine=y if [[ $hostpath != "" ]] then localAddr=`/usr/bin/host \`hostname\` | LANG=C /usr/bin/awk '{sub(",", "", $3); print $3}'` displayAddr=`/usr/bin/host $hostpath | LANG=C /usr/bin/awk '{sub(",", "", $3); print $3}'` if [[ $localAddr != $displayAddr ]] then localMachine=n # May not be entirely true; machines can have multiple # adapters. fi fi HOMEDIR=/usr/cfgassist export ODMDIR=/etc/objrepos MessageLang=$(/usr/bin/locale | /usr/bin/grep LC_MESSAGES | /usr/bin/sed 's/\"//g' | /usr/bin/cut -d'=' -f2) # set the path where the supported java version should reside JAVA_PATH=/usr/java8_64 if [ -d $JAVA_PATH ] then export PATH=${JAVA_PATH}/bin:${JAVA_PATH}/jre/bin:/bin:/usr/bin:/usr/sbin:${HOMEDIR}/bin:$PATH else echo "Java 7 is required" exit 1 fi # Bold fonts in double byte languages do not display well. Need to # set a java variable to disable this. if [ "$OS" = "AIX" ] ; then case $LANG in ja_JP ) JAVA2D_PURET2KRASTERIZER=1 ;; Ja_JP ) JAVA2D_PURET2KRASTERIZER=1 ;; JA_JP ) JAVA2D_PURET2KRASTERIZER=1 ;; Zh_TW ) JAVA2D_PURET2KRASTERIZER=1 ;; ZH_TW ) JAVA2D_PURET2KRASTERIZER=1 ;; Zh_CN ) JAVA2D_PURET2KRASTERIZER=1 ;; ZH_CN ) JAVA2D_PURET2KRASTERIZER=1 ;; KO_KR ) JAVA2D_PURET2KRASTERIZER=1 ;; ko_KR ) JAVA2D_PURET2KRASTERIZER=1 ;; esac export JAVA2D_PURET2KRASTERIZER fi # Turn of AUIML logging. JAVA_OPTS="$JAVA_OPTS -Djava.util.logging.config.file=/dev/null" # # Current directory will be $CODEBASE # CODEBASE="${HOMEDIR}/codebase" StartDir="$CODEBASE" if [[ ! -d $StartDir ]]; then echo "Cannot get to codebase directory:\n $StartDir" >&2 exit 1 fi cd $StartDir # DO NOT change the order of the following three items. CLASSPATH="${CLASSPATH}:.:cfgassist.jar" CLASSPATH="${CLASSPATH}:jhall.jar" CLASSPATH="${CLASSPATH}:bundles.jar" CLASSPATH="${CLASSPATH}:auiml.jar" for p in `/bin/ls pluginjars/*.jar 2>/dev/null` do CLASSPATH="${CLASSPATH}:$p" done # # If sysmgtlib directory exists, add available jars # to CLASSPATH # if [[ -d /opt/IBM/sysmgtlib ]]; then for p in `/bin/ls /opt/IBM/sysmgtlib/*.jar 2>/dev/null` do CLASSPATH="${CLASSPATH}:$p" done fi export CLASSPATH LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:"${HOMEDIR}/lib" LIBPATH=${LD_LIBRARY_PATH}:${LIBPATH} export LIBPATH export LD_LIBRARY_PATH ImageDir=${CODEBASE}/images PATH=$PATH:${HOMEDIR}/bin HEAP_MIN=16 HEAP_INC=4 W_HEAP_MIN_SIZE="${W_HEAP_MIN_SIZE:-$HEAP_MIN}" W_HEAP_INC_SIZE="${W_HEAP_INC_SIZE:-$HEAP_INC}" W_BIND_PROC="${W_BIND_PROC:-no}" STACK_OPT="" PHYS_MEM=`(LANG=C ; /usr/sbin/prtconf -m | /usr/bin/cut -d" " -f3) 2> /dev/null` # On a multi processor environment, limit the execution to only one processor if [ "$W_BIND_PROC" = "yes" ] then if [ -x /usr/sbin/bindprocessor ] # Bind to processor 0 which can then # never be deallocated during /usr/sbin/bindprocessor $$ 0 # LPAR reconfig. fi fi MAX_HEAP_MAX=512 if [ ! -z "$PHYS_MEM" -a "$PHYS_MEM" != "0" ] then (( HEAP_MAX = $PHYS_MEM / 2 )) if [ $HEAP_MAX -lt $HEAP_MIN ] then HEAP_MAX=$HEAP_MIN fi if [ $HEAP_MAX -gt $MAX_HEAP_MAX ] then HEAP_MAX=$MAX_HEAP_MAX fi else HEAP_MAX=$MAX_HEAP_MAX fi W_HEAP_MAX_SIZE="${W_HEAP_MAX_SIZE:-$HEAP_MAX}" JAVA_OPTS="$JAVA_OPTS $STACK_OPT \ -Xquickstart \ -Xmx${W_HEAP_MAX_SIZE}m \ -Xms${W_HEAP_MIN_SIZE}m \ -Xmine${W_HEAP_INC_SIZE}m \ -DMessageLang=${MessageLang} \ -Ddisplay=$WSMDISPLAY \ -DWINDOWID=$WINDOWID" if [[ $localMachine = "n" ]] then # Slow down the rate at which the progress bar is updated. 21,000 = update # every 1 second. JAVA_OPTS="$JAVA_OPTS -DProgBarLoop=21000" fi export FORCEDEFVIS=1 # Force X to use 8-bit color instead of 32. Helps for # remote-X if [[ $# -gt 0 && $1 = "-n" ]] ; then #Don't put the command in the background shift fi # set WEBSM_ALL_PERMISSIONS_FOR_SECURE to workaround security in remote SSL mode JAVA_OPTS="$JAVA_OPTS -DWEBSM_ALL_PERMISSIONS_FOR_SECURE=true" if [[ $WEBSM_JAVA_DEBUG != "" ]] then webSMInstances=0 if [[ -f /tmp/websmJavaDebugPorts ]] then webSMInstances=$(/usr/bin/wc /tmp/websmJavaDebugPorts | /usr/bin/awk '{print $1}') fi (( port=$webSMInstances+8000 )) echo port: $port `date` >> /tmp/websmJavaDebugPorts echo "Debug Port/Socket is: " + $port JAVA_OPTS="$JAVA_OPTS -Xdebug -Xnoagent -Djava.compiler=NONE \ -Xrunjdwp:transport=dt_socket,server=y,address=$port,suspend=n" fi if [[ ! -d $HOME/.java/.userPrefs ]] then mkdir -p $HOME/.java/.userPrefs fi if [[ ! -d $JAVA_PATH/jre/.systemPrefs ]] then mkdir -p $JAVA_PATH/jre/.systemPrefs fi exec ${JAVA_PATH}/jre/bin/java $JAVA_OPTS "$@"