1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151
|
#!/bin/bash
#
# linuxtrade.av:
#
#
#
PROGNAME="$0"
usage() {
cat <<EOF
Usage:
`basename $PROGNAME` [options] [versions] URL|FILE
Appletviewer wrapper for linuxtrade. Locates "best" appletviewer
with version v1, v2, or moz (Netscrape 6.x).
Options:
-s Run with no security
-D lvl Debug level
EOF
exit 1
}
#
# Report an error and exit
#
error() {
echo "`basename $PROGNAME`: $1" >&2
exit 1
}
#
# Process the options
#
DEBUG=0
unset OPTIND
SECURE=
AVSECURE=
CYGWIN=/cygdrive/c/cygwin
while getopts "sD:h?" opt
do
case $opt in
s)
POLICY=/usr/share/linuxtrade/java.policy.allperm
if [ -d $CYGWIN ]; then
# If we are running under Cygwin, then the policy
# file must be in windows filesystem domain
POLICY="/cygwin$POLICY"
fi
SECURE="-Djava.security.policy=$POLICY"
AVSECURE="-J$SECURE"
;;
D) DEBUG="$OPTARG";;
h|\?) usage;;
esac
done
shift `expr $OPTIND - 1`
#
# Main Program
#
case "$#" in
2)
VERS="$1"
URL="$2"
;;
1)
VERS="v2"
URL="$1"
;;
*) usage
;;
esac
tryjava() {
AV="$1"
case "$AV" in
*\**) AV=`ls $AV 2>/dev/null | tail -1`
esac
if [ -x "$AV" ]; then
if [ $DEBUG != 0 ]; then
echo "$VERS: $AV $SECURE sun.applet.AppletViewer $URL"
fi
exec "$AV" $SECURE sun.applet.AppletViewer $URL
fi
}
tryav() {
AV="$1"
case "$AV" in
*\**) AV=`ls $AV 2>/dev/null | tail -1`
esac
if [ -x "$AV" ]; then
if [ $DEBUG != 0 ]; then
echo "$VERS: $AV $AVSECURE $URL"
fi
exec "$AV" $AVSECURE $URL
fi
}
for ver in $VERS
do
case "$ver" in
v1)
# 1.1.8 is approximately whats in Netscrape 4.X
tryav /usr/java/jdk118*/bin/appletviewer
tryjava /usr/java/jdk118*/bin/java
tryav /usr/local/jdk118*/bin/appletviewer
tryjava /usr/local/jdk118*/bin/java
tryav /usr/lib/jdk1.1.8*/bin/appletviewer
tryjava /usr/lib/jdk1.1.8*/bin/java
# Try windows
tryjava "/cygdrive/c/Program Files/JavaSoft/JRE/1.1/bin/jre.exe"
;;
v2)
# Try 1.4.2
tryav /usr/java/j2sdk1.4.2/bin/appletviewer
# Try 1.3.1 versions first, since 1.4.0 is very new
tryav /usr/java/jdk1.3.1*/bin/appletviewer
tryjava /usr/java/jre1.3.1*/bin/java
tryjava /usr/jre1.3.1*/bin/java
tryjava /usr/local/jre1.3.1*/bin/java
# Try 1.4.0
tryav /usr/java/j2sdk1.4.*/bin/appletviewer
tryav /usr/j2sdk1.4.*/bin/appletviewer
tryjava /usr/j2re1.4.*/bin/java
tryjava /usr/local/j2re1.4.*/bin/java
# Try IBM 1.3.x
tryav /opt/IBMJava2-13*/bin/appletviewer
tryjava /opt/IBMJava2-13*/jre/bin/java
# Try windows
tryav /cygdrive/c/j2sdk1.4.1/bin/appletviewer.exe
tryjava /cygdrive/c/WINDOWS/system32/java.exe
;;
moz)
# Try whats being used by Mozilla (Netscrape 6/7.x)
tryjava /usr/local/netscape/plugins/java2/bin/java
tryjava /usr/lib/mozilla*/plugins/java2/bin/java
tryjava /usr/lib/netscape/plugins/java2/bin/java
;;
esac
done
#
# Last resort, try an unknown version in bin
#
tryav `which appletviewer 2>/dev/null`
tryjava `which java 2>/dev/null`
|