Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
Education
geogebra
geogebra
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File geogebra of Package geogebra
#!/bin/bash #--------------------------------------------- # Script to start GeoGebra #--------------------------------------------- #--------------------------------------------- # Used environment variables: # # GG_SCRIPTNAME=<name of originally called script to start GeoGebra> # If unset, name of this script will be used. # # GG_PATH=<path of directory containing geogebra.jar> # If unset, path of this script will be used. # In this case if the path of script does not contain the geogebra.jar file, /usr/share/geogebra will be used. # # GG_SYS_CONFIG_PATH=<path of system directory containing geogebra.conf> # # GG_CONFIG_PATH=<path of directory containing .config/$GG_SCRIPTNAME/geogebra.conf> # If unset, $HOME will be used. # # JAVACMD=<Java command> # If unset, java will be used. # # GG_XMS=<initial Java heap size> # If unset, 32m will be used. # # GG_XMX=<maximum Java heap size> # If unset, 1024m will be used. # # GG_DJAVA_LIBRARY_PATH=<native library path> # # GG_DSUN_JAVA2D_XRENDER=<boolean> # # GG_DSUN_JAVA2D_OPENGL=<boolean> # # GG_SHOWSPLASH=<boolean> # If unset, false will be used. # # GG_ENABLEUNDO=<boolean> # # GG_DPI=<number> # If unset, 300 will be used. # # GG_ANTIALIASING=<boolean> # # GG_VERSIONCHECKALLOW=<setting> #--------------------------------------------- # If $GG_SCRIPTNAME not set, use name of this script. if [ -z "$GG_SCRIPTNAME" ]; then GG_SCRIPTNAME="$(basename $0)" fi #--------------------------------------------- # If $GG_PATH not set, use path of this script. if [ -z "$GG_PATH" ]; then GG_PATH="${BASH_SOURCE[0]}" if [ -h "${GG_PATH}" ]; then while [ -h "${GG_PATH}" ]; do GG_PATH=`readlink "${GG_PATH}"` done fi pushd . > /dev/null cd `dirname ${GG_PATH}` > /dev/null GG_PATH=`pwd` popd > /dev/null test -r "${GG_PATH}/geogebra_main.jar" || GG_PATH='/usr/share/geogebra' fi #--------------------------------------------- # If $GG_CONFIG_PATH not set, use $HOME. if [ -z "$GG_CONFIG_PATH" ]; then GG_CONFIG_PATH="$HOME" fi #--------------------------------------------- # If $JAVACMD not set, use java. if [ -z "$JAVACMD" ]; then JAVACMD='java' fi #--------------------------------------------- # If $GG_XMS not set, use 32m. if [ -z "$GG_XMS" ]; then GG_XMS='32m' fi #--------------------------------------------- # If $GG_XMX not set, use 512m. if [ -z "$GG_XMX" ]; then GG_XMX='1024m' fi #--------------------------------------------- # If $GG_SHOWSPLASH not set, use false. if [ -z "$GG_SHOWSPLASH" ]; then GG_SHOWSPLASH='false' fi #--------------------------------------------- # If $GG_DPI not set, use 300. if [ -z "$GG_DPI" ]; then GG_DPI='300' fi #--------------------------------------------- # Set path of settings file. GG_SETTINGS_FILE="$GG_CONFIG_PATH/.config/$GG_SCRIPTNAME/geogebra.properties" #--------------------------------------------- # If $GG_SYS_CONFIG_PATH is set, read system config files (if exist). if [ -n "$GG_SYS_CONFIG_PATH" ]; then if [ -e "$GG_SYS_CONFIG_PATH/geogebra.conf" ]; then . "$GG_SYS_CONFIG_PATH/geogebra.conf" fi if [ -e "$GG_SYS_CONFIG_PATH/geogebra.conf.local" ]; then . "$GG_SYS_CONFIG_PATH/geogebra.conf.local" fi fi #--------------------------------------------- # Prefer default settings from system config files. if [ -n "$DEFAULT_JAVACMD" ]; then JAVACMD="$DEFAULT_JAVACMD" unset DEFAULT_JAVACMD fi if [ -n "$DEFAULT_GG_XMS" ]; then GG_XMS="$DEFAULT_GG_XMS" unset DEFAULT_GG_XMS fi if [ -n "$DEFAULT_GG_XMX" ]; then GG_XMX="$DEFAULT_GG_XMX" unset DEFAULT_GG_XMX fi if [ -n "$DEFAULT_GG_DJAVA_LIBRARY_PATH" ]; then GG_DJAVA_LIBRARY_PATH="$DEFAULT_GG_DJAVA_LIBRARY_PATH" unset DEFAULT_GG_DJAVA_LIBRARY_PATH fi if [ -n "$DEFAULT_GG_DSUN_JAVA2D_XRENDER" ]; then GG_DSUN_JAVA2D_XRENDER="$DEFAULT_GG_DSUN_JAVA2D_XRENDER" unset DEFAULT_GG_DSUN_JAVA2D_XRENDER fi if [ -n "$DEFAULT_GG_DSUN_JAVA2D_OPENGL" ]; then GG_DSUN_JAVA2D_OPENGL="$DEFAULT_GG_DSUN_JAVA2D_OPENGL" unset DEFAULT_GG_DSUN_JAVA2D_OPENGL fi if [ -n "$DEFAULT_GG_SHOWSPLASH" ]; then GG_SHOWSPLASH="$DEFAULT_GG_SHOWSPLASH" unset DEFAULT_GG_SHOWSPLASH fi if [ -n "$DEFAULT_GG_ENABLEUNDO" ]; then GG_ENABLEUNDO="$DEFAULT_GG_ENABLEUNDO" unset DEFAULT_GG_ENABLEUNDO fi if [ -n "$DEFAULT_GG_DPI" ]; then GG_DPI="$DEFAULT_GG_DPI" unset DEFAULT_GG_DPI fi if [ -n "$DEFAULT_GG_ANTIALIASING" ]; then GG_ANTIALIASING="$DEFAULT_GG_ANTIALIASING" unset DEFAULT_GG_ANTIALIASING fi if [ -n "$DEFAULT_GG_VERSIONCHECKALLOW" ]; then GG_VERSIONCHECKALLOW="$DEFAULT_GG_VERSIONCHECKALLOW" unset DEFAULT_GG_VERSIONCHECKALLOW fi #--------------------------------------------- # Read user config file (if exists) and rewrite it. GG_CONFIG_FILE="$GG_CONFIG_PATH/.config/$GG_SCRIPTNAME/geogebra.conf" if [ ! -w "$GG_CONFIG_FILE" ]; then if [ ! -e "$GG_CONFIG_FILE" -a -w "$GG_CONFIG_PATH/.config/$GG_SCRIPTNAME" ]; then touch "$GG_CONFIG_FILE" elif [ ! -e "$GG_CONFIG_PATH/.config/$GG_SCRIPTNAME" -a -w "$GG_CONFIG_PATH/.config" ]; then mkdir "$GG_CONFIG_PATH/.config/$GG_SCRIPTNAME" touch "$GG_CONFIG_FILE" elif [ ! -e "$GG_CONFIG_PATH/.config" -a -w "$GG_CONFIG_PATH" ]; then mkdir "$GG_CONFIG_PATH/.config" mkdir "$GG_CONFIG_PATH/.config/$GG_SCRIPTNAME" touch "$GG_CONFIG_FILE" fi fi if [ -w "$GG_CONFIG_FILE" ]; then . "$GG_CONFIG_FILE" true > "$GG_CONFIG_FILE" cat > "$GG_CONFIG_FILE" << EOF # This is the default GeoGebra configuration file. It shows what the defaults # for various options happen to be. # # If you don't need to change the default, you shouldn't uncomment the line. # Doing so may cause run-time problems. # JAVA OPTIONS # ----------------------------------------------------------------------------- # Set Java command, e.g. '/usr/bin/java'. # `if [ ! -n "$DEFAULT_JAVACMD" ]; then echo "#DEFAULT_JAVACMD='$JAVACMD'"; else echo "DEFAULT_JAVACMD='$DEFAULT_JAVACMD'"; fi` # Set initial Java heap size, e.g. '32m'. # `if [ ! -n "$DEFAULT_GG_XMS" ]; then echo "#DEFAULT_GG_XMS='$GG_XMS'"; else echo "DEFAULT_GG_XMS='$DEFAULT_GG_XMS'"; fi` # Set maximum Java heap size, e.g '512m'. # `if [ ! -n "$DEFAULT_GG_XMX" ]; then echo "#DEFAULT_GG_XMX='$GG_XMX'"; else echo "DEFAULT_GG_XMX='$DEFAULT_GG_XMX'"; fi` # Set native library path, e.g. '/usr/lib/jni'. # `if [ ! -n "$DEFAULT_GG_DJAVA_LIBRARY_PATH" -a -n "$GG_DJAVA_LIBRARY_PATH" ]; then echo "#DEFAULT_GG_DJAVA_LIBRARY_PATH='$GG_DJAVA_LIBRARY_PATH'"; elif [ ! -n "$DEFAULT_GG_DJAVA_LIBRARY_PATH" -a ! -n "$GG_DJAVA_LIBRARY_PATH" ]; then echo "#DEFAULT_GG_DJAVA_LIBRARY_PATH=''"; else echo "DEFAULT_GG_DJAVA_LIBRARY_PATH='$DEFAULT_GG_DJAVA_LIBRARY_PATH'"; fi` # Enable/disable the Xrender pipeline (true/false). # `if [ ! -n "$DEFAULT_GG_DSUN_JAVA2D_XRENDER" -a -n "$GG_DSUN_JAVA2D_XRENDER" ]; then echo "#DEFAULT_GG_DSUN_JAVA2D_XRENDER='$GG_DSUN_JAVA2D_XRENDER'"; elif [ ! -n "$DEFAULT_GG_DSUN_JAVA2D_XRENDER" -a ! -n "$GG_DSUN_JAVA2D_XRENDER" ]; then echo "#DEFAULT_GG_DSUN_JAVA2D_XRENDER=''"; else echo "DEFAULT_GG_DSUN_JAVA2D_XRENDER='$DEFAULT_GG_DSUN_JAVA2D_XRENDER'"; fi` # Enable/disable the OpenGL pipeline (true/false). # `if [ ! -n "$DEFAULT_GG_DSUN_JAVA2D_OPENGL" -a -n "$GG_DSUN_JAVA2D_OPENGL" ]; then echo "#DEFAULT_GG_DSUN_JAVA2D_OPENGL='$GG_DSUN_JAVA2D_OPENGL'"; elif [ ! -n "$DEFAULT_GG_DSUN_JAVA2D_OPENGL" -a ! -n "$GG_DSUN_JAVA2D_OPENGL" ]; then echo "#DEFAULT_GG_DSUN_JAVA2D_OPENGL=''"; else echo "DEFAULT_GG_DSUN_JAVA2D_OPENGL='$DEFAULT_GG_DSUN_JAVA2D_OPENGL'"; fi` # GEOGEBRA OPTIONS # ----------------------------------------------------------------------------- # Enable/disable the splash screen (true/false). # `if [ ! -n "$DEFAULT_GG_SHOWSPLASH" ]; then echo "#DEFAULT_GG_SHOWSPLASH='$GG_SHOWSPLASH'"; else echo "DEFAULT_GG_SHOWSPLASH='$DEFAULT_GG_SHOWSPLASH'"; fi` # Enable/disable Undo (true/false). # `if [ ! -n "$DEFAULT_GG_ENABLEUNDO" -a -n "$GG_ENABLEUNDO" ]; then echo "#DEFAULT_GG_ENABLEUNDO='$GG_ENABLEUNDO'"; elif [ ! -n "$DEFAULT_GG_ENABLEUNDO" -a ! -n "$GG_ENABLEUNDO" ]; then echo "#DEFAULT_GG_ENABLEUNDO=''"; else echo "DEFAULT_GG_ENABLEUNDO='$DEFAULT_GG_ENABLEUNDO'"; fi` # Set dots per inch, eg '300' (only used in conjunction with --export). # `if [ ! -n "$DEFAULT_GG_DPI" ]; then echo "#DEFAULT_GG_DPI='$GG_DPI'"; else echo "DEFAULT_GG_DPI='$DEFAULT_GG_DPI'"; fi` # Turn anti-aliasing on/off (true/false). # `if [ ! -n "$DEFAULT_GG_ANTIALIASING" -a -n "$GG_ANTIALIASING" ]; then echo "#DEFAULT_GG_ANTIALIASING='$GG_ANTIALIASING'"; elif [ ! -n "$DEFAULT_GG_ANTIALIASING" -a ! -n "$GG_ANTIALIASING" ]; then echo "#DEFAULT_GG_ANTIALIASING=''"; else echo "DEFAULT_GG_ANTIALIASING='$DEFAULT_GG_ANTIALIASING'"; fi` # Allow version check (on/off or true/false for single launch). # `if [ ! -n "$DEFAULT_GG_VERSIONCHECKALLOW" -a -n "$GG_VERSIONCHECKALLOW" ]; then echo "#DEFAULT_GG_VERSIONCHECKALLOW='$GG_VERSIONCHECKALLOW'"; elif [ ! -n "$DEFAULT_GG_VERSIONCHECKALLOW" -a ! -n "$GG_VERSIONCHECKALLOW" ]; then echo "#DEFAULT_GG_VERSIONCHECKALLOW=''"; else echo "DEFAULT_GG_VERSIONCHECKALLOW='$DEFAULT_GG_VERSIONCHECKALLOW'"; fi` EOF fi #--------------------------------------------- # Prefer default settings from user config file. if [ -n "$DEFAULT_JAVACMD" ]; then JAVACMD="$DEFAULT_JAVACMD" fi if [ -n "$DEFAULT_GG_XMS" ]; then GG_XMS="$DEFAULT_GG_XMS" fi if [ -n "$DEFAULT_GG_XMX" ]; then GG_XMX="$DEFAULT_GG_XMX" fi if [ -n "$DEFAULT_GG_DJAVA_LIBRARY_PATH" ]; then GG_DJAVA_LIBRARY_PATH="$DEFAULT_GG_DJAVA_LIBRARY_PATH" fi if [ -n "$DEFAULT_GG_DSUN_JAVA2D_XRENDER" ]; then GG_DSUN_JAVA2D_XRENDER="$DEFAULT_GG_DSUN_JAVA2D_XRENDER" fi if [ -n "$DEFAULT_GG_DSUN_JAVA2D_OPENGL" ]; then GG_DSUN_JAVA2D_OPENGL="$DEFAULT_GG_DSUN_JAVA2D_OPENGL" fi if [ -n "$DEFAULT_GG_SHOWSPLASH" ]; then GG_SHOWSPLASH="$DEFAULT_GG_SHOWSPLASH" fi if [ -n "$DEFAULT_GG_ENABLEUNDO" ]; then GG_ENABLEUNDO="$DEFAULT_GG_ENABLEUNDO" fi if [ -n "$DEFAULT_GG_DPI" ]; then GG_DPI="$DEFAULT_GG_DPI" fi if [ -n "$DEFAULT_GG_ANTIALIASING" ]; then GG_ANTIALIASING="$DEFAULT_GG_ANTIALIASING" fi if [ -n "$DEFAULT_GG_VERSIONCHECKALLOW" ]; then GG_VERSIONCHECKALLOW="$DEFAULT_GG_VERSIONCHECKALLOW" fi #--------------------------------------------- # If $GG_SYS_CONFIG_PATH is set, check system settings file (if exist) and replace user settings file, if system settings file is newer. if [ -n "$GG_SYS_CONFIG_PATH" ]; then if [ -r "$GG_SYS_CONFIG_PATH/geogebra.properties" ]; then if [ "$GG_SYS_CONFIG_PATH/geogebra.properties" -nt "$GG_CONFIG_PATH/.config/$GG_SCRIPTNAME/geogebra.properties" -a -w "$GG_CONFIG_PATH/.config/$GG_SCRIPTNAME/geogebra.properties" ]; then cp "$GG_CONFIG_PATH/.config/$GG_SCRIPTNAME/geogebra.properties" "$GG_CONFIG_PATH/.config/$GG_SCRIPTNAME/geogebra.properties.old" cp "$GG_SYS_CONFIG_PATH/geogebra.properties" "$GG_CONFIG_PATH/.config/$GG_SCRIPTNAME/geogebra.properties" elif [ ! -e "$GG_CONFIG_PATH/.config/$GG_SCRIPTNAME/geogebra.properties" ]; then cp "$GG_SYS_CONFIG_PATH/geogebra.properties" "$GG_CONFIG_PATH/.config/$GG_SCRIPTNAME/geogebra.properties" fi fi fi #--------------------------------------------- # Define usage function. function func_usage() { cat << _USAGE Usage: $GG_SCRIPTNAME [Java-options] [GeoGebra-options] [FILE] GeoGebra - Dynamic mathematics software Java options: -JavaCMD=<command> Set Java command, default $JAVACMD -Xms<size> Set initial Java heap size, default $GG_XMS -Xmx<size> Set maximum Java heap size, default $GG_XMX -Djava.library.path=<path> Set native library path`if [ -n "$GG_DJAVA_LIBRARY_PATH" ]; then echo ", default $GG_DJAVA_LIBRARY_PATH"; fi` -Dsun.java2d.xrender=<boolean> Enable/disable the Xrender pipeline (Use True for verbose output and true for non-verbose output)`if [ -n "$GG_DSUN_JAVA2D_XRENDER" ]; then echo ", default $GG_DSUN_JAVA2D_XRENDER"; fi` -Dsun.java2d.opengl=<boolean> Enable/disable the OpenGL pipeline (Use True for verbose output and true for non-verbose output)`if [ -n "$GG_DSUN_JAVA2D_OPENGL" ]; then echo ", default $GG_DSUN_JAVA2D_OPENGL"; fi` GeoGebra options: --help Print this help message --v Print version --language=<iso_code> Set language using locale code, e.g. en, de_AT --showAlgebraInput=<boolean> Show/hide algebra input field --showAlgebraInputTop=<boolean> Show algebra input field at top/bottom --showAlgebraWindow=<boolean> Show/hide algebra window --showSpreadsheet=<boolean> Show/hide spreadsheet --showCAS=<boolean> Show/hide CAS window --showSplash=<boolean> Enable/disable the splash screen, default $GG_SHOWSPLASH --enableUndo=<boolean> Enable/disable Undo`if [ -n "$GG_ENABLEUNDO" ]; then echo ", default $GG_ENABLEUNDO"; fi` --fontSize=<number> Set default font size --showAxes=<boolean> Show/hide coordinate axes --showGrid=<boolean> Show/hide grid --settingsfile=[<path>|<filename>] Load/save settings from/in a local file, default $GG_SETTINGS_FILE --resetSettings Reset current settings --export=<filename> Export the Graphics View to SVG/PNG/PDF/EPS/EMF as determined by the extension --dpi=<number> Dots per inch, default $GG_DPI (only used in conjunction with --export) --antiAliasing=<boolean> Turn anti-aliasing on/off`if [ -n "$GG_ANTIALIASING" ]; then echo ", default $GG_ANTIALIASING"; fi` --regressionFile=<filename> Export textual representations of dependent objects, then exit --versionCheckAllow=<setting> Allow version check (on/off or true/false for single launch)`if [ -n "$GG_VERSIONCHECKALLOW" ]; then echo ", default $GG_VERSIONCHECKALLOW"; fi` --logLevel=<level> Set logging level (EMERGENCY|ALERT|CRITICAL|ERROR|WARN|NOTICE|INFO|DEBUG|TRACE) --logFile=<filename> Set log file`if [ -w "$GG_CONFIG_FILE" ]; then echo -e "\n\nEdit $GG_CONFIG_FILE to change defaults."; fi` _USAGE } #--------------------------------------------- # Check for option --help and pass Java options to Java, others to GeoGebra. GG_OPTS=() for i in "$@"; do case "$i" in --help | --hel | --he | --h ) func_usage; exit 0 ;; esac if [ $(expr match "$i" '.*--') -ne 0 ]; then if [ $(expr match "$i" '.*--showSplash=') -ne 0 ]; then GG_SHOWSPLASH=${i:13} shift $((1)) elif [ $(expr match "$i" '.*--enableUndo=') -ne 0 ]; then GG_ENABLEUNDO=${i:13} shift $((1)) elif [ $(expr match "$i" '.*--dpi=') -ne 0 ]; then GG_DPI=${i:6} shift $((1)) elif [ $(expr match "$i" '.*--antiAliasing=') -ne 0 ]; then GG_ANTIALIASING=${i:15} shift $((1)) elif [ $(expr match "$i" '.*--versionCheckAllow=') -ne 0 ]; then GG_VERSIONCHECKALLOW=${i:20} shift $((1)) elif [ $(expr match "$i" '.*--settingsfile=') -ne 0 ]; then GG_SETTINGS_FILE=${i:15} shift $((1)) else GG_OPTS[${#GG_OPTS[*]}]="$i" shift $((1)) fi elif [ $(expr match "$i" '.*-Xms') -ne 0 ]; then GG_XMS=${i:4} shift $((1)) elif [ $(expr match "$i" '.*-Xmx') -ne 0 ]; then GG_XMX=${i:4} shift $((1)) elif [ $(expr match "$i" '.*-Djava.library.path=') -ne 0 ]; then GG_DJAVA_LIBRARY_PATH=${i:20} shift $((1)) elif [ $(expr match "$i" '.*-Dsun.java2d.xrender=') -ne 0 ]; then GG_DSUN_JAVA2D_XRENDER=${i:21} shift $((1)) elif [ $(expr match "$i" '.*-Dsun.java2d.opengl=') -ne 0 ]; then GG_DSUN_JAVA2D_OPENGL=${i:20} shift $((1)) elif [ $(expr match "$i" '.*-JavaCMD=') -ne 0 ]; then JAVACMD=${i:9} shift $((1)) fi done GG_OPTS[${#GG_OPTS[*]}]="--showSplash=$GG_SHOWSPLASH" if [ -n "$GG_ENABLEUNDO" ]; then GG_OPTS[${#GG_OPTS[*]}]="--enableUndo=$GG_ENABLEUNDO" fi GG_OPTS[${#GG_OPTS[*]}]="--dpi=$GG_DPI" if [ -n "$GG_ANTIALIASING" ]; then GG_OPTS[${#GG_OPTS[*]}]="--antiAliasing=$GG_ANTIALIASING" fi if [ -n "$GG_VERSIONCHECKALLOW" ]; then GG_OPTS[${#GG_OPTS[*]}]="--versionCheckAllow=$GG_VERSIONCHECKALLOW" fi GG_OPTS[${#GG_OPTS[*]}]="--settingsfile=$GG_SETTINGS_FILE" JAVA_OPTS=("-Xms$GG_XMS" "-Xmx$GG_XMX") if [ -n "$GG_DJAVA_LIBRARY_PATH" ]; then JAVA_OPTS[${#JAVA_OPTS[*]}]="-Djava.library.path=$GG_DJAVA_LIBRARY_PATH" fi if [ -n "$GG_DSUN_JAVA2D_XRENDER" ]; then JAVA_OPTS[${#JAVA_OPTS[*]}]="-Dsun.java2d.xrender=$GG_DSUN_JAVA2D_XRENDER" fi if [ -n "$GG_DSUN_JAVA2D_OPENGL" ]; then JAVA_OPTS[${#JAVA_OPTS[*]}]="-Dsun.java2d.opengl=$GG_DSUN_JAVA2D_OPENGL" fi #--------------------------------------------- # Run exec "$JAVACMD" "${JAVA_OPTS[@]}" -jar "$GG_PATH/geogebra.jar" "${GG_OPTS[@]}" "$@"
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor