2 # Filename: grml-network
3 # Purpose: simple frontend to varous connection tools
4 # Authors: (c) Klaus Knopper Mar 2004, (c) Michael Prokop <mika@grml.org>
5 # Bug-Reports: see http://grml.org/bugs/
6 # License: This file is licensed under the GPL v2.
7 ################################################################################
9 PATH="/bin:/sbin:/usr/bin:/usr/sbin:/usr/X11R6/bin:/usr/local/bin"
12 if [ $(id -ru) -ne 0 ] ; then
13 echo 1>&2 "Error: please run this script with uid 0 (root)." ; exit 1
16 # XDIALOG_HIGH_DIALOG_COMPAT=1
17 # export XDIALOG_HIGH_DIALOG_COMPAT
20 [ "$1" = "check" ] && CHECK="yes"
30 # [ -n "$DISPLAY" ] && [ -x /usr/bin/Xdialog ] && DIALOG="Xdialog"
35 [ -r /etc/default/locale ] && . /etc/default/locale
40 while [ ! -e "$TMP.done" ]; do
42 status="`expr \( 100 - $status \) / 4 + $status`"
44 done | $DIALOG --title "$0" --gauge "$1" 8 75 0
49 touch "$TMP.done" ; wait ; rm -f "$TMP.done"
53 if [ -z "$NOCHECK" -a -x /usr/bin/nmap ] ; then
54 gauge "Checking network status..." &
56 GW="$(echo $(route -n | awk '/^0\.0\.0\.0/{print $2}'))"
57 GWDEV="$(echo $(route -n | awk '/^0\.0\.0\.0/{print $NF}'))"
58 NMAP="$(nmap -sP --host-timeout 4 --max-rtt-timeout 4 $GW 2>/dev/null)"
61 if ! echo "$NMAP" | grep -q '0 hosts up' ; then
68 if [ -n "$STATUS" ]; then
69 [ -n "$CHECK" ] && exit 0 # exit if we are already connected
70 STATUS="Online ($GWDEV)"
78 # Language-dependent Messages
81 TITLE1="Netzwerk-Setup"
82 STATUS="Status: $STATUS"
83 MESSAGE1="Bitte auswaehlen:"
84 NETCARD="Netzwerkkarten (LAN/WLAN) Konfiguration"
85 DSL="Einwahl per DSL-Modem"
86 ISDN="Einwahl per ISDN"
90 TITLE1="Network Setup"
91 STATUS="Current state: $STATUS"
92 MESSAGE1="Please select:"
93 NETCARD="Configure network card (LAN/WLAN)"
94 DSL="Dial via DSL-adapter"
100 # Shortcut description selected
101 TYPES=(netcardconfig "$NETCARD" \
105 type pppoeconf >/dev/null 2>&1 || { unset TYPES[2]; unset TYPES[3]; }
106 type isdnconfig >/dev/null 2>&1 || { unset TYPES[4]; unset TYPES[5]; }
110 $DIALOG --clear --cancel-label "$EXIT" --title "$TITLE1" --menu "$STATUS
112 $MESSAGE1" 18 75 10 "${TYPES[@]}" 2>"$TMP" || bailout 1
115 TYPE="${TYPE#\"}"; TYPE="${TYPE%\"}"
122 if [ -z "$NOCHECK" ] ; then
130 ## END OF FILE #################################################################