#!/bin/bash export TEXTDOMAIN="zero-lliurex-java-controlpanel" MSG_USANDO=$(gettext "You are using:") MSG_CAMBIAR=$(gettext "Do you wish this Java Control Panel or other?") MSG_TITLE=$(gettext "Java Selection Control Panel Tool") MSG_CHOOSE=$(gettext "Choose your Java Machine") MSG_MARK=$(gettext "Choose") MSG_DIR=$(gettext "Directory") MSG_VERSION=$(gettext "Version") MSG_NOPERMISSIONS=$(gettext "This Java don't contain Control Panel") MSG_DONE=$(gettext "Done") #####OBSOLETO#####ACTUAL=$(update-alternatives --get-selections | grep java$) #####OBSOLETO#####USANDO=$(echo $ACTUAL | cut -d" " -f3 | cut -d"/" -f5) #Busco la ruta del binario java que esta usando el sistema JAVA_ROUTE=$(update-alternatives --get-selections | grep java$ | rev | cut -d " " -f1 | rev ) #Memorizo la version de java que estoy usando actualmente USANDO=$(echo $JAVA_ROUTE -version 2>&1 | grep version) RESPUESTA=$(zenity --question --title="$MSG_TITLE" --ok-label=This --cancel-label=Other --width=300 --height=100 --text="$MSG_USANDO\n$USANDO\n$MSG_CAMBIAR") #Creamos la lista de los Javas instalados disponibles y los listamos if [ $? -gt 0 ]; then UPDATE_LONG=$(update-alternatives --list java | grep -v "gij") UPDATE_SHORT=$(update-alternatives --list java | grep -v "gij" | cut -d"/" -f5) CONTADOR=1 for DIRECTORIO in $UPDATE_LONG ; do SHORT=$(echo $UPDATE_SHORT | cut -d" " -f$CONTADOR) #Compruebo que la version que voy a listar posee un numero o sino la listo como UNKNOW rc=0 echo $SHORT | grep -q "[0-9]" || rc=1 if [ $rc -eq 0 ]; then ENTRADA="FALSE "$DIRECTORIO" "$SHORT LIST=(${LIST[@]} "$ENTRADA") else SHORT=UNKNOW ENTRADA="FALSE "$DIRECTORIO" "$SHORT LIST=(${LIST[@]} "$ENTRADA") fi let CONTADOR=CONTADOR+1 done #Ejecuto la selección de Java mientras que no se encuentre un java con Panel de Control o no se cancele while /bin/true; do #Cuadro de dialogo para seleccionar la versionde Java sobre la que lanzar el ControlPanel SELECCION=$(zenity --title="$MSG_TITLE" --width=600 --height=200 --text="$MSG_CHOOSE" --list --column="$MSG_MARK" --column="$MSG_DIR" --column="$MSG_VERSION" --radiolist ${LIST[*]}) if [ $? -eq 0 ]; then IFS="|" #Sustituyo la palabra Java por Control panel JAVA_CONTROL_PANEL=$(echo $SELECCION | sed 's/java\+$/ControlPanel/') if [ $? -eq 0 ]; then ls $JAVA_CONTROL_PANEL #Compruebo que el ControlPanel existe if [ $? -eq 0 ]; then $JAVA_CONTROL_PANEL exit 0 else zenity --error --title="$MSG_TITLE" --text="$MSG_NOPERMISSIONS" fi else zenity --error --title="$MSG_TITLE" --text="$MSG_NOPERMISSIONS" fi IFS="" else exit 0 fi done else #Sustituyo la palabra Java por Control panel JAVA_CONTROL_PANEL=$(echo $JAVA_ROUTE | sed 's/java\+$/ControlPanel/') #Ejecuto la selección de Java mientras que no se encuentre un java con Panel de Control o no se cancele #Compruebo que el ControlPanel existe ls $JAVA_CONTROL_PANEL if [ $? -eq 0 ]; then #Ejecuto ControlPanel de Java $JAVA_CONTROL_PANEL else zenity --error --title="$MSG_TITLE" --text="$MSG_NOPERMISSIONS" fi fi exit 0