123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340 |
- #!/bin/sh
- #Lesser GPL licence v2 (http://www.fsf.org/licensing/licenses/lgpl.html)
- #Barry Kauler www.puppylinux.com
- #Updated for Puppy 4.00, April 2008.
- #v405 july 2008 updated.
- #v409 add both Pppoeconf and Roaring Penguin PPPOE to menus.
- #v411 remove pppoeconf buttons from gui if pkg not installed.
- #v411 anythng on commandline suppresses default-connect gui (see wizardwizard).
- #v423 menu modification, cater to dialup wireless modem.
- #091218 button for ipinfo.
- #100227 overhaul, added Pwireless2, Network Wizards (old and new).
- #100310 added Simple Network Setup tool.
- #100412 sns related bug fix.
- #v433 rerwin: Add message for previously selected modem not present.
- #100902 new pupdial_wizard_helper script.
- #101002 rerwin: Wait for initialization scripts to complete. 101122 breakout.
- #101206 pupdial_wizard_helper now called from pupdial.
- #111022 added hostname-set button.
- #111028 put hostname entry box directly in this wizard. internationalised.
- #111106 do not use $HOSTNAME, as hostname-set may have just been run.
- #120201 one gettext translation added.
- #120823 rerwin: add frisbee.
- #120823 rerwin: get correct pid in wait loop.
- #121112 rerwin: change indicator of frisbee.
- #130111 rerwin: change name of frisbee invocation for integrated version, add disable when appropriate.
- #131214 zigbert: gui (gtkdialog) improvements.
- export TEXTDOMAIN=connectwizard
- export OUTPUT_CHARSET=UTF-8
- #v411 commandline param, this section irrelevant...
- DEFAULTCONNECT="`cat /usr/local/bin/defaultconnect | tail -n 1 | tr -s " " | cut -f 2 -d " "`"
- [ "`grep 'gprs' /usr/local/bin/defaultconnect`" != "" ] && DEFAULTCONNECT='pgprs-connect'
- [ "$DEFAULTCONNECT" = "gkdial" ] && DEFAULTCONNECT="pupdial" #for older pups.
- #radiobuttons...
- DEFGNOMEPPP="no"
- DEFPUPDIAL="no"
- DEFRPPPPOE="no"
- DEFMTGPRS="no"
- DEFICW="no"
- DEFPPPOECONF="no" #v409
- DEFPWIRELESS="no" #100227
- DEFFRISBEE="no" #120823
- DEFNETWIZCLASSIC="no" #100227
- DEFNETWIZARD="no" #100227
- DEFSNS="no" #100310
- case $DEFAULTCONNECT in
- gnome-ppp)
- DEFGNOMEPPP="yes"
- ;;
- pupdial)
- DEFPUPDIAL="yes"
- ;;
- pppoe_gui)
- DEFRPPPPOE="yes"
- ;;
- pgprs-connect)
- DEFMTGPRS="yes"
- ;;
- pppoeconf) #v409
- DEFPPPOECONF="yes"
- ;;
- Pwireless2) #100227
- DEFPWIRELESS="yes"
- ;;
- frisbee) #120823 130111
- DEFFRISBEE="yes"
- ;;
- net_wiz_classic) #100227
- DEFNETWIZCLASSIC="yes"
- ;;
- net-setup.sh) #100227
- DEFNETWIZARD="yes"
- ;;
- sns) #100310 Simple Network Setup.
- DEFSNS="yes"
- ;;
- *)
- DEFICW="yes"
- ;;
- esac
- #101002 rerwin: Wait for initialization scripts to complete... 101122 breakout.
- BRKCNT=0 ; BRKPID=0
- while [ "`ps aux | grep 'rc.services' | grep -v 'grep'`" != "" ];do
- if [ $BRKCNT -eq 1 ];then
- /usr/lib/gtkdialog/box_splash -placement center -close never -fontsize large -text "Please wait..." &
- BRKPID=$! #120823
- fi
- sleep 1
- BRKCNT=$(($BRKCNT + 1))
- [ $BRKCNT -gt 10 ] && break
- done
- [ $BRKPID -ne 0 ] && kill $BRKPID
- #v405
- MSGNETIFS="`gettext 'No network interfaces detected'`"
- M_if1=$(gettext 'Available network interfaces:')
- SHOWNETIFS="`ls -1 /sys/class/net | grep -v -E '^lo|^wmaster' | tr '\n' ' '`"
- if [ `echo -n "$SHOWNETIFS" | wc -w` -gt 0 ];then
- MSGNETIFS="${M_if1} $SHOWNETIFS"
- fi
- #v433...
- MSGMODEM="`gettext 'No dialup modem detected'`"
- if [ -h /dev/modem ];then
- DEVMODEM="`readlink /dev/modem`"
- if [ -e /dev/modem ];then
- MSGMODEM="$(gettext 'Dialup modem detected at port') $DEVMODEM"
- else
- MSGMODEM="$(gettext 'Dialup modem at port') $DEVMODEM $(gettext 'not found')"
- fi
- fi
- FLAGGNOMEPPP=""
- if [ ! "`which gnome-ppp`" = "" ];then
- FLAGGNOMEPPP="<radiobutton><label>$(gettext 'GnomePPP (modem dialup)')</label><variable>RADIOGNOMEPPP</variable><default>$DEFGNOMEPPP</default></radiobutton>"
- fi
- FLAGROARINGPENGUIN=""
- CONNECTROARINGPENGUIN="" #v409
- if [ "`which pppoe_gui`" != "" ];then
- FLAGROARINGPENGUIN="<radiobutton><label>$(gettext 'Roaring Penguin (PPPoE)')</label><variable>RADIORPPPPOE</variable><default>$DEFRPPPPOE</default></radiobutton>"
- CONNECTROARINGPENGUIN='
- <hbox space-expand="true" space-fill="true">
- <button space-expand="false" space-fill="false">
- '"`/usr/lib/gtkdialog/xml_button-icon internet_connect.svg big`"'
- <action>/usr/sbin/pppoe_gui &</action>
- <action type="exit">exit</action>
- </button>
- <text space-expand="false" space-fill="false"><label>'$(gettext "'Roaring Penguin' PPPOE")'</label></text>
- <text space-expand="true" space-fill="true"><label>""</label></text>
- </hbox>' #v409
- fi
- #v411...
- FLAGPPPOECONF=""
- CONNECTPPPOECONF=""
- if [ "`which pppoeconf`" != "" ];then
- FLAGPPPOECONF="<radiobutton><label>$(gettext 'Pppoeconf (PPPOE)')</label><variable>RADIOPPPOECONF</variable><default>$DEFPPPOECONF</default></radiobutton>"
- CONNECTPPPOECONF='
- <hbox space-expand="true" space-fill="true">
- <button space-expand="false" space-fill="false">
- '"`/usr/lib/gtkdialog/xml_button-icon internet_connect.svg big`"'
- <action>/usr/sbin/pppoeconf &</action>
- <action type="exit">exit</action>
- </button>
- <text space-expand="false" space-fill="false"><label>'$(gettext "'Pppoeconf' PPPOE")'</label></text>
- <text space-expand="true" space-fill="true"><label>""</label></text>
- </hbox>'
- fi
- #FLAGMTGPRS=""
- #if [ "`which pgprs-setup`" != "" ];then
- CONNECTMTGPRS='
- <hbox space-expand="true" space-fill="true">
- <button space-expand="false" space-fill="false">
- '"`/usr/lib/gtkdialog/xml_button-icon wireless.svg big`"'
- <action>/usr/sbin/pgprs-shell &</action>
- <action type="exit">exit</action>
- </button>
- <text space-expand="false" space-fill="false"><label>'$(gettext "Wireless GPRS modem")'</label></text>
- <text space-expand="true" space-fill="true"><label>""</label></text>
- </hbox>'
- FLAGMTGPRS="<radiobutton><label>$(gettext "GPRS Connect")</label><variable>RADIOMTGPRS</variable><default>$DEFMTGPRS</default></radiobutton>"
- #fi
- if [ -d /usr/local/Pwireless2 ];then #100227 Jemimah's wireless connection gui.
- FLAGPWIRELESS="<radiobutton><label>$(gettext "Pwireless (wireless networking)")</label><variable>RADIOPWIRELESS</variable><default>$DEFPWIRELESS</default></radiobutton>"
- fi
- if [ -f /usr/local/bin/frisbee ];then #100227 121112 130111 Jemimah's wireless connection gui.
- FLAGFRISBEE="<radiobutton><label>$(gettext "Frisbee (wireless networking)")</label><variable>RADIOFRISBEE</variable><default>$DEFFRISBEE</default></radiobutton>"
- fi
- if [ -f /usr/local/net_setup/usr/sbin/net-setup.sh ];then #100227 wizard used in older puppies.
- FLAGNETWIZCLASSIC="<radiobutton><label>$(gettext "Network Wizard Classic")</label><variable>RADIONETWIZCLASSIC</variable><default>$DEFNETWIZCLASSIC</default></radiobutton>"
- fi
- if [ -f /usr/sbin/net-setup.sh ];then #100227 wizard developed by Dougal.
- FLAGNETWIZARD="<radiobutton><label>$(gettext "Dougal's Network Wizard")</label><variable>RADIONETWIZARD</variable><default>$DEFNETWIZARD</default></radiobutton>"
- fi
- if [ -d /usr/local/simple_network_setup ];then #100310
- FLAGSNS="<radiobutton><label>$(gettext "Barry's Simple Network Setup")</label><variable>RADIOSNS</variable><default>$DEFSNS</default></radiobutton>"
- fi
- #v411...
- CHOOSEDEFAULT='
- <vbox space-expand="true" space-fill="true">
- '"`/usr/lib/gtkdialog/xml_info fixed internet_connect.svg 60 "$(gettext "What you choose here will start immediately next time you click the 'connect' icon either on the desktop or the tray.")"`"'
- <vbox space-expand="true" space-fill="true">
- <frame '$(gettext "Connect action")'>
- <vbox space-expand="true" space-fill="true">
- <radiobutton><label>'$(gettext "PupDial (modem dialup)")'</label><variable>RADIOPUPDIAL</variable><default>'$DEFPUPDIAL'</default></radiobutton>
- '$FLAGSNS'
- '$FLAGNETWIZARD'
- '$FLAGPWIRELESS'
- '$FLAGFRISBEE'
- '$FLAGNETWIZCLASSIC'
- '$FLAGMTGPRS'
- '$FLAGGNOMEPPP'
- '$FLAGPPPOECONF'
- '$FLAGROARINGPENGUIN'
- <radiobutton><label>'$(gettext "Internet Connection Wizard")'</label><variable>RADIOICW</variable><default>'$DEFICW'</default></radiobutton>
- </vbox>
- </frame>
- </vbox>
- </vbox>'
- [ $1 ] && CHOOSEDEFAULT=""
- HOSTNAME="`cat /etc/hostname`" #111106 do not use $HOSTNAME, as hostname-set may have just been run.
- export InternetConnectionWizard='
- <window title="'$(gettext "Internet Connection Wizard")'" icon-name="gtk-connect">
- <vbox space-expand="true" space-fill="true">
- <notebook labels="'$(gettext 'Connection')'|'$(gettext 'Desktop / Tray')'">
- <vbox space-expand="true" space-fill="true">
- '"`/usr/lib/gtkdialog/xml_info fixed internet_connect.svg 60 "$MSGNETIFS" "$MSGMODEM" "<b>$(gettext "Help button for more info")</b>"`"'
- <hbox space-expand="true" space-fill="true">
- <vbox space-expand="true" space-fill="true">
- <frame '$(gettext "Connect to Internet by")'>
- <vbox space-expand="false" space-fill="false">
- <hbox space-expand="true" space-fill="true">
- <button space-expand="false" space-fill="false">
- '"`/usr/lib/gtkdialog/xml_button-icon network_connect.svg big`"'
- <action>/usr/sbin/connectwizard_2nd & </action>
- <action type="exit">true_exit</action>
- </button>
- <text space-expand="false" space-fill="false"><label>'$(gettext "Wired or wireless LAN")'</label></text>
- <text space-expand="true" space-fill="true"><label>""</label></text>
- </hbox>
- <hbox space-expand="true" space-fill="true">
- <button space-expand="false" space-fill="false">
- '"`/usr/lib/gtkdialog/xml_button-icon modem.svg big`"'
- <action>/usr/sbin/pupdial & </action>
- <action type="exit">true_exit</action>
- </button>
- <text space-expand="false" space-fill="false"><label>'$(gettext "Dialup analog or wireless modem (2g/3g)")'</label></text>
- <text space-expand="true" space-fill="true"><label>""</label></text>
- </hbox>
- '${CONNECTMTGPRS}'
- '${CONNECTPPPOECONF}'
- '${CONNECTROARINGPENGUIN}'
- </vbox>
- </frame>
- </vbox>
- <vbox space-expand="true" space-fill="true">
- <frame '$(gettext 'Tools')'>
- <vbox space-expand="false" space-fill="false">
- <hbox space-expand="true" space-fill="true">
- <text space-expand="false" space-fill="false"><label>'$(gettext "Setup a firewall")'</label></text>
- <button space-expand="false" space-fill="false">
- '"`/usr/lib/gtkdialog/xml_button-icon firewall.svg big`"'
- <action>rxvt -e /usr/sbin/firewallinstallshell &</action>
- <action type="exit">exit</action>
- </button>
- </hbox>
- <hbox space-expand="true" space-fill="true">
- <text space-expand="false" space-fill="false"><label>'$(gettext "Setup a proxy server")'</label></text>
- <button space-expand="false" space-fill="false">
- '"`/usr/lib/gtkdialog/xml_button-icon shield_internet.svg big`"'
- <action>/usr/local/simple_network_setup/proxy-setup &</action>
- <action type="exit">exit</action>
- </button>
- </hbox>
- <hbox space-expand="true" space-fill="true" tooltip-text="'$(gettext 'This gives detailed network interface information')'">
- <text space-expand="false" space-fill="false"><label>'$(gettext "Network information")'</label></text>
- <button space-expand="false" space-fill="false">
- '"`/usr/lib/gtkdialog/xml_button-icon info.svg big`"'
- <action>ipinfo & </action>
- </button>
- </hbox>
- <hbox space-expand="true" space-fill="true" tooltip-text="'$(gettext 'Type your computer name to identify in the network. Alpha-numeric without spaces. Then click button to apply the change.')'">
- <text width-request="30" space-expand="true" space-fill="true"><label>""</label></text>
- <vbox>
- <text space-expand="false" space-fill="false"><label>'$(gettext 'Change hostname')'</label></text>
- <entry width-chars="15">
- <input>echo -n "'$HOSTNAME'"</input>
- <variable>ENTRY_HOSTNAME</variable>
- </entry>
- </vbox>
- <button space-expand="false" space-fill="false">
- '"`/usr/lib/gtkdialog/xml_button-icon apply.svg big`"'
- <action>/usr/sbin/hostname-set $ENTRY_HOSTNAME</action>
- </button>
- </hbox>
- </vbox>
- </frame>
- </vbox>
- </hbox>
- </vbox>
- '${CHOOSEDEFAULT}'
- </notebook>
- <hbox space-expand="false" space-fill="false">
- <button space-expand="false" space-fill="false">
- <label>'$(gettext "Help")'</label>
- '"`/usr/lib/gtkdialog/xml_button-icon help`"'
- <action>/usr/local/apps/Connect/connect_help & </action>
- </button>
- <text space-expand="true" space-fill="true"><label>""</label></text>
- <button space-expand="false" space-fill="false">
- <label>'$(gettext "Ok")'</label>
- '"`/usr/lib/gtkdialog/xml_button-icon ok`"'
- <action>exit:OK</action>
- </button>
- </hbox>
- </vbox>
- </window>'
- . /usr/lib/gtkdialog/xml_info gtk #build bg_pixmap for gtk-theme
- RETSTR="`gtkdialog -p InternetConnectionWizard`"
- [ $1 ] && exit #v411
- [ "`echo "$RETSTR" | grep 'true_exit'`" != "" ] && exit #100412 after return from sns. 100902 and pupdial.
- RADIOBUT="`echo "$RETSTR" | grep '^RADIO' | grep '"true"' | cut -f 1 -d '='`"
- [ "$RADIOBUT" = "RADIOGNOMEPPP" ] && echo -e '#!/bin/sh\nexec gnomepppshell' > /usr/local/bin/defaultconnect
- [ "$RADIOBUT" = "RADIOPUPDIAL" ] && echo -e '#!/bin/sh\nexec pupdial' > /usr/local/bin/defaultconnect
- [ "$RADIOBUT" = "RADIORPPPPOE" ] && echo -e '#!/bin/sh\nexec pppoe_gui' > /usr/local/bin/defaultconnect
- [ "$RADIOBUT" = "RADIOMTGPRS" ] && echo -e '#!/bin/sh\nexec rxvt -title "pgprs-connect PRESS CTRL+C TO DISCONNECT" -e pgprs-connect' > /usr/local/bin/defaultconnect
- [ "$RADIOBUT" = "RADIOICW" ] && echo -e '#!/bin/sh\nexec connectwizard' > /usr/local/bin/defaultconnect
- [ "$RADIOBUT" = "RADIOPPPOECONF" ] && echo -e '#!/bin/sh\nexec pppoeconf' > /usr/local/bin/defaultconnect #v409
- [ "$RADIOBUT" = "RADIOPWIRELESS" ] && echo -e '#!/bin/sh\nexec Pwireless2' > /usr/local/bin/defaultconnect #100227
- [ "$RADIOBUT" = "RADIOFRISBEE" ] && echo -e '#!/bin/sh\nexec frisbee' > /usr/local/bin/defaultconnect #120823 130111
- [ "$RADIOBUT" = "RADIONETWIZCLASSIC" ] && echo -e '#!/bin/sh\nexec net_wiz_classic' > /usr/local/bin/defaultconnect #100227
- [ "$RADIOBUT" = "RADIONETWIZARD" ] && echo -e '#!/bin/sh\nexec net-setup.sh' > /usr/local/bin/defaultconnect #100227
- [ "$RADIOBUT" = "RADIOSNS" ] && echo -e '#!/bin/sh\nexec sns' > /usr/local/bin/defaultconnect #100227
- if [ "$FLAGFRISBEE" ];then #130111 precaution...
- echo -n "$RADIOBUT" | grep -q -E 'CW$|FRISBEE|PUPDIAL|MTGPRS' \
- || frisbee_mode_disable
- fi
- ###end###
|