[ Srđan Pavlović @ 14.12.2010. 18:49 ] @
Jel ima neko 10 min da napravi jednostavan GTK frontend za
ovu skriptu sto sam pravio za pppoe konekciju, treba da ima samo 2 dugmeta,
i dva text polja otprilike...

1. connect dugme
2. disconnect dugme
3. polje za unos username-a
4. polje za unos lozinke


Skripta je ova, pa na osnovu nje:

Code (bash):


 #!/bin/bash

 clear

 echo "Skript za start pppoe konekcije"

poff -a > /dev/null

echo "Upisi username:"
   read kor_ime
echo "Upisi password:"
  read kor_pass

 echo "\"$kor_ime\"" '*' "\"$kor_pass\""  > /etc/ppp/pap-secrets
 
 echo noipdefault > /etc/ppp/peers/dsl-provider
 echo defaultroute >> /etc/ppp/peers/dsl-provider
 echo replacedefaultroute >> /etc/ppp/peers/dsl-provider
 echo hide-password >> /etc/ppp/peers/dsl-provider
 echo noauth >> /etc/ppp/peers/dsl-provider
 echo persist >> /etc/ppp/peers/dsl-provider
 echo plugin rp-pppoe.so wlan0 >> /etc/ppp/peers/dsl-provider
 echo usepeerdns >> /etc/ppp/peers/dsl-provider
 echo user "\"$kor_ime\"" >> /etc/ppp/peers/dsl-provider
 echo " " >> /etc/ppp/peers/dsl-provider

pon dsl-provider > /dev/null

echo "Proverite da li ste sada konektovani."


Kontate vec sta skripta radi... znaci treba da moze da se
unesu korisnicko ime i pass, i da se moze kliknuti na
connect ili disconnect.

Disconnect treba jednostavno da pozove "poff -a" iz bash-a.
A za konektovanje da se odradi ono sve dole sa unosenjem
lozinke, pravljenjem onog fajla, echo-vanjem u njega svega onoga... itd, sve.

Moze i jedan button za izlaz iz GUI-ja :)


U P D A T E :

Dany12 dodao je na moj skript GUI pomocu zenity-ja, i dodao jos neke
zanimljive opcije, evo trenutne verzije skript-a za olaksavanje pppoe povezivanja:


Najnovija verzija .deb paketa za instalaciju je okacena uz ovu poruku za download.

Link na GTK-Apps.org ka aplikaciji.

Link ka AUR-u za Arch Linux instalaciju.

[Ovu poruku je menjao Srđan Pavlović dana 23.01.2011. u 15:07 GMT+1]
[ Srđan Pavlović @ 14.12.2010. 20:27 ] @
Evo, ovako nesto, poceo sam u mono-u, ali ne mogu se ja tu snaci... bas :)

Ovako nekako da izgleda, a okacio sam i mono "projekat" ako nekoga ne mrzi...

predpostavljam da moze da se odradi uz pomoc stdlib-a i system(skript.sh) poziva.



Kada se klikne na "konektuj se" trebalo bi da se pojave dva tekst polja
za unos username-a i password-a koji ce biti prosledjeni skriptu za konekciju.

Ili odmah gore da postoje na ovoj formi jos 2 tekst polja za to...
[ dany12 @ 15.12.2010. 09:25 ] @
Probaj zenity.Nemas razloga da se za to malo petljas sa mono.
[ Zekica @ 15.12.2010. 13:33 ] @
Evo nečega u PyGTK-u napisano za 15ak minuta.

Postoji konfiguracioni fajl koji pamti poslednji username, password i mrežni interfejs.

Čita /sys/class/net folder za spisak mrežnih interfejsa...

[ lumpy986 @ 15.12.2010. 14:22 ] @
Citat:
Zekica: Evo nečega u PyGTK-u napisano za 15ak minuta.

Postoji konfiguracioni fajl koji pamti poslednji username, password i mrežni interfejs.

Čita /sys/class/net folder za spisak mrežnih interfejsa...



Ovo mi se svidja :) Jos da proverimo kako radi :)
[ dany12 @ 15.12.2010. 14:25 ] @
Evo kako bi to izgledalo sa zenity

Code (bash):
#!/bin/bash

zenity --width=400 --height=100 --title='Skript za start pppoe konekcije' --question --text="Da li zelite da startujete konekciju?" --ok-label "Konektuj se" --cancel-label "Diskonektuj se"
if [ "$?" = 0 ];then
     kor_ime=`zenity --width=400 --height=100 --title='Skript za start pppoe konekcije' --entry --text="Unesite korisnicko ime"`
     kor_pass=`zenity --width=400 --height=100 --title='Skript za start pppoe konekcije' --entry --hide-text --text="Unesite lozinku"`

     poff -a > /dev/null


     echo "\"$kor_ime\"" '*' "\"$kor_pass\""  > /etc/ppp/pap-secrets
 
     echo noipdefault > /etc/ppp/peers/dsl-provider
     echo defaultroute >> /etc/ppp/peers/dsl-provider
     echo replacedefaultroute >> /etc/ppp/peers/dsl-provider
     echo hide-password >> /etc/ppp/peers/dsl-provider
     echo noauth >> /etc/ppp/peers/dsl-provider
     echo persist >> /etc/ppp/peers/dsl-provider
     echo plugin rp-pppoe.so wlan0 >> /etc/ppp/peers/dsl-provider
     echo usepeerdns >> /etc/ppp/peers/dsl-provider
     echo user "\"$kor_ime\"" >> /etc/ppp/peers/dsl-provider
     echo " " >> /etc/ppp/peers/dsl-provider

     pon dsl-provider > /dev/null

     zenity --info --width=400 --height=100 --title='Skript za start pppoe konekcije' --text="Proverite da li ste sada konektovani."
else
     poff -a > /dev/null
fi    


/edit: bash code tag dodat.

[Ovu poruku je menjao Srđan Pavlović dana 15.12.2010. u 21:14 GMT+1]
[ Zekica @ 15.12.2010. 15:14 ] @
Citat:
lumpy986: Ovo mi se svidja :) Jos da proverimo kako radi :)

Nije gotovo, potrebno je samo promeniti skripte koje se pozivaju iz gui-a

Za sada se poziva samo echo, jer je već Srđan napravio skriptu koju treba pozvati (samo što umesto read treba koristiti $1 i $2)...

configFile="test.cfg"
uiFile="pppoe-gui.glade"
disconnectScript="echo poff -a"
connectScript="echo connect"

ove stringove treba promeniti...

connect skripta se poziva sa parametrima $1=username, $2=password, $3=mrežni interfejs
[ Srđan Pavlović @ 15.12.2010. 18:43 ] @
@Zekica, dany12 - hvala ljudi, trebalo bi dalje da se snadjem sam
sa ovim sto ste uradili, ako negde zapne, javljam ;)

Pozz!
[ lumpy986 @ 15.12.2010. 20:29 ] @
Citat:
dany12: Evo kako bi to izgledalo sa zenity

Code (bash):
#!/bin/bash

zenity --width=400 --height=100 --title='Skript za start pppoe konekcije' --question --text="Da li zelite da startujete konekciju?" --ok-label "Konektuj se" --cancel-label "Diskonektuj se"
if [ "$?" = 0 ];then
     kor_ime=`zenity --width=400 --height=100 --title='Skript za start pppoe konekcije' --entry --text="Unesite korisnicko ime"`
     kor_pass=`zenity --width=400 --height=100 --title='Skript za start pppoe konekcije' --entry --hide-text --text="Unesite lozinku"`

     poff -a > /dev/null


     echo "\"$kor_ime\"" '*' "\"$kor_pass\""  > /etc/ppp/pap-secrets
 
     echo noipdefault > /etc/ppp/peers/dsl-provider
     echo defaultroute >> /etc/ppp/peers/dsl-provider
     echo replacedefaultroute >> /etc/ppp/peers/dsl-provider
     echo hide-password >> /etc/ppp/peers/dsl-provider
     echo noauth >> /etc/ppp/peers/dsl-provider
     echo persist >> /etc/ppp/peers/dsl-provider
     echo plugin rp-pppoe.so wlan0 >> /etc/ppp/peers/dsl-provider
     echo usepeerdns >> /etc/ppp/peers/dsl-provider
     echo user "\"$kor_ime\"" >> /etc/ppp/peers/dsl-provider
     echo " " >> /etc/ppp/peers/dsl-provider

     pon dsl-provider > /dev/null

     zenity --info --width=400 --height=100 --title='Skript za start pppoe konekcije' --text="Proverite da li ste sada konektovani."
else
     poff -a > /dev/null
fi    


/edit: bash code tag dodat.

[Ovu poruku je menjao Srđan Pavlović dana 15.12.2010. u 21:14 GMT+1]




Skripta radi do neke granice, konektuje se bez problema, ali ne moze se diskonektovati. Promenio sam kod:

Code:
 poff -a > /dev/null 


u

Code:
 sudo poff -a > /dev/null 


sada se diskonektuje ali ne moze se ponovo konektovati dok se ne restartje komp.

Predlozi?
[ dany12 @ 16.12.2010. 08:58 ] @
Skripta se mora pokrenuti sa sudo da bi odradila posao,mislim da je to bilo ocigledno pa zato to nisam naveo.
Kada se konektujes iz comandne linije,da li pises sudo pon dsl-provider ili samo pon dsl-provider.
Ako napravis shortcut negde na desktop-u,onda moras uneti gksudo ispred poziva skripte.
[ Srđan Pavlović @ 16.12.2010. 10:23 ] @
E, da, pokreni skriptu sa sudo, a ono sinoc sto smo ubacili ona dva sudo u samu skriptu, to izbaci.
[ lumpy986 @ 16.12.2010. 16:00 ] @
Ok probacu, ali ajde jedno pitanje ne vezano za ovo a da ne otvaram novu temu. Kad ustekam lan kabel u lapatopa nestane mi ikonica notification area. To je ono srdjane za wireless sto je nestalo. Skontao sam da se desilo zbog lana. Kad istekam kabel trebalo bi da se vrati ali je nema, sto mi smeta nema je ni spole restarta. Kako je vratiti?
[ dany12 @ 16.12.2010. 16:46 ] @
To je neki bug,ne desava se to samo tebi.Inace kad spomenu lan,pa kako se konektujes,jel preko ethernet card ili preko wireless card.Ako je ovo prvo onda treba da u skripti umesto 'wlan0' stavis 'eth0'.
[ Srđan Pavlović @ 16.12.2010. 16:48 ] @
Preko wireless-a se kaci preko pppoe, cini mi se, a na eth (mreznu) kaci neki LAN... :)

network-manager (ili nm-applet) se nesto zaglupi verovatno, ima on te neke boljke :)
[ lumpy986 @ 16.12.2010. 17:01 ] @
Kacim se kako stignem, koristim pppoe i na ethernetu i na wireless-u. Imam svoj pppoe server kuci zajedno sa 2 AP, gde mi se kace komsije i okolina. U dogovoru sa njima da mi placaju internet skupi se da se zakupi veci link i d aza manje pare gledano svi imamo brz net :)
[ dany12 @ 16.12.2010. 17:08 ] @
Ok,onda bi trebalo da sve radi bez problema,bas sam se prebacio na ubuntu da isprobam skriptu(posto na arch-u koristim drugi nacin povezivanja) i sve radi odlicno.Evo ovde se vidi da sam napravio i precicu na desktopu.



edit/:
E pa onda bi mogli da ubacimo i to da te pita,da li se kacis preko wlan0 ili eth0?
[ lumpy986 @ 16.12.2010. 17:16 ] @
Trebalo bi da se napravi, ako nije komplikovano suvise, konektuje se bez problema ali posle diskonektovanja moram restartovati komp da se opet konektujem. A da ne kazem da mi nm-applet pravi problema, sinoc sam do 1 trazio problem po netu i nisam nasao. Mozda bi moglo nesto kao sto je zekica predlozio da izgleda. Pocetnik sam na linuxu i jos mnogo treba da ucim. Uporan sam i bice nesto od mene jednom.
[ Srđan Pavlović @ 16.12.2010. 17:20 ] @
Moze ono Zekicino

/sys/class/net/

samo, ako mozes Dany da ubacis u programcic da odatle iscita postojece interfejse i ponudi izbor.
[ dare023 @ 16.12.2010. 18:53 ] @
A da li može ovo da pomogne?
[ lumpy986 @ 16.12.2010. 19:47 ] @
Citat:
dare023: A da li može ovo da pomogne?


Jos kad bi bio download link :)
[ Stefan Jocic @ 16.12.2010. 19:58 ] @
http://www.njsoft.iz.rs/pppoe/en/
[ dany12 @ 16.12.2010. 20:11 ] @
Evo nadjoh vremena da se pozabavim i ovim :)

Code (bash):
#!/bin/bash
str=""
com=`ls /sys/class/net/`
for et in $com
do
str="$str FALSE $et"
done
zenity --width=400 --height=100 --title='Skript za start pppoe konekcije' --question --text="Da li zelite da startujete konekciju?" --ok-label "Konektuj se" --cancel-label "Diskonektuj se"
if [ "$?" = 0 ];then
     int=`zenity --width=200 --height=250 --title='Skript za start pppoe konekcije' --text='Izaberite interfejs' --list --column='' --column='Interfejs' --radiolist$str`
     kor_ime=`zenity --width=400 --height=100 --title='Skript za start pppoe konekcije' --entry --text="Unesite korisnicko ime"`
     kor_pass=`zenity --width=400 --height=100 --title='Skript za start pppoe konekcije' --entry --hide-text --text="Unesite lozinku"`

     poff -a > /dev/null


     echo "\"$kor_ime\"" '*' "\"$kor_pass\""  > /etc/ppp/pap-secrets
 
     echo noipdefault > /etc/ppp/peers/dsl-provider
     echo defaultroute >> /etc/ppp/peers/dsl-provider
     echo replacedefaultroute >> /etc/ppp/peers/dsl-provider
     echo hide-password >> /etc/ppp/peers/dsl-provider
     echo noauth >> /etc/ppp/peers/dsl-provider
     echo persist >> /etc/ppp/peers/dsl-provider
     echo plugin rp-pppoe.so "$int" >> /etc/ppp/peers/dsl-provider
     echo usepeerdns >> /etc/ppp/peers/dsl-provider
     echo user "\"$kor_ime\"" >> /etc/ppp/peers/dsl-provider
     echo " " >> /etc/ppp/peers/dsl-provider

     pon dsl-provider > /dev/null

     zenity --info --width=400 --height=100 --title='Skript za start pppoe konekcije' --text="Proverite da li ste sada konektovani."
else
     poff -a > /dev/null
fi    
exit 0


Ima tu jos mozda prostora da se poprave stvari,ali sad nemam vremena...
[ Srđan Pavlović @ 16.12.2010. 20:15 ] @
Super, sacekacemo Lampija da proba i da javi kako radi :)
[ lumpy986 @ 16.12.2010. 20:21 ] @
Tu sam ja :) Evo preuzimam i testiram.
[ lumpy986 @ 18.12.2010. 15:10 ] @
Ili sam ja lud ili ovo nesto ne radi kako bog zapovda, u svakom slucaju poceo sam koristiti pppoeconf svaki put, to mi je sigurica :)
[ dany12 @ 18.12.2010. 20:34 ] @
Ne razumem sta ti ne radi.Pokrenes skriptu sa sudo,kliknes na 'Konektuj se',pa izaberes wlan0 ili eth0,pa kliknes na Ok(ne na Cancel),pa upises korisnicko ime pa opet Ok,pa isto to i za lozinku,i trebalo bi da se poveze,a da se diskonektujes samo kliknes na 'Diskonektuj se'.Isprobano na ubuntu 10.04.Moze li malo detaljnije da opises sta ne radi.Zasto svaki put ides na pppoeconf,zar ne mozes da se povezes sa 'sudo pon dsl-provider',aj postavi ovde izlaz u terminalu posle ove komande.
[ Srđan Pavlović @ 19.12.2010. 15:14 ] @
Citat:
ovo nesto ne radi kako bog zapovda

Komso, da bi mogli dalje traziti uzroke, moras sto detaljnije
opisati gde tacno nastaje problem, ne moze niko da nasluti
ako se samo napise "ovo nesto ne radi" :)))

sudo pon dsl-provider

Pokreni ovako kako rece Dany12 u konzoli, ail ostavi otvorenu konzolu i vidi da li se povezuje i kakve poruke u konzoli daje.

Ja mislim da je ovde negde problem sa pppoeconf, jer on po pokretanju trazi
da se izabere interfejs (eth0 ili wlan0 recimo), i onda upise u konfiguracioni fajl
izabrani interfejs. Ako posle pokusas da se konektujes na drugi, to je mozda razlog
zasto nece, posto u nasoj skripti ne pokrecemo pppoeconf svaki put iznova...
[ Srđan Pavlović @ 19.12.2010. 15:27 ] @
Ne znam sad napamet koji je taj faj gde pppoeconf upisuje konfiguraciju (negde u /etc/pppoe/.. verovatno), ali moglo bi se pogledati u njega sta tamo stoji.

[ lumpy986 @ 19.12.2010. 15:35 ] @
Aplikacija prvi put kad se digne sistem radi savrseno, posle diskonektovanja se tesko povezati. Ako se poveze na pppoe server nemam izlaz prema internetu, kao da mu nedostaju neke adrese. Prilikom pokretanja pppoeconf, besprekorno se konektuje na server i imam izlaz prema internetu. Posle komande "sudo pon dsl-provider" dobijam "Plugin rp-pppoe.so loaded RP-PPPoE plugin version 3.8p compiled against pppd 2.4.5"
To je to, pocetnik sam na ovim sistemima i jos ucim, tako da malo strpljenja samnom :)
[ dany12 @ 19.12.2010. 16:47 ] @
Nisi mi odgovorio,da li mozes iz terminala da se povezes sa 'sudo pon dsl-provider',posle diskonektovanja.Ako ne mozes,onda nije problem do skripte vec je nesto drugo u pitanju.Probaj da kada nemas vezu prema internetu(posle povezivanja putem skripte),pingujes nesto,npr.
Code:
ping -c 5 8.8.8.8

pa postavi ovde izlaz.Mozes i pppoe server da pingujes,cisto da imamo sto vise informacija.
[ dany12 @ 19.12.2010. 17:03 ] @
Evo nasao sam vremena da malo doradim ovu skriptu i za druge kojima moze zatrebati.Sada se moze napraviti bezbroj konekcija,bilo da su u pitanju razliciti interfejsi ili razliciti provajderi.Svakoj konekciji se dodeljuje poseban naziv sa kojim se kasnije poziva,bez da se ponovo sve upisuje(korisnicko ime itd.).Mora se voditi racuna o dve stvari.Prvo,u nazivu konekcije ne sme da bude vise od jedne reci(primer ako se vec mora: moj_provajder,ili mrezni_interfejs...).Drugo,ako se pravi vise konekcija na razlicite provajdere,a zeli se imati razlicita lozinka,onda se mora upotrebiti i razlicito korisnicko ime.Ako je lozinka ista,ne mora onda razlicito korisnicko ime.

Code (bash):
#!/bin/bash
str=""
st=""
com=`ls /sys/class/net/`
for et in $com
do
str="$str FALSE $et"
done
kom=`ls /etc/ppp/peers/`
for dsl in $kom
do
st="$st FALSE $dsl"
done
mm=`zenity --width=400 --height=300 --title='Skript za start pppoe konekcije' --text='Izaberite vasu konekciju' --list --column='' --column='Konektuj se preko' --radiolist$st FALSE "Napravi novu konekciju" FALSE "Diskonektuj se"`
if [ -n "${mm}" ];then
     case "${mm}" in
     "Napravi novu konekciju")
     int=`zenity --width=200 --height=250 --title='Skript za start pppoe konekcije' --text='Izaberite interfejs' --list --column='' --column='Interfejs' --radiolist$str`
     kor_ime=`zenity --width=400 --height=100 --title='Skript za start pppoe konekcije' --entry --text="Unesite korisnicko ime"`
     kor_pass=`zenity --width=400 --height=100 --title='Skript za start pppoe konekcije' --entry --hide-text --text="Unesite lozinku"`
     net=`zenity --width=400 --height=100 --title='Skript za start pppoe konekcije' --entry --text="Unesite naziv vase konekcije"`
     poff -a > /dev/null
     echo "\"$kor_ime\"" '*' "\"$kor_pass\""  >> /etc/ppp/pap-secrets
     echo noipdefault > /etc/ppp/peers/"$net"
     echo defaultroute >> /etc/ppp/peers/"$net"
     echo replacedefaultroute >> /etc/ppp/peers/"$net"
     echo hide-password >> /etc/ppp/peers/"$net"
     echo noauth >> /etc/ppp/peers/"$net"
     echo persist >> /etc/ppp/peers/"$net"
     echo plugin rp-pppoe.so "$int" >> /etc/ppp/peers/"$net"
     echo usepeerdns >> /etc/ppp/peers/"$net"
     echo user "\"$kor_ime\"" >> /etc/ppp/peers/"$net"
     echo " " >> /etc/ppp/peers/"$net"
     pon "$net" > /dev/null
     zenity --info --width=400 --height=100 --title='Skript za start pppoe konekcije' --text="Proverite da li ste sada konektovani."
     exit 0
     ;;
     "Diskonektuj se")
     poff -a > /dev/null
     zenity --info --width=400 --height=100 --title='Skript za start pppoe konekcije' --text="Sada ste diskonektovani"
     exit 0
     ;;
     esac
poff -a > /dev/null
pon "${mm}" > /dev/null
zenity --info --width=400 --height=100 --title='Skript za start pppoe konekcije' --text="Uspesno ste konektovani na ${mm}"  
fi    
exit 0
[ Srđan Pavlović @ 19.12.2010. 17:28 ] @
Dany12, dodao sam u prvu poruku skript i izmenio naslov teme
i topovao temu, mislim da ce mnogima biti zanimljivo ovo sa pppoe-om,
jer je stvarno lose resen, tj. ne postoji user-friendly resenje na Ubuntu-u.

Vremenom ce se mozda jos unaprediti skript, pa cemo ga apdejtovati u
prvoj poruci po potrebi.

Uzeli smo ovo resenje sa zenity jer mi se cini najjednostavnije, a ima GUI, sto je dovoljno,
mada neko ako zeli moze dovrsiti i ono sa PyGTK, da radi na slican nacin kao ovaj skript koji
koristi zenity za GUI prikaz.
[ lumpy986 @ 19.12.2010. 17:30 ] @
Probacu i ovu novu skriptu, hvala na pomoci. Slucajno sam nasao problem. Skripta radi super sada. caka je bila samo uraditi disable pa enable wireless kartice da bi se mogao opet povezati :) I primetio sam da ako mi je zadnji interfejs na koji sam konektovan bio eth0, diskonektujem se i restartujem komp, automatski mi se poveze na server bez pokretanja skripte. Problem sto nisam imao izlaz prema internetu posle povezivanja je bio u DNS adresi, nije mi jasno zasto pppoe server mu nije dodelio tu adresu a ostale jeste. Evo probavam zadnju skriptu. E da i ne mogu se konektovati sa onom komandom.
[ Srđan Pavlović @ 19.12.2010. 17:33 ] @
Citat:
E da i ne mogu se konektovati sa onom komandom.


Postavi IZLAZ od te komande, tada, kada se ne mozes konektovati,
mada po ovome sto si rekao mi se cini da je problem negde na relaciji
nm-a, nm-applet-a, /etc/network/interfaces-a, i pppoeconf-a :)
[ dany12 @ 19.12.2010. 18:04 ] @
Pa i ja sam pretpostavljao da je nesto do DNS-a.Probaj staviti sledecu liniju u /etc/resolv.conf
Code:
nameserver 8.8.8.8

a sve ostalo izbrisi,ali nemoj praviti konekciju pomocu pppoeconf,vec pomocu skripte.
[ lumpy986 @ 19.12.2010. 18:28 ] @
Nemam primedbi radi savrseno :)
[ Srđan Pavlović @ 19.12.2010. 18:33 ] @
Mislim da nam ne ostaje nista drugo, vec da od ovoga napravimo
jedan .deb paket za Debian, Ubuntu, Mint... i ostale debonje :)

Trebalo bi da sadrzi ovu skriptu koja bi se kopirala negde na sistem,
i jedan shortcut koji bi se postavio na Desktop pri instalaciji sa svojom
ikonicom i koji bi pozivao skriptu sa sudo ispred :)
[ lumpy986 @ 19.12.2010. 19:20 ] @
Dany ovo si savrseno uradio a mislio sma da je nemoguce. Kad bi graficki odradio slicno windowsovom i ispravio bug da kad stisnes cancel izadje i skripte bilo bi super :)
[ Srđan Pavlović @ 19.12.2010. 19:23 ] @
Jos kad bi znali kako to izgleda na Windows-u. Postavi screen-shot ako mozes.
[ lumpy986 @ 19.12.2010. 19:47 ] @
Evo, znaci da se doda padajuci meni za naloge samo :) connect dugme da se promeni u disconect kad se konetuje na pppoe i savrseno je napravio za sve korisnike. Bice prepoznatljivo i za nove korisnike linuxa koji prelaze sa windowsa :) Kao ja :D


[ dany12 @ 19.12.2010. 22:19 ] @
Evo najnovije verzije sa ispravljenim bagovima.Jedino sto mora sad da se pazi je to da u nazivu konekcije mora da ima najmanje jedno veliko slovo,da bi smo eliminisali sve ono sto se nalazi u /etc/ppp/peers/ a nije nam potrebno.

Code (bash):
#!/bin/bash
g_meni(){
str=""
st=""
com=`ls /sys/class/net/`
for et in $com
do
str="$str FALSE $et"
done
kom=`ls /etc/ppp/peers/`
for dsl in $kom
do
test=`echo "$dsl" | grep [A-Z]`
if [ "$?" = "0" ];then
st="$st FALSE $dsl"
fi
done
mm=`zenity --width=400 --height=300 --title='Skript za start pppoe konekcije' --text='Izaberite vasu konekciju' --list --column='' --column='Konektuj se preko' --radiolist$st FALSE "Napravi novu konekciju" FALSE "Izbrisi postojecu konekciju" FALSE "Diskonektuj se"`
if [ -n "${mm}" ];then
     case "${mm}" in
     "Napravi novu konekciju")
     int=`zenity --width=200 --height=250 --title='Skript za start pppoe konekcije' --text='Izaberite interfejs' --list --column='' --column='Interfejs' --radiolist$str`
     if [ "$?" = 1 ];then
     g_meni
     fi
     kor_ime=`zenity --width=400 --height=100 --title='Skript za start pppoe konekcije' --entry --text="Unesite korisnicko ime"`
     if [ "$?" = 1 ];then
     g_meni
     fi
     kor_pass=`zenity --width=400 --height=100 --title='Skript za start pppoe konekcije' --entry --hide-text --text="Unesite lozinku"`
     if [ "$?" = 1 ];then
     g_meni
     fi
     net=`zenity --width=400 --height=100 --title='Skript za start pppoe konekcije' --entry --text="Unesite naziv konekcije,obavezno jedno veliko slovo"`
     if [ "$?" = 1 ];then
     g_meni
     fi
     if [ "x$int" = 'x' -o "x$kor_ime" = 'x' -o "x$kor_pass" = 'x' -o "x$net" = 'x' ];then
     zenity --info --width=400 --height=100 --title='Skript za start pppoe konekcije' --text="Greska,pokusajte ponovo."
     else
     poff -a > /dev/null
     echo "\"$kor_ime\"" '*' "\"$kor_pass\""  >> /etc/ppp/pap-secrets
     echo noipdefault > /etc/ppp/peers/"$net"
     echo defaultroute >> /etc/ppp/peers/"$net"
     echo replacedefaultroute >> /etc/ppp/peers/"$net"
     echo hide-password >> /etc/ppp/peers/"$net"
     echo noauth >> /etc/ppp/peers/"$net"
     echo persist >> /etc/ppp/peers/"$net"
     echo plugin rp-pppoe.so "$int" >> /etc/ppp/peers/"$net"
     echo usepeerdns >> /etc/ppp/peers/"$net"
     echo user "\"$kor_ime\"" >> /etc/ppp/peers/"$net"
     echo " " >> /etc/ppp/peers/"$net"
     pon "$net" > /dev/null
     zenity --info --width=400 --height=100 --title='Skript za start pppoe konekcije' --text="Proverite da li ste sada konektovani."
     fi
     g_meni
     ;;
     "Diskonektuj se")
     poff -a > /dev/null
     zenity --info --width=400 --height=100 --title='Skript za start pppoe konekcije' --text="Sada ste diskonektovani"
     g_meni
     ;;
     "Izbrisi postojecu konekciju")
     kon=`zenity --width=400 --height=100 --title='Skript za start pppoe konekcije' --entry --text="Unesite konekciju za brisanje"`
     if [ "$?" = 1 ];then
     g_meni
     fi
     if [ -n "${kon}" ];then
         rm /etc/ppp/peers/$kon
             if [ "$?" -ne 0 ]; then
                zenity --info --width=400 --height=100 --title='Skript za start pppoe konekcije' --text="Greska: nepostojeca konekcija"
                g_meni
             fi            
     else
         zenity --info --width=400 --height=100 --title='Skript za start pppoe konekcije' --text="Greska: niste uneli naziv"
         g_meni      
     fi  
     zenity --info --width=400 --height=100 --title='Skript za start pppoe konekcije' --text="$kon je uspesno izbrisan"
     g_meni
     ;;
     *)        
     poff -a > /dev/null
     pon "${mm}" > /dev/null
     zenity --info --width=400 --height=100 --title='Skript za start pppoe konekcije' --text="Uspesno ste konektovani na ${mm}"
     g_meni
     ;;
     esac
fi
exit 0
}
g_meni  


Srdjane,ti ovo kad budes stigao promeni u prvom postu.
[ Srđan Pavlović @ 19.12.2010. 23:02 ] @
Done :)

Cekamo Ognjena da testira :)
[ CakNoris @ 20.12.2010. 08:14 ] @
UI za pravljenje PPPoE konekcije je stvar koja bi mi dobro dosla mnogima na Ubuntu-u.
Bacio sam pogled na ovaj vas kod, ali nisam video da ima da se upise service name.
Jel bi mogli da dodate i opciju za service name?
[ lumpy986 @ 20.12.2010. 16:20 ] @
Citat:
CakNoris: UI za pravljenje PPPoE konekcije je stvar koja bi mi dobro dosla mnogima na Ubuntu-u.
Bacio sam pogled na ovaj vas kod, ali nisam video da ima da se upise service name.
Jel bi mogli da dodate i opciju za service name?


Slazem se za service, trebalo bi ga dodati :) Dany mozes li uraditi GUI slican windowsovom? Ovo ti super radi :)
[ Srđan Pavlović @ 20.12.2010. 17:01 ] @
Ogi, ako se Dany nadje nekad u B. Palanci, mislim da zasluzuje jedan rucak kod Drlje u Olimpu za ovaj trud :-)
[ lumpy986 @ 20.12.2010. 17:53 ] @
Citat:
Srđan Pavlović: Ogi, ako se Dany nadje nekad u B. Palanci, mislim da zasluzuje jedan rucak kod Drlje u Olimpu za ovaj trud :-)


Ja se slazem, samo nek dodje gladan i zedan porcije su BIG :D
[ lumpy986 @ 20.12.2010. 20:32 ] @
Da se nadovezen za primecen problem, kad se diskonektujem i ugasim racunar, desava se da se posle ukljucenja sam poveze na pppoe server sto ne bi trebalo da se desava, tj. zapamti zadnji interfejs preko kojeg se povezao i opet se povezuje kad prepozna mrezu.
[ dany12 @ 21.12.2010. 09:28 ] @
@lumpy986
Evo stavio sam mogucnost da pri pravljenju konekcije izaberes,da li hoces da se automatski uspostavlja konekcija prilikom podizanja sistema,a za ono service name,ako sam dobro razumeo,to je naziv konekcije koji ti izaberes(to postoji u ovoj skripti) i ne utice uopste na konekciju bilo sta da stavis tu.Obicno se stavlja naziv provajdera.U ovoj modifikovanoj skripti sam se malo pozabavio sa pap-secrets,da ne bi prilikom pravljenja bezbroj konekcija doveli fajl na 100MB :)

Code (bash):
#!/bin/bash
g_meni(){
str=""
st=""
com=`ls /sys/class/net/`
for et in $com
do
str="$str FALSE $et"
done
kom=`ls /etc/ppp/peers/`
for dsl in $kom
do
test=`echo "$dsl" | grep [A-Z]`
if [ "$?" = "0" ];then
st="$st FALSE $dsl"
fi
done
mm=`zenity --width=400 --height=300 --title='PPPoE' --text='Izaberite vasu konekciju' --list --column='' --column='Konektuj se preko' --radiolist$st FALSE "Napravi novu konekciju" FALSE "Izbrisi postojecu konekciju" FALSE "Diskonektuj se"`
if [ -n "${mm}" ];then
     case "${mm}" in
     "Napravi novu konekciju")
     int=`zenity --width=200 --height=250 --title='PPPoE' --text='Izaberite interfejs' --list --column='' --column='Interfejs' --radiolist$str`
     if [ "$?" = 1 ];then
     g_meni
     fi
     kor_ime=`zenity --width=400 --height=100 --title='PPPoE' --entry --text="Unesite korisnicko ime"`
     if [ "$?" = 1 ];then
     g_meni
     fi
     kor_pass=`zenity --width=400 --height=100 --title='PPPoE' --entry --hide-text --text="Unesite lozinku"`
     if [ "$?" = 1 ];then
     g_meni
     fi
     net=`zenity --width=400 --height=100 --title='PPPoE' --entry --text="Unesite naziv konekcije(jedna rec),obavezno jedno veliko slovo u nazivu"`
     if [ "$?" = 1 ];then
     g_meni
     fi
     if [ "x$int" = 'x' -o "x$kor_ime" = 'x' -o "x$kor_pass" = 'x' -o "x$net" = 'x' ];then
     zenity --info --width=400 --height=100 --title='PPPoE' --text="Greska,pokusajte ponovo."
     else    
     poff -a > /dev/null
     echo noipdefault > /etc/ppp/peers/"$net"
     echo defaultroute >> /etc/ppp/peers/"$net"
     echo replacedefaultroute >> /etc/ppp/peers/"$net"
     echo hide-password >> /etc/ppp/peers/"$net"
     echo noauth >> /etc/ppp/peers/"$net"
     zenity --width=400 --height=100 --title='PPPoE' --question --text="Da li zelite da se automatski konektujete prilikom podizanja sistema?" --ok-label "Da" --cancel-label "Ne"
     if [ "$?" = 0 ];then
          echo persist >> /etc/ppp/peers/"$net"
     fi
     echo plugin rp-pppoe.so "$int" >> /etc/ppp/peers/"$net"
     echo usepeerdns >> /etc/ppp/peers/"$net"
     echo user "\"$kor_ime\"" >> /etc/ppp/peers/"$net"
     echo " " >> /etc/ppp/peers/"$net"
     if [ "$st" = "" ];then          
          echo "\"$kor_ime\"" '*' "\"$kor_pass\""  > /etc/ppp/pap-secrets
     else
          br=`awk '!a[$1]++' < /etc/ppp/pap-secrets`
          echo "$br" > /etc/ppp/pap-secrets
          br2=`sed -e 's/.*\"\('"$kor_ime"'\)\".\*.*/\1/' -e '/\"/ d' < /etc/ppp/pap-secrets`
          if [ -z "$br2" ];then  
                echo "\"$kor_ime\"" '*' "\"$kor_pass\""  >> /etc/ppp/pap-secrets
          fi
     fi
     pon "$net" > /dev/null
     zenity --info --width=400 --height=100 --title='PPPoE' --text="Proverite da li ste sada konektovani."
     fi
     g_meni
     ;;
     "Diskonektuj se")
     poff -a > /dev/null
     zenity --info --width=400 --height=100 --title='PPPoE' --text="Sada ste diskonektovani"
     g_meni
     ;;
     "Izbrisi postojecu konekciju")
     kon=`zenity --width=400 --height=100 --title='PPPoE' --entry --text="Unesite konekciju za brisanje"`
     if [ "$?" = 1 ];then
     g_meni
     fi
     if [ -n "${kon}" ];then
         nad=`sed -e '/user/ !d' -e 's/.*user.\"\(.*\)\".*/\1/' /etc/ppp/peers/"$kon"`
         rm /etc/ppp/peers/$kon
             if [ "$?" -ne 0 ]; then
                zenity --info --width=400 --height=100 --title='PPPoE' --text="Greska: nepostojeca konekcija"
                g_meni
             fi
          br=`awk '!a[$1]++' < /etc/ppp/pap-secrets`
          echo "$br" > /etc/ppp/pap-secrets
          i=0
          kom=`ls /etc/ppp/peers/`
          for nesto in $kom
          do
          test=`echo "$nesto" | grep [A-Z]`
          if [ "$?" = "0" ];then
                 nad2=`sed -e '/user/ !d' -e 's/.*user.\"\(.*\)\".*/\1/' /etc/ppp/peers/"$nesto"`
                 if [ "$nad" = "$nad2" ];then
                      i=1
                 fi
          fi
          done
          if [ $i -eq 0 ];then
                br3=`sed -e 's/.*\"\('"$nad"'\)\".\*.*/\1/' -e '/\"/ !d' < /etc/ppp/pap-secrets`
                echo "$br3" > /etc/ppp/pap-secrets
          fi                
     else
         zenity --info --width=400 --height=100 --title='PPPoE' --text="Greska: niste uneli naziv"
         g_meni      
     fi  
     zenity --info --width=400 --height=100 --title='PPPoE' --text="$kon je uspesno izbrisana"
     g_meni
     ;;
     *)        
     poff -a > /dev/null
     pon "${mm}" > /dev/null
     zenity --info --width=400 --height=100 --title='PPPoE' --text="Uspesno ste konektovani na ${mm}"
     g_meni
     ;;
     esac
fi
exit 0
}
g_meni  


Ako neko ima vremena(ja nemam),moze i .deb paket da napravi :)

[Ovu poruku je menjao dany12 dana 21.12.2010. u 10:53 GMT+1]
[ lumpy986 @ 21.12.2010. 14:48 ] @
Za service name pogledaj Link nadam se da ce ti biti jasnije. Skriptu cu testirati veceras :)
[ dany12 @ 22.12.2010. 18:46 ] @
Treba mi dobrovoljci za testiranje ove dve verzije skripte,narocito ono za service name.Prva koristi kernel plugin,a druga pppoe paket.

Code (bash):
#!/bin/bash
g_meni(){
str=""
st=""
com=`ls /sys/class/net/`
for et in $com
do
str="$str FALSE $et"
done
kom=`ls /etc/ppp/peers/`
for dsl in $kom
do
test=`echo "$dsl" | grep [A-Z]`
if [ "$?" = "0" ];then
   st="$st FALSE $dsl"
fi
done
mm=`zenity --width=400 --height=300 --title='PPPoE' --text='Izaberite vasu konekciju' --list --column='' --column='Konektuj se preko' --radiolist$st FALSE "Napravi novu konekciju" FALSE "Automatsko startovanje" FALSE "Izbrisi postojecu konekciju" FALSE "Diskonektuj se"`
if [ -n "${mm}" ];then
     case "${mm}" in
     "Napravi novu konekciju")
     int=`zenity --width=200 --height=250 --title='PPPoE' --text='Izaberite interfejs' --list --column='' --column='Interfejs' --radiolist$str`
     [ "$?" != 1 ] || g_meni
     kor_ime=`zenity --width=400 --height=100 --title='PPPoE' --entry --text="Unesite korisnicko ime"`
     [ "$?" != 1 ] || g_meni
     kor_pass=`zenity --width=400 --height=100 --title='PPPoE' --entry --hide-text --text="Unesite lozinku"`
     [ "$?" != 1 ] || g_meni
     net=`zenity --width=400 --height=100 --title='PPPoE' --entry --text="Unesite naziv konekcije(jedna rec),obavezno jedno veliko slovo u nazivu"`
     [ "$?" != 1 ] || g_meni
      ser=`zenity --width=400 --height=100 --title='PPPoE' --entry --text="Unesite Service name (vecina provajdera\nne zahteva ovo pa treba ostaviti prazno)"`
     [ "$?" != 1 ] || g_meni
     if [ "x$int" = 'x' -o "x$kor_ime" = 'x' -o "x$kor_pass" = 'x' -o "x$net" = 'x' ];then
        zenity --info --width=400 --height=100 --title='PPPoE' --text="Greska,pokusajte ponovo."
     else    
        poff -a > /dev/null
        if [ -n "$ser" ];then
            echo rp_pppoe_service "$ser" > /etc/ppp/peers/"$net"
            echo noipdefault >> /etc/ppp/peers/"$net"
        else
            echo noipdefault > /etc/ppp/peers/"$net"
        fi
        echo defaultroute >> /etc/ppp/peers/"$net"
        echo replacedefaultroute >> /etc/ppp/peers/"$net"
        echo hide-password >> /etc/ppp/peers/"$net"
        echo noauth >> /etc/ppp/peers/"$net"
        echo persist >> /etc/ppp/peers/"$net"
        echo plugin rp-pppoe.so "$int" >> /etc/ppp/peers/"$net"
        echo usepeerdns >> /etc/ppp/peers/"$net"
        echo user "\"$kor_ime\"" >> /etc/ppp/peers/"$net"
        echo " " >> /etc/ppp/peers/"$net"
        if [ "$st" = "" ];then          
          echo "\"$kor_ime\"" '*' "\"$kor_pass\""  > /etc/ppp/pap-secrets
        else
          br=`awk '!a[$1]++' < /etc/ppp/pap-secrets`
          echo "$br" > /etc/ppp/pap-secrets
          br2=`sed -e 's/.*\"\('"$kor_ime"'\)\".\*.*/\1/' -e '/\"/ d' /etc/ppp/pap-secrets`
          if [ -z "$br2" ];then  
                echo "\"$kor_ime\"" '*' "\"$kor_pass\""  >> /etc/ppp/pap-secrets
          fi
        fi
        sed -i '/#start/,/#end/ d' /etc/network/interfaces
          echo "#start" >> /etc/network/interfaces
          echo auto "$net" >> /etc/network/interfaces
          echo "iface "$net" inet ppp" >> /etc/network/interfaces
     echo "pre-up /sbin/ifconfig "$int" up" >> /etc/network/interfaces
          echo provider "$net" >> /etc/network/interfaces
          echo "#end" >> /etc/network/interfaces
        pon "$net" > /dev/null
        zenity --info --width=400 --height=100 --title='PPPoE' --text="Proverite da li ste sada konektovani."
     fi
     g_meni
     ;;
     "Diskonektuj se")
     poff -a > /dev/null
     zenity --info --width=400 --height=100 --title='PPPoE' --text="Sada ste diskonektovani"
     g_meni
     ;;
     "Izbrisi postojecu konekciju")
     kon=`zenity --width=400 --height=100 --title='PPPoE' --entry --text="Unesite konekciju za brisanje"`
     [ "$?" != 1 ] || g_meni
     if [ -n "${kon}" ];then
         nad=`sed -e '/user/ !d' -e 's/.*user.\"\(.*\)\".*/\1/' /etc/ppp/peers/"$kon"`
         rm /etc/ppp/peers/$kon
             if [ "$?" -ne 0 ]; then
                zenity --info --width=400 --height=100 --title='PPPoE' --text="Greska: nepostojeca konekcija"
                g_meni
             fi
          br=`awk '!a[$1]++' < /etc/ppp/pap-secrets`
          echo "$br" > /etc/ppp/pap-secrets
          i=0
          kom=`ls /etc/ppp/peers/`
          for nesto in $kom
          do
          test=`echo "$nesto" | grep [A-Z]`
          if [ "$?" = "0" ];then
                 nad2=`sed -e '/user/ !d' -e 's/.*user.\"\(.*\)\".*/\1/' /etc/ppp/peers/"$nesto"`
                 if [ "$nad" = "$nad2" ];then
                      i=1
                 fi
          fi
          done
          if [ $i -eq 0 ];then
                sed -i -e 's/.*\"\('"$nad"'\)\".\*.*/\1/' -e '/\"/ !d' /etc/ppp/pap-secrets
          fi                
     else
         zenity --info --width=400 --height=100 --title='PPPoE' --text="Greska: niste uneli naziv"
         g_meni      
     fi  
     zenity --info --width=400 --height=100 --title='PPPoE' --text="$kon je uspesno izbrisana"
     g_meni
     ;;
     "Automatsko startovanje")
     kom2=`ls /etc/ppp/peers/`
     auto=""
     for au in $kom2
     do
     test=`echo "$au" | grep [A-Z]`
     if [ "$?" = "0" ];then
        auto="$auto FALSE $au"
     fi
     done
     aut=`zenity --width=300 --height=300 --title='PPPoE' --text='Izaberite konekciju za koju zelite\nda se automatski startuje\nprilikom podizanja sistema' --list --column='' --column='Konekcija' --radiolist$auto FALSE "Izbrisi auto startovanje"`
     [ -n "$aut" ] || g_meni
     if [ "$aut" = "Izbrisi auto startovanje" ];then
         sed -i '/#start/,/#end/ s/.*auto.*//' /etc/network/interfaces
     else
        nad3=`sed -e '/plugin/ !d' -e 's/.*rp-pppoe.so.\(.*\).*/\1/' /etc/ppp/peers/"$aut"`
        sed -i '/#start/,/#end/ d' /etc/network/interfaces
          echo "#start" >> /etc/network/interfaces
          echo auto "$aut" >> /etc/network/interfaces
          echo "iface "$aut" inet ppp" >> /etc/network/interfaces
     echo "pre-up /sbin/ifconfig "$nad3" up" >> /etc/network/interfaces
          echo provider "$aut" >> /etc/network/interfaces
          echo "#end" >> /etc/network/interfaces
     fi
     g_meni
     ;;
     *)        
     poff -a > /dev/null
     pon "${mm}" > /dev/null
     zenity --info --width=400 --height=100 --title='PPPoE' --text="Uspesno ste konektovani na ${mm}"
     g_meni
     ;;
     esac
fi
exit 0
}
if [ `whoami` != root ]; then
     echo "Startujte skriptu sa \"sudo\""
     exit 0
fi
g_meni  


Code (bash):
#!/bin/bash
g_meni(){
str=""
st=""
com=`ls /sys/class/net/`
for et in $com
do
str="$str FALSE $et"
done
kom=`ls /etc/ppp/peers/`
for dsl in $kom
do
test=`echo "$dsl" | grep [A-Z]`
if [ "$?" = "0" ];then
   st="$st FALSE $dsl"
fi
done
mm=`zenity --width=400 --height=300 --title='PPPoE' --text='Izaberite vasu konekciju' --list --column='' --column='Konektuj se preko' --radiolist$st FALSE "Napravi novu konekciju" FALSE "Automatsko startovanje" FALSE "Izbrisi postojecu konekciju" FALSE "Diskonektuj se"`
if [ -n "${mm}" ];then
     case "${mm}" in
     "Napravi novu konekciju")
     int=`zenity --width=200 --height=250 --title='PPPoE' --text='Izaberite interfejs' --list --column='' --column='Interfejs' --radiolist$str`
     [ "$?" != 1 ] || g_meni
     kor_ime=`zenity --width=400 --height=100 --title='PPPoE' --entry --text="Unesite korisnicko ime"`
     [ "$?" != 1 ] || g_meni
     kor_pass=`zenity --width=400 --height=100 --title='PPPoE' --entry --hide-text --text="Unesite lozinku"`
     [ "$?" != 1 ] || g_meni
     net=`zenity --width=400 --height=100 --title='PPPoE' --entry --text="Unesite naziv konekcije(jedna rec),obavezno jedno veliko slovo u nazivu"`
     [ "$?" != 1 ] || g_meni
      ser=`zenity --width=400 --height=100 --title='PPPoE' --entry --text="Unesite Service name (vecina provajdera ne zahteva ovo\npa treba ostaviti prazno).Ukoliko unosite Service name,\nmorate instalirati \"pppoe\" paket \"sudo apt-get install pppoe\""`
     [ "$?" != 1 ] || g_meni
     if [ -n "$ser" ] && ! [ -x /usr/sbin/pppoe ];then
         zenity --info --width=400 --height=100 --title='PPPoE' --text="Greska: Nemate instaliran \"pppoe\" paket."
         g_meni
     fi
     if [ "x$int" = 'x' -o "x$kor_ime" = 'x' -o "x$kor_pass" = 'x' -o "x$net" = 'x' ];then
        zenity --info --width=400 --height=100 --title='PPPoE' --text="Greska,pokusajte ponovo."
     else    
        poff -a > /dev/null
        if [ -n "$ser" ];then
            echo "pty 'pppoe -S "$ser"'" > /etc/ppp/peers/"$net"
            echo noipdefault >> /etc/ppp/peers/"$net"
        else
            echo noipdefault > /etc/ppp/peers/"$net"
        fi
        echo defaultroute >> /etc/ppp/peers/"$net"
        echo replacedefaultroute >> /etc/ppp/peers/"$net"
        echo hide-password >> /etc/ppp/peers/"$net"
        echo noauth >> /etc/ppp/peers/"$net"
        echo persist >> /etc/ppp/peers/"$net"
        echo plugin rp-pppoe.so "$int" >> /etc/ppp/peers/"$net"
        echo usepeerdns >> /etc/ppp/peers/"$net"
        echo user "\"$kor_ime\"" >> /etc/ppp/peers/"$net"
        echo " " >> /etc/ppp/peers/"$net"
        if [ "$st" = "" ];then          
          echo "\"$kor_ime\"" '*' "\"$kor_pass\""  > /etc/ppp/pap-secrets
        else
          br=`awk '!a[$1]++' < /etc/ppp/pap-secrets`
          echo "$br" > /etc/ppp/pap-secrets
          br2=`sed -e 's/.*\"\('"$kor_ime"'\)\".\*.*/\1/' -e '/\"/ d' /etc/ppp/pap-secrets`
          if [ -z "$br2" ];then  
                echo "\"$kor_ime\"" '*' "\"$kor_pass\""  >> /etc/ppp/pap-secrets
          fi
        fi
        sed -i '/#start/,/#end/ d' /etc/network/interfaces
          echo "#start" >> /etc/network/interfaces
          echo auto "$net" >> /etc/network/interfaces
          echo "iface "$net" inet ppp" >> /etc/network/interfaces
     echo "pre-up /sbin/ifconfig "$int" up" >> /etc/network/interfaces
          echo provider "$net" >> /etc/network/interfaces
          echo "#end" >> /etc/network/interfaces
        pon "$net" > /dev/null
        zenity --info --width=400 --height=100 --title='PPPoE' --text="Proverite da li ste sada konektovani."
     fi
     g_meni
     ;;
     "Diskonektuj se")
     poff -a > /dev/null
     zenity --info --width=400 --height=100 --title='PPPoE' --text="Sada ste diskonektovani"
     g_meni
     ;;
     "Izbrisi postojecu konekciju")
     kon=`zenity --width=400 --height=100 --title='PPPoE' --entry --text="Unesite konekciju za brisanje"`
     [ "$?" != 1 ] || g_meni
     if [ -n "${kon}" ];then
         nad=`sed -e '/user/ !d' -e 's/.*user.\"\(.*\)\".*/\1/' /etc/ppp/peers/"$kon"`
         rm /etc/ppp/peers/$kon
             if [ "$?" -ne 0 ]; then
                zenity --info --width=400 --height=100 --title='PPPoE' --text="Greska: nepostojeca konekcija"
                g_meni
             fi
          br=`awk '!a[$1]++' < /etc/ppp/pap-secrets`
          echo "$br" > /etc/ppp/pap-secrets
          i=0
          kom=`ls /etc/ppp/peers/`
          for nesto in $kom
          do
          test=`echo "$nesto" | grep [A-Z]`
          if [ "$?" = "0" ];then
                 nad2=`sed -e '/user/ !d' -e 's/.*user.\"\(.*\)\".*/\1/' /etc/ppp/peers/"$nesto"`
                 if [ "$nad" = "$nad2" ];then
                      i=1
                 fi
          fi
          done
          if [ $i -eq 0 ];then
                sed -i -e 's/.*\"\('"$nad"'\)\".\*.*/\1/' -e '/\"/ !d' /etc/ppp/pap-secrets
          fi                
     else
         zenity --info --width=400 --height=100 --title='PPPoE' --text="Greska: niste uneli naziv"
         g_meni      
     fi  
     zenity --info --width=400 --height=100 --title='PPPoE' --text="$kon je uspesno izbrisana"
     g_meni
     ;;
     "Automatsko startovanje")
     kom2=`ls /etc/ppp/peers/`
     auto=""
     for au in $kom2
     do
     test=`echo "$au" | grep [A-Z]`
     if [ "$?" = "0" ];then
        auto="$auto FALSE $au"
     fi
     done
     aut=`zenity --width=300 --height=300 --title='PPPoE' --text='Izaberite konekciju za koju zelite\nda se automatski startuje\nprilikom podizanja sistema' --list --column='' --column='Konekcija' --radiolist$auto FALSE "Izbrisi auto startovanje"`
     [ -n "$aut" ] || g_meni
     if [ "$aut" = "Izbrisi auto startovanje" ];then
         sed -i '/#start/,/#end/ s/.*auto.*//' /etc/network/interfaces
     else
        nad3=`sed -e '/plugin/ !d' -e 's/.*rp-pppoe.so.\(.*\).*/\1/' /etc/ppp/peers/"$aut"`
        sed -i '/#start/,/#end/ d' /etc/network/interfaces
          echo "#start" >> /etc/network/interfaces
          echo auto "$aut" >> /etc/network/interfaces
          echo "iface "$aut" inet ppp" >> /etc/network/interfaces
     echo "pre-up /sbin/ifconfig "$nad3" up" >> /etc/network/interfaces
          echo provider "$aut" >> /etc/network/interfaces
          echo "#end" >> /etc/network/interfaces
     fi
     g_meni
     ;;
     *)        
     poff -a > /dev/null
     pon "${mm}" > /dev/null
     zenity --info --width=400 --height=100 --title='PPPoE' --text="Uspesno ste konektovani na ${mm}"
     g_meni
     ;;
     esac
fi
exit 0
}
if [ `whoami` != root ]; then
     echo "Startujte skriptu sa \"sudo\""
     exit 0
fi
g_meni  
[ lumpy986 @ 22.12.2010. 19:16 ] @
Pocinjem se osecati kao zamorce, nije problem bice testirano :)
[ dany12 @ 22.12.2010. 19:32 ] @
Citat:
lumpy986: Pocinjem se osecati kao zamorce, nije problem bice testirano :)


Ipak mislim da je tebi malo lakse nego meni,a i sam si trazio ;)
[ lumpy986 @ 22.12.2010. 19:41 ] @
Znam, ima li sanse da se uradi kao na slici sto sam postavio? Nije problem testirati, jos malo cemo samo da zavrsin servise sto imam.
[ dany12 @ 22.12.2010. 20:08 ] @
Citat:
lumpy986: Znam, ima li sanse da se uradi kao na slici sto sam postavio? Nije problem testirati, jos malo cemo samo da zavrsin servise sto imam.


Sa zenity ne moze izgledati kao u windows-u,ovo je najbolje sto moze.Ovo malo se ne "isplati" raditi u C-u i gtk-u,jer bi zahtevalo prilicno vremena. Mozda bi brze bilo uraditi sa python-om i i pygtk,ali ne snalazim se nesto dobro u python-u.
Ovo za service name sam video po forumima da mnogi imaju problema,pa bih voleo da resimo to.Isto tako bih voleo da znam od kakvih znakova se sastoji service name,da li su to samo alfanumericki ili ima i specijalnih znakova,narocito ako ne bude htelo da proradi.
[ lumpy986 @ 22.12.2010. 20:18 ] @
Citat:
da li su to samo alfanumericki ili ima i specijalnih znakova,narocito ako ne bude htelo da proradi.


Samo su alfanumericki, nema specijalnih znakova, uglavnom provajderi stavalju samo reci npr "pristup"
[ dany12 @ 24.12.2010. 14:04 ] @
Evo konacne verzije koja je prvenstveno namenjena novijim debianolikim distribucijama,ali vecina stvari bi trebalo da radi i na ostalim linuksima(nije testirano).Za ostale distribucije treba proveriti da li postoji instaliran 'ppp' programski paket i da li je kernel kompajliran sa CONFIG_PPPOE=m opcijom(u ubuntu se to proverava naredbom 'cat /boot/config-2.6.xx-xx-generic | grep PPPOE',ovo xx zameniti sa odgovarajucim brojevima).Jedino sto mozda u ostalim distroima nece raditi je automatsko startovanje.
Pomocu ove skripte se moze napraviti vise konekcija,kombinujuci razne faktore(naloge kod istog ISP-a,razlicite ISP-e,razlicite interfejse).Ono na sta treba obratiti paznju je,da ako provajder ne zahteva service name obavezno ostavite prazno,inace veza se nece uspostaviti.Drugo,prilikom pravljenja vise konekcija,nikako ne staviti isto korisnicko ime a razlicitu lozinku za dve razlicite konekcije,moze isto kor. ime i ista lozinka,a ako je razlicito kor. ime,lozinka moze da bude bilo sta.



Code (bash):
#!/bin/bash
g_meni(){
str=""
st=""
com=`ls /sys/class/net/`
for et in $com
do
str="$str FALSE $et"
done
kom=`ls /etc/ppp/peers/`
for dsl in $kom
do
test=`echo "$dsl" | grep [A-Z]`
if [ "$?" = "0" ];then
   st="$st FALSE $dsl"
fi
done
mm=`zenity --width=400 --height=300 --title='PPPoE' --text='Izaberite vasu konekciju' --list --column='' --column='Konektuj se preko' --radiolist$st FALSE "Napravi novu konekciju" FALSE "Automatsko startovanje" FALSE "Izbrisi postojecu konekciju" FALSE "Diskonektuj se"`
if [ -n "${mm}" ];then
     case "${mm}" in
     "Napravi novu konekciju")
     int=`zenity --width=200 --height=250 --title='PPPoE' --text='Izaberite interfejs' --list --column='' --column='Interfejs' --radiolist$str`
     [ "$?" != 1 ] || g_meni
     kor_ime=`zenity --width=400 --height=100 --title='PPPoE' --entry --text="Unesite korisnicko ime"`
     [ "$?" != 1 ] || g_meni
     kor_pass=`zenity --width=400 --height=100 --title='PPPoE' --entry --hide-text --text="Unesite lozinku"`
     [ "$?" != 1 ] || g_meni
     net=`zenity --width=400 --height=100 --title='PPPoE' --entry --text="Unesite naziv konekcije(jedna rec),obavezno jedno veliko slovo u nazivu"`
     [ "$?" != 1 ] || g_meni
      ser=`zenity --width=400 --height=100 --title='PPPoE' --entry --text="Unesite Service name (vecina provajdera\nne zahteva ovo pa treba ostaviti prazno)"`
     [ "$?" != 1 ] || g_meni
     if [ "x$int" = 'x' -o "x$kor_ime" = 'x' -o "x$kor_pass" = 'x' -o "x$net" = 'x' ];then
        zenity --info --width=400 --height=100 --title='PPPoE' --text="Greska,pokusajte ponovo."
     else    
        poff -a > /dev/null
        echo noipdefault > /etc/ppp/peers/"$net"
        echo defaultroute >> /etc/ppp/peers/"$net"
        man pppd | grep replacedefaultroute > /tmp/_ima.txt
        if [ -s /tmp/_ima.txt ];then
            echo replacedefaultroute >> /etc/ppp/peers/"$net"
        fi          
        echo hide-password >> /etc/ppp/peers/"$net"
        echo noauth >> /etc/ppp/peers/"$net"
        echo persist >> /etc/ppp/peers/"$net"
        if [ -n "$ser" ];then
            echo plugin rp-pppoe.so rp_pppoe_service "\"$ser\"" "$int" >> /etc/ppp/peers/"$net"
        else    
            echo plugin rp-pppoe.so "$int" >> /etc/ppp/peers/"$net"
        fi    
        echo usepeerdns >> /etc/ppp/peers/"$net"
        echo user "\"$kor_ime\"" >> /etc/ppp/peers/"$net"
        echo " " >> /etc/ppp/peers/"$net"
        if [ "$st" = "" ];then          
          echo "\"$kor_ime\"" '*' "\"$kor_pass\""  > /etc/ppp/pap-secrets
        else
          br=`awk '!a[$1]++' < /etc/ppp/pap-secrets`
          echo "$br" > /etc/ppp/pap-secrets
          br2=`sed -e 's/.*\"\('"$kor_ime"'\)\".\*.*/\1/' -e '/\"/ d' /etc/ppp/pap-secrets`
          if [ -z "$br2" ];then  
                echo "\"$kor_ime\"" '*' "\"$kor_pass\""  >> /etc/ppp/pap-secrets
          fi
        fi
        sed -i '/#start/,/#end/ d' /etc/network/interfaces
          echo "#start" >> /etc/network/interfaces
          echo auto "$net" >> /etc/network/interfaces
          echo "iface "$net" inet ppp" >> /etc/network/interfaces
         echo "pre-up /sbin/ifconfig "$int" up" >> /etc/network/interfaces
          echo provider "$net" >> /etc/network/interfaces
          echo "#end" >> /etc/network/interfaces
        pon "$net" > /dev/null
        zenity --info --width=400 --height=100 --title='PPPoE' --text="Proverite da li ste sada konektovani."
     fi
     g_meni
     ;;
     "Diskonektuj se")
     poff -a > /dev/null
     zenity --info --width=400 --height=100 --title='PPPoE' --text="Sada ste diskonektovani"
     g_meni
     ;;
     "Izbrisi postojecu konekciju")
     kon=`zenity --width=400 --height=100 --title='PPPoE' --entry --text="Unesite konekciju za brisanje"`
     [ "$?" != 1 ] || g_meni
     if [ -n "${kon}" ];then
         nad=`sed -e '/user/ !d' -e 's/.*user.\"\(.*\)\".*/\1/' /etc/ppp/peers/"$kon"`
         rm /etc/ppp/peers/$kon
             if [ "$?" -ne 0 ]; then
                zenity --info --width=400 --height=100 --title='PPPoE' --text="Greska: nepostojeca konekcija"
                g_meni
             fi
          br=`awk '!a[$1]++' < /etc/ppp/pap-secrets`
          echo "$br" > /etc/ppp/pap-secrets
          i=0
          kom=`ls /etc/ppp/peers/`
          for nesto in $kom
          do
          test=`echo "$nesto" | grep [A-Z]`
          if [ "$?" = "0" ];then
                 nad2=`sed -e '/user/ !d' -e 's/.*user.\"\(.*\)\".*/\1/' /etc/ppp/peers/"$nesto"`
                 if [ "$nad" = "$nad2" ];then
                      i=1
                 fi
          fi
          done
          if [ $i -eq 0 ];then
                sed -i -e 's/.*\"\('"$nad"'\)\".\*.*/\1/' -e '/\"/ !d' /etc/ppp/pap-secrets
          fi                
     else
         zenity --info --width=400 --height=100 --title='PPPoE' --text="Greska: niste uneli naziv"
         g_meni      
     fi  
     zenity --info --width=400 --height=100 --title='PPPoE' --text="$kon je uspesno izbrisana"
     g_meni
     ;;
     "Automatsko startovanje")
     kom2=`ls /etc/ppp/peers/`
     auto=""
     for au in $kom2
     do
     test=`echo "$au" | grep [A-Z]`
     if [ "$?" = "0" ];then
        auto="$auto FALSE $au"
     fi
     done
     aut=`zenity --width=300 --height=300 --title='PPPoE' --text='Izaberite konekciju za koju zelite\nda se automatski startuje\nprilikom podizanja sistema' --list --column='' --column='Konekcija' --radiolist$auto FALSE "Izbrisi auto startovanje"`
     [ -n "$aut" ] || g_meni
     if [ "$aut" = "Izbrisi auto startovanje" ];then
         sed -i '/#start/,/#end/ s/.*auto.*//' /etc/network/interfaces
     else
        sed -e '/plugin/ !d' -e 's/.*rp-pppoe.so.\(.*\).*/\1/' /etc/ppp/peers/"$aut" > /tmp/nad
        nad1=`sed -e 's/^\(rp_pppoe_service\).*/\1/' /tmp/nad`
        if [ $nad1 = "rp_pppoe_service" ];then
            nad3=`sed -e 's/^rp_pppoe_service.*\".*\".\(.*\)/\1/' /tmp/nad`
        else
            nad3=`sed -e '/plugin/ !d' -e 's/.*rp-pppoe.so.\(.*\).*/\1/' /etc/ppp/peers/"$aut"`
        fi      
        sed -i '/#start/,/#end/ d' /etc/network/interfaces
          echo "#start" >> /etc/network/interfaces
          echo auto "$aut" >> /etc/network/interfaces
          echo "iface "$aut" inet ppp" >> /etc/network/interfaces
     echo "pre-up /sbin/ifconfig "$nad3" up" >> /etc/network/interfaces
          echo provider "$aut" >> /etc/network/interfaces
          echo "#end" >> /etc/network/interfaces
     fi
     g_meni
     ;;
     *)        
     poff -a > /dev/null
     pon "${mm}" > /dev/null
     zenity --info --width=400 --height=100 --title='PPPoE' --text="Proverite da li ste sada konektovani na ${mm}"
     g_meni
     ;;
     esac
fi
exit 0
}
if [ `whoami` != root ]; then
     echo "Startujte skriptu sa \"sudo\""
     exit 0
fi
g_meni  
[ lumpy986 @ 26.12.2010. 18:04 ] @
Zadovoljan sam kako radi savrseno je :) Imam jednu malu primedu, kada se izabere izbrisi konekciju da ponudi koje konekcije da se izbrisu a ne da se kuca njihov naziv ako je moguce :D . desava mi se da nece da izrise konekciju iako sam pazio na velika i mala slova.
[ dany12 @ 26.12.2010. 19:15 ] @
Evo ispunjena ti je zelja,a i u pravu si,lakse je ovako nego da pamtis naziv.

Code (bash):
#!/bin/bash
g_meni(){
str=""
st=""
com=`ls /sys/class/net/`
for et in $com
do
str="$str FALSE $et"
done
kom=`ls /etc/ppp/peers/`
for dsl in $kom
do
test=`echo "$dsl" | grep [A-Z]`
if [ "$?" = "0" ];then
   st="$st FALSE $dsl"
fi
done
mm=`zenity --width=400 --height=300 --title='PPPoE' --text='Izaberite vasu konekciju' --list --column='' --column='Konektuj se preko' --radiolist$st FALSE "Napravi novu konekciju" FALSE "Automatsko startovanje" FALSE "Izbrisi postojecu konekciju" FALSE "Diskonektuj se"`
if [ -n "${mm}" ];then
     case "${mm}" in
     "Napravi novu konekciju")
     int=`zenity --width=200 --height=250 --title='PPPoE' --text='Izaberite interfejs' --list --column='' --column='Interfejs' --radiolist$str`
     [ "$?" != 1 ] || g_meni
     kor_ime=`zenity --width=400 --height=100 --title='PPPoE' --entry --text="Unesite korisnicko ime"`
     [ "$?" != 1 ] || g_meni
     kor_pass=`zenity --width=400 --height=100 --title='PPPoE' --entry --hide-text --text="Unesite lozinku"`
     [ "$?" != 1 ] || g_meni
     net=`zenity --width=400 --height=100 --title='PPPoE' --entry --text="Unesite naziv konekcije(jedna rec),obavezno jedno veliko slovo u nazivu"`
     [ "$?" != 1 ] || g_meni
      ser=`zenity --width=400 --height=100 --title='PPPoE' --entry --text="Unesite Service name (vecina provajdera\nne zahteva ovo pa treba ostaviti prazno)"`
     [ "$?" != 1 ] || g_meni
     if [ "x$int" = 'x' -o "x$kor_ime" = 'x' -o "x$kor_pass" = 'x' -o "x$net" = 'x' ];then
        zenity --info --width=400 --height=100 --title='PPPoE' --text="Greska,pokusajte ponovo."
     else    
        poff -a > /dev/null
        echo noipdefault > /etc/ppp/peers/"$net"
        echo defaultroute >> /etc/ppp/peers/"$net"
        man pppd | grep replacedefaultroute > /tmp/_ima.txt
        if [ -s /tmp/_ima.txt ];then
            echo replacedefaultroute >> /etc/ppp/peers/"$net"
        fi          
        echo hide-password >> /etc/ppp/peers/"$net"
        echo noauth >> /etc/ppp/peers/"$net"
        echo persist >> /etc/ppp/peers/"$net"
        if [ -n "$ser" ];then
            echo plugin rp-pppoe.so rp_pppoe_service "\"$ser\"" "$int" >> /etc/ppp/peers/"$net"
        else    
            echo plugin rp-pppoe.so "$int" >> /etc/ppp/peers/"$net"
        fi    
        echo usepeerdns >> /etc/ppp/peers/"$net"
        echo user "\"$kor_ime\"" >> /etc/ppp/peers/"$net"
        echo " " >> /etc/ppp/peers/"$net"
        if [ "$st" = "" ];then          
          echo "\"$kor_ime\"" '*' "\"$kor_pass\""  > /etc/ppp/pap-secrets
        else
          br=`awk '!a[$1]++' < /etc/ppp/pap-secrets`
          echo "$br" > /etc/ppp/pap-secrets
          br2=`sed -e 's/.*\"\('"$kor_ime"'\)\".\*.*/\1/' -e '/\"/ d' /etc/ppp/pap-secrets`
          if [ -z "$br2" ];then  
                echo "\"$kor_ime\"" '*' "\"$kor_pass\""  >> /etc/ppp/pap-secrets
          fi
        fi
        sed -i '/#start/,/#end/ d' /etc/network/interfaces
          echo "#start" >> /etc/network/interfaces
          echo auto "$net" >> /etc/network/interfaces
          echo "iface "$net" inet ppp" >> /etc/network/interfaces
         echo "pre-up /sbin/ifconfig "$int" up" >> /etc/network/interfaces
          echo provider "$net" >> /etc/network/interfaces
          echo "#end" >> /etc/network/interfaces
        pon "$net" > /dev/null
        zenity --info --width=400 --height=100 --title='PPPoE' --text="Proverite da li ste sada konektovani."
     fi
     g_meni
     ;;
     "Diskonektuj se")
     poff -a > /dev/null
     zenity --info --width=400 --height=100 --title='PPPoE' --text="Sada ste diskonektovani"
     g_meni
     ;;
     "Izbrisi postojecu konekciju")
     kom=`ls /etc/ppp/peers/`
     st1=""
     for izb in $kom
     do
     test=`echo "$izb" | grep [A-Z]`
     if [ "$?" = "0" ];then
        st1="$st1 FALSE $izb"
     fi
     done
     kon=`zenity --width=250 --height=250 --title='PPPoE' --text='Izaberite konekciju za brisanje' --list --column='' --column='Konekcija' --radiolist$st1`
     [ "$?" != 1 ] || g_meni
     if [ -n "${kon}" ];then
          nad=`sed -e '/user/ !d' -e 's/.*user.\"\(.*\)\".*/\1/' /etc/ppp/peers/"$kon"`
          rm /etc/ppp/peers/$kon
          br=`awk '!a[$1]++' < /etc/ppp/pap-secrets`
          echo "$br" > /etc/ppp/pap-secrets
          i=0
          kom=`ls /etc/ppp/peers/`
          for nesto in $kom
          do
          test=`echo "$nesto" | grep [A-Z]`
          if [ "$?" = "0" ];then
                 nad2=`sed -e '/user/ !d' -e 's/.*user.\"\(.*\)\".*/\1/' /etc/ppp/peers/"$nesto"`
                 if [ "$nad" = "$nad2" ];then
                      i=1
                 fi
          fi
          done
          if [ $i -eq 0 ];then
                sed -i -e 's/.*\"\('"$nad"'\)\".\*.*/\1/' -e '/\"/ !d' /etc/ppp/pap-secrets
          fi                
     else
         g_meni      
     fi  
     zenity --info --width=400 --height=100 --title='PPPoE' --text="$kon je uspesno izbrisana"
     g_meni
     ;;
     "Automatsko startovanje")
     kom2=`ls /etc/ppp/peers/`
     auto=""
     for au in $kom2
     do
     test=`echo "$au" | grep [A-Z]`
     if [ "$?" = "0" ];then
        auto="$auto FALSE $au"
     fi
     done
     aut=`zenity --width=300 --height=300 --title='PPPoE' --text='Izaberite konekciju za koju zelite\nda se automatski startuje\nprilikom podizanja sistema' --list --column='' --column='Konekcija' --radiolist$auto FALSE "Izbrisi auto startovanje"`
     [ -n "$aut" ] || g_meni
     if [ "$aut" = "Izbrisi auto startovanje" ];then
         sed -i '/#start/,/#end/ s/.*auto.*//' /etc/network/interfaces
     else
        sed -e '/plugin/ !d' -e 's/.*rp-pppoe.so.\(.*\).*/\1/' /etc/ppp/peers/"$aut" > /tmp/nad
        nad1=`sed -e 's/^\(rp_pppoe_service\).*/\1/' /tmp/nad`
        if [ $nad1 = "rp_pppoe_service" ];then
            nad3=`sed -e 's/^rp_pppoe_service.*\".*\".\(.*\)/\1/' /tmp/nad`
        else
            nad3=`sed -e '/plugin/ !d' -e 's/.*rp-pppoe.so.\(.*\).*/\1/' /etc/ppp/peers/"$aut"`
        fi      
        sed -i '/#start/,/#end/ d' /etc/network/interfaces
          echo "#start" >> /etc/network/interfaces
          echo auto "$aut" >> /etc/network/interfaces
          echo "iface "$aut" inet ppp" >> /etc/network/interfaces
     echo "pre-up /sbin/ifconfig "$nad3" up" >> /etc/network/interfaces
          echo provider "$aut" >> /etc/network/interfaces
          echo "#end" >> /etc/network/interfaces
     fi
     g_meni
     ;;
     *)        
     poff -a > /dev/null
     pon "${mm}" > /dev/null
     zenity --info --width=400 --height=100 --title='PPPoE' --text="Uspesno ste konektovani na ${mm}"
     g_meni
     ;;
     esac
fi
exit 0
}
if [ `whoami` != root ]; then
     echo "Startujte skriptu sa \"sudo\""
     exit 0
fi
g_meni  


[Ovu poruku je menjao dany12 dana 28.12.2010. u 13:18 GMT+1]
[ lumpy986 @ 28.12.2010. 17:53 ] @
E ovo je posao, dany cestitam na odlicnom poslu :) Da napomenem pre prvog pokretanja skripte obavezno je pokrenuti pppoeconf iz kojih razloga ne znam ( milism posle reinstalacije OS i to samo jednom ). Trenutno testiram LMDE koji mi je Srdjan instalirao :) Srdjane, moracemo uskoro na shooting i na klopu a tebe Dany ocekujemo da navratis u Palanku da zalijemo posao.
[ Srđan Pavlović @ 28.12.2010. 18:31 ] @
Ma Dany ima klopu kad god dodje u Palanku od mene samo za onu odlicnu GTK temu sto je napravio :)

Citat:
Da napomenem pre prvog pokretanja skripte obavezno je pokrenuti pppoeconf iz kojih razloga ne znam


pppoeconf se pokrece samo jednom, znaci kada instaliras sistem, i to je to - on napravi
sta je sve potrebno od konfiguracionih fajlova, upise u njih sta treba i to je to, posle vise
ne mora da se pokrece jer ti konf. fajlovi vec postoje.

Mozes ga naravno pokrenuti opet, ako nesto zelis da promenis u konfiguraciji.

Dodao sam konacnu verziju u prvu poruku.
[ dany12 @ 28.12.2010. 19:56 ] @
Pppoeconf uopste nije potrebno pokretati,cak sta vise je nepozeljno,jel se gubi mogucnost upravljanja sa automatskim startovanjem konekcije.Kod mene radi i bez prvog pokretanja pppoeconf-a,ustvari na arch-u je nemoguce instalirati pppoeconf jer ga nema ni u jednom repo-u.
[ Srđan Pavlović @ 28.12.2010. 20:08 ] @
Pa nije ga potrebno pokretati ako ces rucno upisati u konfiguracione fajlove
sve ono sto on upise za tebe nakon prolaska kroz onaj njegov wizard :)
[ dany12 @ 28.12.2010. 20:24 ] @
Pa ono sto je zaista potrebno da bi se uspostavila veza postoji i u ovoj skripti.Sta u stvari uradi pppoeconf,generise fajl /etc/ppp/peers/dsl-provider i u /etc/network/interface upise par redova,a sve to uradi i ova skripta.



[ Srđan Pavlović @ 28.12.2010. 20:30 ] @
Jesi li potpuno siguran da se radi samo o ta dva fajla i da nije jos nesto sem toga? Ako je tako, onda super :)
[ dany12 @ 28.12.2010. 21:33 ] @
Jedino nisam siguran da li u novoj instalaciji postoji folder /etc/ppp/peers pre pokretanja pppoeconf-a.Ako ga nema onda bi trebalo neznatno izmeniti skriptu.Probao sam sa eth0 interfejsom i radi,e sad nisam ulazio nesto u problem drugih interfejsa,npr wlan0.
[ dany12 @ 29.12.2010. 07:22 ] @
Upravo testiran na novoj instalaciji Mint-a.Sve radi,ne treba pppoeconf uopste pokretati.Dodate jos neke stvari u skriptu(oznacena je konekcija koja se automatski startuje prilikom boot-a,ako ima takve).

Code (bash):
#!/bin/bash
g_meni(){
str=""
st=""
com=`ls /sys/class/net/`
for et in $com
do
str="$str FALSE $et"
done
kom=`ls /etc/ppp/peers/`
for dsl in $kom
do
test=`echo "$dsl" | sed 's/[^A-Z]*//'`
if [ -n "$test" ];then
  auto1=`sed '/^auto.'$dsl'$/!d' /etc/network/interfaces`
  if [ -z "$auto1" ];then
     st="$st FALSE $dsl"
  else  
     st="$st FALSE $dsl(auto)"
  fi  
fi
done
mm=`zenity --width=400 --height=300 --title='PPPoE' --text='Izaberite vasu konekciju' --list --column='' --column='Konektuj se preko' --radiolist$st FALSE "Napravi novu konekciju" FALSE "Automatsko startovanje" FALSE "Izbrisi postojecu konekciju" FALSE "Diskonektuj se"`
if [ -n "${mm}" ];then
     case "${mm}" in
     "Napravi novu konekciju")
     int=`zenity --width=200 --height=250 --title='PPPoE' --text='Izaberite interfejs' --list --column='' --column='Interfejs' --radiolist$str`
     [ "$?" != 1 ] || g_meni
     modprobe -q pppoe
     ifconfig "$int" up
     kor_ime=`zenity --width=400 --height=100 --title='PPPoE' --entry --text="Unesite korisnicko ime"`
     [ "$?" != 1 ] || g_meni
     kor_pass=`zenity --width=400 --height=100 --title='PPPoE' --entry --hide-text --text="Unesite lozinku"`
     [ "$?" != 1 ] || g_meni
     net=`zenity --width=400 --height=100 --title='PPPoE' --entry --text="Unesite naziv konekcije(jedna rec),obavezno jedno veliko slovo u nazivu"`
     [ "$?" != 1 ] || g_meni
      ser=`zenity --width=400 --height=100 --title='PPPoE' --entry --text="Unesite Service name (vecina provajdera\nne zahteva ovo pa treba ostaviti prazno)"`
     [ "$?" != 1 ] || g_meni
     if [ "x$int" = 'x' -o "x$kor_ime" = 'x' -o "x$kor_pass" = 'x' -o "x$net" = 'x' ];then
        zenity --info --width=400 --height=100 --title='PPPoE' --text="Greska,pokusajte ponovo."
     else    
        poff -a > /dev/null
        echo noipdefault > /etc/ppp/peers/"$net"
        echo defaultroute >> /etc/ppp/peers/"$net"
        im=`man pppd | grep replacedefaultroute`
        if [ -n "$im" ];then
            echo replacedefaultroute >> /etc/ppp/peers/"$net"
        fi          
        echo hide-password >> /etc/ppp/peers/"$net"
        echo noauth >> /etc/ppp/peers/"$net"
        echo persist >> /etc/ppp/peers/"$net"
        if [ -n "$ser" ];then
            echo plugin rp-pppoe.so rp_pppoe_service "\"$ser\"" "$int" >> /etc/ppp/peers/"$net"
        else    
            echo plugin rp-pppoe.so "$int" >> /etc/ppp/peers/"$net"
        fi    
        echo usepeerdns >> /etc/ppp/peers/"$net"
        echo user "\"$kor_ime\"" >> /etc/ppp/peers/"$net"
        echo " " >> /etc/ppp/peers/"$net"
        if [ "$st" = "" ];then          
          echo "\"$kor_ime\"" '*' "\"$kor_pass\""  > /etc/ppp/pap-secrets
          echo "\"$kor_ime\"" '*' "\"$kor_pass\""  > /etc/ppp/chap-secrets
        else
          br=`awk '!a[$1]++' < /etc/ppp/pap-secrets`
          echo "$br" > /etc/ppp/pap-secrets
          br1=`awk '!a[$1]++' < /etc/ppp/chap-secrets`
          echo "$br1" > /etc/ppp/chap-secrets
          br2=`sed -e 's/.*\"\('"$kor_ime"'\)\".\*.*/\1/' -e '/^'"$kor_ime"'$/ !d' /etc/ppp/pap-secrets`
          if [ -z "$br2" ];then  
                echo "\"$kor_ime\"" '*' "\"$kor_pass\""  >> /etc/ppp/pap-secrets
                echo "\"$kor_ime\"" '*' "\"$kor_pass\""  >> /etc/ppp/chap-secrets
          fi
        fi
        sed -i '/#start/,/#end/ d' /etc/network/interfaces
         echo "#start" >> /etc/network/interfaces
         echo auto "$net" >> /etc/network/interfaces
         echo "iface "$net" inet ppp" >> /etc/network/interfaces
        echo "pre-up /sbin/ifconfig "$int" up" >> /etc/network/interfaces
         echo provider "$net" >> /etc/network/interfaces
         echo "#end" >> /etc/network/interfaces
        pon "$net" > /dev/null
        zenity --info --width=400 --height=100 --title='PPPoE' --text="Proverite da li ste sada konektovani."
     fi
     g_meni
     ;;
     "Diskonektuj se")
     poff -a > /dev/null
     zenity --info --width=400 --height=100 --title='PPPoE' --text="Sada ste diskonektovani"
     g_meni
     ;;
     "Izbrisi postojecu konekciju")
     kom=`ls /etc/ppp/peers/`
     st1=""
     for izb in $kom
     do
     test=`echo "$izb" | sed 's/[^A-Z]*//'`
     if [ -n "$test" ];then
        st1="$st1 FALSE $izb"
     fi
     done
     kon=`zenity --width=250 --height=250 --title='PPPoE' --text='Izaberite konekciju za brisanje' --list --column='' --column='Konekcija' --radiolist$st1`
     [ "$?" != 1 ] || g_meni
     if [ -n "${kon}" ];then
          nad=`sed -e '/user/ !d' -e 's/.*user.\"\(.*\)\".*/\1/' /etc/ppp/peers/"$kon"`
          rm /etc/ppp/peers/$kon
          br=`awk '!a[$1]++' < /etc/ppp/pap-secrets`
          echo "$br" > /etc/ppp/pap-secrets
          br1=`awk '!a[$1]++' < /etc/ppp/chap-secrets`
          echo "$br1" > /etc/ppp/chap-secrets
          i=0
          kom=`ls /etc/ppp/peers/`
          for nesto in $kom
          do
          test=`echo "$nesto" | sed 's/[^A-Z]*//'`
          if [ -n "$test" ];then
                 nad2=`sed -e '/user/ !d' -e 's/.*user.\"\(.*\)\".*/\1/' /etc/ppp/peers/"$nesto"`
                 if [ "$nad" = "$nad2" ];then
                      i=1
                 fi
          fi
          done
          if [ $i -eq 0 ];then
                sed -i -e 's/.*\"\('"$nad"'\)\".\*.*/\1/' -e '/^'"$nad"'$/ d' /etc/ppp/pap-secrets
                sed -i -e 's/.*\"\('"$nad"'\)\".\*.*/\1/' -e '/^'"$nad"'$/ d' /etc/ppp/chap-secrets
          fi                
     else
         g_meni      
     fi
     poff "$kon" > /dev/null
     zenity --info --width=400 --height=100 --title='PPPoE' --text="$kon je uspesno izbrisana"
     g_meni
     ;;
     "Automatsko startovanje")
     kom2=`ls /etc/ppp/peers/`
     auto=""
     for au in $kom2
     do
     test=`echo "$au" | sed 's/[^A-Z]*//'`
     if [ -n "$test" ];then
         auto1=`sed '/^auto.'$au'$/!d' /etc/network/interfaces`
         if [ -z "$auto1" ];then
           auto="$auto FALSE $au"
         else  
           auto="$auto FALSE $au(auto)"
         fi
     fi
     done
     aut=`zenity --width=300 --height=300 --title='PPPoE' --text='Izaberite konekciju za koju zelite\nda se automatski startuje\nprilikom podizanja sistema' --list --column='' --column='Konekcija' --radiolist$auto FALSE "Izbrisi auto startovanje"`
     [ -n "$aut" ] || g_meni
     if [ "$aut" = "Izbrisi auto startovanje" ];then
         sed -i '/#start/,/#end/ s/.*auto.*//' /etc/network/interfaces
     else
        odv1=`echo "$aut" | sed 's/^\(.*\)(auto)$/\1/'`
        na=`sed -e '/plugin/ !d' -e 's/.*rp-pppoe.so.\(.*\).*/\1/' /etc/ppp/peers/"$odv1"`
        nad1=`echo "$na" | sed -e 's/^\(rp_pppoe_service\).*/\1/'`
        if [ $nad1 = "rp_pppoe_service" ];then
            nad3=`echo "$na" | sed -e 's/^rp_pppoe_service.*\".*\".\(.*\)/\1/'`
        else
            nad3=$na
        fi      
        sed -i '/#start/,/#end/ d' /etc/network/interfaces
         echo "#start" >> /etc/network/interfaces
         echo auto "$odv1" >> /etc/network/interfaces
         echo "iface "$odv1" inet ppp" >> /etc/network/interfaces
    echo "pre-up /sbin/ifconfig "$nad3" up" >> /etc/network/interfaces
         echo provider "$odv1" >> /etc/network/interfaces
         echo "#end" >> /etc/network/interfaces
     fi
     g_meni
     ;;
     *)        
     poff -a > /dev/null
     odv=`echo "${mm}" | sed 's/^\(.*\)(auto)$/\1/'`
     pon "$odv" > /dev/null
     zenity --info --width=400 --height=100 --title='PPPoE' --text="Proverite da li ste sad konektovani na $odv"
     g_meni
     ;;
     esac
fi
exit 0
}
if [ `whoami` != root ]; then
     echo "Startujte skriptu sa \"sudo\""
     exit 0
fi
g_meni  


[Ovu poruku je menjao Srđan Pavlović dana 30.12.2010. u 12:02 GMT+1]
[ Srđan Pavlović @ 30.12.2010. 10:40 ] @
Citat:
Upravo testiran na novoj instalaciji Mint-a.Sve radi,ne treba pppoeconf uopste pokretati


E, odlicno :)
[ dany12 @ 30.12.2010. 10:52 ] @
Zanimljivo je koliko razlike ima izmedju ubuntu 10.04 i mint 10.Jedna ista komanda daje razlicit izlaz za ova dva distro-a.Mozda zato sto se mint 10 zasniva na ubuntu 10.10,ali cudno je da u roku od samo 6 meseci jedna osnovna komanda kao sto je grep dozivi takvu promenu.
Ali to ti je linux,uvek moras da si u toku :)

E da,popravi link u prvom postu.Za ovu poslednju jedino mogu da garantujem da ce da radi onako kako treba.
[ Srđan Pavlović @ 30.12.2010. 11:10 ] @
Sredio sam link.

Sto se grep-a tice moguce da ima nekih novina ako je verzija
novija na 10.10 u odnosu na 10.04? Gde si tacno dobio drugaciji izlaz? :)

Kod mene su ove verzije:


[email protected] ~ $ grep --version | grep grep
GNU grep 2.6.3

[email protected] ~ $ cat /etc/issue | grep Linux
Linux Mint 10 Julia \n \l
[email protected] ~ $
[ dany12 @ 30.12.2010. 12:31 ] @
Na lucidnom je 2.5.4.Ma nema veze,izbacio sam grep iz skripte.Ne znam,mozda bi dobro bilo navesti u prvom postu za pocetnike kako da snime i pokrenu skriptu,a ne bi bilo lose i objasniti kako da naprave launcher na desktop-u sa gksu(do) :)



[Ovu poruku je menjao dany12 dana 30.12.2010. u 14:26 GMT+1]
[ lumpy986 @ 30.12.2010. 17:55 ] @
Ja isprobavam zadnju verziju skripte, a vi se igrajte oko verizia, jos nisam sve pohvatao kako funkcionise :/
[ dany12 @ 30.12.2010. 21:54 ] @
Evo napravio sam i jednostavan .deb paket.Instalira se dvoklikom.

http://www.mediafire.com/?1bx1tnnxd1nc3x5

[ Srđan Pavlović @ 30.12.2010. 21:56 ] @
Uploadovan uz prvu poruku.
[ lumpy986 @ 30.12.2010. 22:33 ] @
Odusevljen sam saradnjom sa ljudima ovde i pomoci koju smo dobili :) Zadnja verzija je testirana i radi extra :) Nemam nikakvih zamerki, cak sam i odusevljen jer nisam ocekivao da cemo ovoliko uraditi :)
[ Srđan Pavlović @ 30.12.2010. 22:36 ] @
Citat:
Zadnja verzija je testirana i radi extra

Jesi probao i instalaciju .deb paketa?

PS: Ja sam se upravo pocastio instalacijom LMDE-a (x_64) i na
Desktop, ovo cudo je brzo k'o munja :)
[ lumpy986 @ 30.12.2010. 22:42 ] @
Citat:
Srđan Pavlović: Jesi probao i instalaciju .deb paketa?


Sutra, sada imam malu frku sa spavanjem i jednim mestom gde ce da bude cudnih mirisa samo da bude slobodno...
[ dany12 @ 31.12.2010. 08:11 ] @
Evo nove verzije,jedina izmena je poboljsan .deb paket(nesto oko zavisnih paketa),kome radi skripta ne treba da reinstalira.

http://www.mediafire.com/?2b22yt3kajjo8zs

Jos nesto da napomenem,ako nekome ne radi autostartovanje treba da iz Preferences-Startup Applications ukloni Network Manager.
[ Sini82 @ 31.12.2010. 10:55 ] @
Svaka čast! Skinuo sam deb paket, nisam ga još instalirao. Nakon što instaliram paket dvoklikom, šta sledeće da uradim? Da li svaki put moram da ga ponovo pokrećem ili kad ga jednom instaliram sve dalje radi samo kako treba svaki put kada se diže sistem? Ova skripta je zamjena za pppoesetup ili nešto drugo (koja je razlika)? Moram li i dalje da koristim wicd za izbor mreže? Na koji način unosim user i pass?

Kako inače na ubuntu linuxu da pokrenem tvoju skriptu? Nisam dosad nikad radio sa skriptama, znam da pokrenem samo programe sa prečicom na desktop ili negdje drugo.
[ dany12 @ 31.12.2010. 11:24 ] @
Kad budem imao vremena napisacu detaljno uputstvo,a sada ukratko samo.
Kada instaliras program,pronacices ga u System-Administration-SetPPPoE u ubuntu-u.To je skripta za konfigurisanje pppoe konekcije,zamenjuje pppoeconf.Pokrene se samo jednom(pod uslovom da se postavi da se automatski startuje konekcija prilikom podizanja sistema) i napravi jedna ili vise konekcija.
User i pass se unosi samo prilikom pravljenja konekcije i vise ne.E sad za wicd ne znam,posto ja koristim ruter a ne karticu,pa meni wicd i ne treba, to bi trebalo isprobati,mada mislim da wicd treba samo ako menjas kanale i(li) provajdere.Ipak sacekacemo lumpy986-ja da nam to objasni posto on koristi karticu.
[ Srđan Pavlović @ 31.12.2010. 12:22 ] @
@dany12 - jesi spakovao i desktop shortcut u onaj .deb da se "instalira" na

~/Desktop

...ili si ostavio samo menu entry u administration?
[ dany12 @ 31.12.2010. 13:03 ] @
Samo sam stavio u meni,mislim da je to dovoljno.Ako neko hoce na desktop lako se sad pravi,desni klik na panel,pa add to panel,pa aplication launcher,pa se onda nadje pod administration setpppoe,i kad se napravi na panelu,samo se drag and drop na desktop,kasnije moze da se ukloni sa panela,ako se ne zeli i na panelu.
[ Srđan Pavlović @ 31.12.2010. 13:06 ] @
Moze i direktno iz menija da se samo "prevuce" u gnome-panel :)
[ dany12 @ 31.12.2010. 13:28 ] @
Da,a moze i na desktop :)
Nego,jesi li video da sam postavio drugu verziju deb paketa,pa, ako hoces,postavi ga u prvi post.Sad je verzija 0.2.

[Ovu poruku je menjao dany12 dana 31.12.2010. u 14:59 GMT+1]
[ Srđan Pavlović @ 31.12.2010. 14:22 ] @
Ok, postavicu kasnije sad zurim, Nova godina zove, a ti slobodno upload-uj uz
poruku taj .deb, ovde na ES, ne moras po kojekakvim servisima da ih kacis, kad moze ovde :)

Cuo sam se malopre sa Lumpy-jem, prezadovoljan je :)

Ovo bi trebalo i u zvanicne repo-e da se ubaci :)

LEPO SE PROVEDITE ZA DOCEK NOVE! :)
[ Srđan Pavlović @ 31.12.2010. 16:35 ] @
Citat:
Nego,jesi li video da sam postavio drugu verziju deb paketa,pa, ako hoces,postavi ga u prvi post.Sad je verzija 0.2.

Postavio. Ako uocis da treba jos nekih izmena ti sredi, pa cemo postaviti noviju verziju :)
[ dany12 @ 01.01.2011. 08:37 ] @
Stize nova verzija skripte i deb-a.

Code (bash):
#!/bin/bash
g_meni(){
str=""
st=""
com=`ls /sys/class/net/`
for et in $com
do
str="$str FALSE $et"
done
kom=`ls /etc/ppp/peers/`
for dsl in $kom
do
test=`echo "$dsl" | sed 's/[^A-Z]*//'`
if [ -n "$test" ];then
  auto1=`sed '/^auto.'$dsl'$/!d' /etc/network/interfaces`
  if [ -z "$auto1" ];then
     st="$st FALSE $dsl"
  else  
     st="$st FALSE $dsl(auto)"
  fi  
fi
done
mm=`zenity --width=400 --height=300 --title='PPPoE' --text='Izaberite vasu konekciju' --list --column='' --column='Konektuj se preko' --radiolist$st FALSE "Napravi novu konekciju" FALSE "Automatsko startovanje" FALSE "Izbrisi postojecu konekciju" FALSE "Diskonektuj se"`
if [ -n "${mm}" ];then
     case "${mm}" in
     "Napravi novu konekciju")
     int=`zenity --width=200 --height=250 --title='PPPoE' --text='Izaberite interfejs' --list --column='' --column='Interfejs' --radiolist$str`
     [ "$?" != 1 ] || g_meni
     modprobe -q pppoe
     ifconfig "$int" up
     kor_ime=`zenity --width=400 --height=100 --title='PPPoE' --entry --text="Unesite korisnicko ime"`
     [ "$?" != 1 ] || g_meni
     kor_pass=`zenity --width=400 --height=100 --title='PPPoE' --entry --hide-text --text="Unesite lozinku"`
     [ "$?" != 1 ] || g_meni
     net=`zenity --width=400 --height=100 --title='PPPoE' --entry --text="Unesite naziv konekcije(jedna rec),obavezno jedno veliko slovo u nazivu"`
     [ "$?" != 1 ] || g_meni
      ser=`zenity --width=400 --height=100 --title='PPPoE' --entry --text="Unesite Service name (vecina provajdera\nne zahteva ovo pa treba ostaviti prazno)"`
     [ "$?" != 1 ] || g_meni
     if [ "x$int" = 'x' -o "x$kor_ime" = 'x' -o "x$kor_pass" = 'x' -o "x$net" = 'x' ];then
        zenity --info --width=400 --height=100 --title='PPPoE' --text="Greska,pokusajte ponovo."
     else    
        poff -a > /dev/null
        echo noipdefault > /etc/ppp/peers/"$net"
        echo defaultroute >> /etc/ppp/peers/"$net"
        im=`man pppd | grep replacedefaultroute`
        if [ -n "$im" ];then
            echo replacedefaultroute >> /etc/ppp/peers/"$net"
        fi          
        echo hide-password >> /etc/ppp/peers/"$net"
        echo noauth >> /etc/ppp/peers/"$net"
        echo persist >> /etc/ppp/peers/"$net"
        echo plugin rp-pppoe.so "$int" >> /etc/ppp/peers/"$net"
        if [ -n "$ser" ];then
            echo rp_pppoe_service "\"$ser\"" >> /etc/ppp/peers/"$net"
        fi    
        echo usepeerdns >> /etc/ppp/peers/"$net"
        echo user "\"$kor_ime\"" >> /etc/ppp/peers/"$net"
        echo " " >> /etc/ppp/peers/"$net"
        if [ "$st" = "" ];then          
          echo "\"$kor_ime\"" '*' "\"$kor_pass\""  > /etc/ppp/pap-secrets
          echo "\"$kor_ime\"" '*' "\"$kor_pass\""  > /etc/ppp/chap-secrets
        else
          br=`awk '!a[$1]++' < /etc/ppp/pap-secrets`
          echo "$br" > /etc/ppp/pap-secrets
          br1=`awk '!a[$1]++' < /etc/ppp/chap-secrets`
          echo "$br1" > /etc/ppp/chap-secrets
          br2=`sed -e 's/.*\"\('"$kor_ime"'\)\".\*.*/\1/' -e '/^'"$kor_ime"'$/ !d' /etc/ppp/pap-secrets`
          if [ -z "$br2" ];then  
                echo "\"$kor_ime\"" '*' "\"$kor_pass\""  >> /etc/ppp/pap-secrets
                echo "\"$kor_ime\"" '*' "\"$kor_pass\""  >> /etc/ppp/chap-secrets
          fi
        fi
        sed -i '/#start/,/#end/ d' /etc/network/interfaces
          echo "#start" >> /etc/network/interfaces
          echo auto "$net" >> /etc/network/interfaces
          echo "iface "$net" inet ppp" >> /etc/network/interfaces
         echo "pre-up /sbin/ifconfig "$int" up" >> /etc/network/interfaces
          echo provider "$net" >> /etc/network/interfaces
          echo "#end" >> /etc/network/interfaces
        pon "$net" > /dev/null
        zenity --info --width=400 --height=100 --title='PPPoE' --text="Proverite da li ste sada konektovani."
     fi
     g_meni
     ;;
     "Diskonektuj se")
     poff -a > /dev/null
     zenity --info --width=400 --height=100 --title='PPPoE' --text="Sada ste diskonektovani"
     g_meni
     ;;
     "Izbrisi postojecu konekciju")
     kom=`ls /etc/ppp/peers/`
     st1=""
     for izb in $kom
     do
     test=`echo "$izb" | sed 's/[^A-Z]*//'`
     if [ -n "$test" ];then
        st1="$st1 FALSE $izb"
     fi
     done
     kon=`zenity --width=250 --height=250 --title='PPPoE' --text='Izaberite konekciju za brisanje' --list --column='' --column='Konekcija' --radiolist$st1`
     [ "$?" != 1 ] || g_meni
     if [ -n "${kon}" ];then
          nad=`sed -e '/user/ !d' -e 's/.*user.\"\(.*\)\".*/\1/' /etc/ppp/peers/"$kon"`
          rm /etc/ppp/peers/$kon
          br=`awk '!a[$1]++' < /etc/ppp/pap-secrets`
          echo "$br" > /etc/ppp/pap-secrets
          br1=`awk '!a[$1]++' < /etc/ppp/chap-secrets`
          echo "$br1" > /etc/ppp/chap-secrets
          i=0
          kom=`ls /etc/ppp/peers/`
          for nesto in $kom
          do
          test=`echo "$nesto" | sed 's/[^A-Z]*//'`
          if [ -n "$test" ];then
                 nad2=`sed -e '/user/ !d' -e 's/.*user.\"\(.*\)\".*/\1/' /etc/ppp/peers/"$nesto"`
                 if [ "$nad" = "$nad2" ];then
                      i=1
                 fi
          fi
          done
          if [ $i -eq 0 ];then
                sed -i -e 's/.*\"\('"$nad"'\)\".\*.*/\1/' -e '/^'"$nad"'$/ d' /etc/ppp/pap-secrets
                sed -i -e 's/.*\"\('"$nad"'\)\".\*.*/\1/' -e '/^'"$nad"'$/ d' /etc/ppp/chap-secrets
          fi                
     else
         g_meni      
     fi
     poff "$kon" > /dev/null
     zenity --info --width=400 --height=100 --title='PPPoE' --text="$kon je uspesno izbrisana"
     g_meni
     ;;
     "Automatsko startovanje")
     kom2=`ls /etc/ppp/peers/`
     auto=""
     for au in $kom2
     do
     test=`echo "$au" | sed 's/[^A-Z]*//'`
     if [ -n "$test" ];then
         auto1=`sed '/^auto.'$au'$/!d' /etc/network/interfaces`
         if [ -z "$auto1" ];then
           auto="$auto FALSE $au"
         else  
           auto="$auto FALSE $au(auto)"
         fi
     fi
     done
     aut=`zenity --width=300 --height=300 --title='PPPoE' --text='Izaberite konekciju za koju zelite\nda se automatski startuje\nprilikom podizanja sistema' --list --column='' --column='Konekcija' --radiolist$auto FALSE "Izbrisi auto startovanje"`
     [ -n "$aut" ] || g_meni
     if [ "$aut" = "Izbrisi auto startovanje" ];then
         sed -i '/#start/,/#end/ s/.*auto.*//' /etc/network/interfaces
     else
        odv1=`echo "$aut" | sed 's/^\(.*\)(auto)$/\1/'`
        nad3=`sed -e '/plugin/ !d' -e 's/.*rp-pppoe.so.\(.*\).*/\1/' /etc/ppp/peers/"$odv1"`
        sed -i '/#start/,/#end/ d' /etc/network/interfaces
          echo "#start" >> /etc/network/interfaces
          echo auto "$odv1" >> /etc/network/interfaces
          echo "iface "$odv1" inet ppp" >> /etc/network/interfaces
     echo "pre-up /sbin/ifconfig "$nad3" up" >> /etc/network/interfaces
          echo provider "$odv1" >> /etc/network/interfaces
          echo "#end" >> /etc/network/interfaces
     fi
     g_meni
     ;;
     *)        
     poff -a > /dev/null
     odv=`echo "${mm}" | sed 's/^\(.*\)(auto)$/\1/'`
     pon "$odv" > /dev/null
     zenity --info --width=400 --height=100 --title='PPPoE' --text="Proverite da li ste sad konektovani na $odv"
     g_meni
     ;;
     esac
fi
exit 0
}
if [ `whoami` != root ]; then
     echo "Startujte skriptu sa \"sudo\""
     exit 0
fi
g_meni  
[ Srđan Pavlović @ 01.01.2011. 14:25 ] @
A changelog? ;)

/edit: aha, vidim sada, ova provera da li je startovao user ili root.
[ dany12 @ 01.01.2011. 15:22 ] @
Nema nijedna nova opcija ili mogucnost,samo poboljsane stare,pa zato nisam nista ni napisao.
Kad se niko nije javljao ko koristi service name,pa nisam znao da li radi ta opcija.Sad konacno treba da radi,i ne mora da se ostavi prazno za one kojima nije obavezno da unesu,ako slucajno nesto unesu,veza ce da se uspostavi.

[Ovu poruku je menjao dany12 dana 01.01.2011. u 16:35 GMT+1]
[ Srđan Pavlović @ 01.01.2011. 15:54 ] @
E, pa da - treba jos videti koje su te "nepredvidjene" situacije, pa da se hendluju i one u skripti :) Odlicno :)

Bice jos sigurno dosta pitanja na ES-u tipa "Kako da namestim PPPoE na Ubuntu i slicno,
pa sada konacno imamo vrlo lak nacin za to, dovoljno je uputiti na ovu temu :)
[ lumpy986 @ 02.01.2011. 10:46 ] @
Service name, radi :)
[ dany12 @ 02.01.2011. 11:14 ] @
@lumpy986
Kad si se javio,aj objasni kako se ti povezujes,posto koristis i wireless karticu.Da li treba prvo sa wicd ili network manager-om da se nakacis na AP,ili samo koristis ovu skriptu bez ikakvih prethodnih podesavanja,posto se interesuju ljudi,a ja nemam wl kartu da isprobam.Na ruteru se treba preko browser-a prvo zakaciti na AP,pa onda praviti pppoe konekciju.
[ Srđan Pavlović @ 02.01.2011. 13:47 ] @
Dok se Ognjen ne javi, znam da ne koristi wicd, a mislim i da ovo povezivanje
nema veze sa network-manager-om (ili nm-appletom), iako ga ima u GNOME
panelu naravno, koliko sam video kod njega, pokrene tu skriptu, izabere interfejs,
da mu user i pass i konektuje se.

Naravno, on ima na svom racunaru (windows masina) Winbox onaj programcic
preko koga kontrolise Mikrotik i samo izkonfigurise da se taj i taj racunar sa tim
uname-om i lozinkom pusti na mrezu i koliki protok da mu se dopusti kada zatrazi
konekciju.
[ lumpy986 @ 02.01.2011. 13:56 ] @
Kao sto srdjan kaze, imam svoj pppoe server zasnovan na mikrotiku i 2x AP kao i mogucnost povezivanja preko eth interfesja. Lako mi je da podesim da trazi service name i da se testira kao i pristupi preko WiFi i Etherneta. Neophodno je povezati se prvo na mrezu, povezem se preko (Srdjane mislim da se to zove nm-applet) ikonica sto mi je nestajala u taskbaru. kad se tu povezem, DHCP server mi dodeljuje dinamicki IP pri cemu sam ostvario samo vezu sa pppoe serverom. Izlaz prema internetu ostvarujem pppoe vezom. nadam se da je jasnije :)
[ dany12 @ 02.01.2011. 14:05 ] @
Da,to sam i pretpostavljao,samo mi je trebala potvrda.Znaci wicd ili nm-applet je potreban samo pri prvom povezivanju,ili ako se menjaju kanali.
[ Srđan Pavlović @ 02.01.2011. 14:10 ] @
Aha, znaci ipak mora prvo povezivanje preko nm-appleta.
[ dany12 @ 02.01.2011. 14:18 ] @
U nm-applet-u postoji opcija da se uspostavi pppoe veza,ali je to veoma traljavo uradjeno,i nema sanse da se tako povezes(probao nekoliko puta),vec se moralo ici na pppoeconf,pa posle koristiti pon i poff.E sad za wicd ne znam,posto se to koristi uglavnom za wireless karte a ne mrezne,pa nisam gledao da li ima tu ugradjena mogucnost za pppoe konekciju.

edit:
Evo sad sam pogledao na wicd sajt i pise
"Ability to connect to wired (Ethernet only, no PPPoE/DSL support yet) and wireless networks"
[ niceness @ 02.01.2011. 23:50 ] @
kom=`ls /etc/ppp/peers/`
for dsl in $kom
do
test=`echo "$dsl" | sed 's/[^A-Z]*//'`
if [ -n "$test" ];then
...
...
fi

Kako vidim ovo samo proverava da li u imenu fajla ima veliko slovo?
Ako je tako, onda se to moze malo pojednostaviti:
for dsl in /etc/ppp/peers/*[[:upper:]]* ; do
...
...
done
[ dany12 @ 03.01.2011. 00:11 ] @
Citat:
niceness
kom=`ls /etc/ppp/peers/`
for dsl in $kom
do
test=`echo "$dsl" | sed 's/[^A-Z]*//'`
if [ -n "$test" ];then
...
...
fi

Kako vidim ovo samo proverava da li u imenu fajla ima veliko slovo?
Ako je tako, onda se to moze malo pojednostaviti:
for dsl in /etc/ppp/peers/*[[:upper:]]* ; do
...
...
done


Ma to je sklepano na brzinu,nije radjena nikakva optimizacija koda,ako budem imao vremena mozda cu da odradim to,ali i ovako radi svoj posao,i ne vidim razlog za to,posto je ovo manje od 200 redova koda,pa ne bi nista se dobilo na brzini.Nisam imao vremena ni sa komentarima da se zezam :)
[ dany12 @ 04.01.2011. 22:37 ] @
Evo nove verzije sa detaljnim uputstvom.Ipak ce ovo koristiti pocetnici,pa im treba objasniti.Ako neko smatra da je nesto u uputstvu pogresno,ili da se nesto treba dodati,neka napise pa cu izmeniti.
[ Srđan Pavlović @ 05.01.2011. 19:16 ] @
Apdejtovano.
[ Sini82 @ 06.01.2011. 12:05 ] @
Koristim wireless na Ubuntu 10.04, isprobao sam program, odlično radi. Radi posao kao i pppoeconf samo što je ovdje interfejs po meni mnogo bolje urađen iako pppoeconf ima mnogo više nekih opcija ponuđenih, koje mi uopšte nisu potrebne. Nisam još restartovao kompjuter da vidim da li se automatski konektuje, ali mislim da neće biti problema.

Prvo uklonite Network Manager (radi samo prilkom prvog podizanja sistema, iskoristite ga eventualno da prilikom prvog konektovanja sa interneta skinete Wicd ako to niste prethodno uradili) da bi mogli da instalirate Wicd koji je stvarno dobar. Zatim instalirajte Wicd sa USB-a ili na neki drugi način. Nakon toga instalirajte ovaj program i pokrenite ga, konektujte se preko Wicd-a, ostavite ga i dalje jer ponekad se iako je čekirano "Automatically connect to this network" prilikom podizanja sistema diskonektuje i morate ponovo da idete na "Connect".

Prelazim na setpppoe. Još me samo zanima kako da na ubuntu instaliram i pokrenem skriptu, ako možeš uz objašnjenje i najnoviju verziju skripte u nekom tekstualnom fajlu ovdje da okačiš. Zanima me kako se od skripte napravi deb paket?
[ dany12 @ 06.01.2011. 12:20 ] @
Deb paket je napravljen i okacen ovde,ne treba ti da ga pravis.Samo ga skini i dvaput klikni na njega,gdebi instaler ce se automatski pokrenuti.Posle instalacije,idi u system-administration i pronadji setpppoe.
[ Srđan Pavlović @ 06.01.2011. 12:39 ] @
@Sini82 - uz prvu poruku ove teme okacen je instalacioni paket (.deb) samo ga instaliraj dvoklikom.
[ lumpy986 @ 06.01.2011. 14:07 ] @
Pocinje se svidjati ljudima :)
[ Sini82 @ 06.01.2011. 14:44 ] @
Hvala vam ljudi. Nije to problem, instalirao sam program iz prve i sve isprobao, znam kako se to radi. Pitao sam da nešto novo naučim, konkretno, kako se inače pravi deb paket iz skripte i pokreće skripta? Početnik sam u Linux-u, zanima me. Koristiće i ostalim korisnicima koji žele nešto u kodu da izmijene i naprave iz toga instalacionu verziju programa.

Svaka čast na programu.

Citat:
lumpy986:
Pocinje se svidjati ljudima :)


Definitivno, od sada njega koristim.
[ Srđan Pavlović @ 08.01.2011. 21:29 ] @
@Sini82 - zamolio bih te da za to oko pravljenja .deb paketa
ako te zanima sta i kako, otvoris novu temu u Linux forumu
(ne u Linux Aplikacijama), da ne sirimo u ovoj temi o tome :)
[ Sini82 @ 09.01.2011. 10:23 ] @
Nema problema Srđane, kada mi bude za nešto konkretno trebalo otvoriću novu temu.

Nakon instalacije programa sve je išlo kako treba. Nakon prvog podizanja sistema (idući dan) veza je počela non-stop da mi puca, dok u Windowsu nema nikakvih problema. Vratio sam pppoeconf ali i dalje je sve isto. Moraću ponovo da dižem sistem, lakše mi je nego da se sa tim zezam.
[ dany12 @ 09.01.2011. 11:19 ] @
Upravo se to meni desavalo pre na ubuntu 10.04 kad sam koristio pppoeconf,i posle nekog vremena se stabilizovalo samo od sebe.Znaci par minuta ima veza,pa onda minut nema,valjda dok se uspostavi ponovo veza,i tako stalno.Mozes da probas u /etc/ppp/options da pronadjes ove redove i da izmenis da bude ovako:

Code:
lcp-echo-interval 0

lcp-echo-failure 0
[ dany12 @ 12.01.2011. 17:27 ] @
Nova verzija sa ispravljenim problemom oko automatskog startovanja(ako je neko imao).
[ Srđan Pavlović @ 12.01.2011. 22:36 ] @
Ok, pricali smo Dany i ja malopre pa smo se dogovorili da uradimo i prevode
na sto vise jezika. Uzeo sam da odradim EN prevod za uputstvo, pa evo, ako
nesto treba promeniti, slobodno, ako mislite da nesto moze drugacije...

Citat:

BEFORE YOU BEGIN, PLEASE READ THIS:

In order to use this program, you have to check:

1. Are the network cables properly connected, or if you use wireless, is the wireless
card turned on (on laptops and netbooks there is usually a button which turns the wireless card on or off)?

2. Does your sistem see the interface you want to connect through?
("sudo ifconfig" terminal command (type it without quotes and press Enter. You may be asked
for your password) will give you all existing interfaces like eth0, eth1, wlan0, ath0... etc.

3. If you use a wireless through a wireless card and router, you will first have to connect
to your AP, before using this program. You can do that using gnome network-manager-applet,
or wicd software, or just using your Internet browser.


HOWTO >>>

SetPPPoE script provides an easy way to manage one or more PPPoE connections. Easy "Wizzard" helps you
in choosing your options (usernames, passwords, etc.) while managing your PPPoE connections. After each
step, you need to press "OK" button. If you want to quit the program, or to go back to main manu, just
press "Cancel" button.
When you enter connection parameters, they are saved, and there is no need to set it up again, even
after restarting your system. You can set up as many connections as you want, with a different parameters.
All of them will be saved, from which you can choose later. Only if you enter a connection name which
allready exists, it will be overwritten and saved with new given parameters.

NOTES:

If you are going to make more then one connection, you must use the same password IF the username
is the SAME for these connections. If username is not the same, you can enter whatever password you want to use.
If you want your connection to be visible in the menu, it must contain at least one capital letter in it's name
(like "John", or "myConnection"). Connection name can't contain any spaces, and it may contain only letters and
numbers, no special characters. When setting parameters of connection, if everything entered is correct, the skript
will connect you to the Internet. Main menu will show all connections you have made before. You can easily connect
selectiong one of them from the menu. If connection is labeled with "auto", it will be automatically used when system
is (re)stareted. In the main menu you have options to remove saved connection, disconnect or automatically connect it.

When you set up a new connection, it will be automatically marked as "auto", which means it will
be started when you start your computer (or restart). If you want to change which connection to use
automatically, you can do it from the main menu by setting "auto" parameter on a connection.
[ Sini82 @ 13.01.2011. 09:44 ] @
@Dany12

Hvala, uspjelo je.
[ dany12 @ 15.01.2011. 19:00 ] @
U prilogu se nalaze dva fajla koja treba da se prevedu na sto vise jezika,ako neko hoce da saradjuje i ima slobodnog vremena moze da se ukljuci.Za engleski je vec sredjeno oko prevoda,znaci samo ostali jezici.
[ Srđan Pavlović @ 16.01.2011. 10:38 ] @
Za sada engleski2, kad stignem prevescu i ovaj duzi.
[ dany12 @ 16.01.2011. 11:45 ] @
Evo najnovije verzije sa mnogo vise opcija,jos se ceka samo srdjan da prevede uputstvo na engleski pa mozemo da prosledimo program i na druga govorna podrucja :)

@srdjan
koja je tek ovo bloat-cina sa 16,52 k :)
[ Srđan Pavlović @ 16.01.2011. 12:47 ] @
Sad ubacis jos neki "logo", neku sliku od 5MB, da se prikazuje pre starta skripte )) ( DON'T! )

Saljem i ovaj drugi prevod kad stignem... sad moram da pisem pripreme sutra za skolu..
[ dany12 @ 16.01.2011. 19:22 ] @
Evo ga u AUR-u.
http://aur.archlinux.org/packages.php?ID=45514



[Ovu poruku je menjao dany12 dana 17.01.2011. u 20:53 GMT+1]
[ dany12 @ 17.01.2011. 19:53 ] @
Najnovija verzija i deb-a.
[ Srđan Pavlović @ 27.01.2011. 14:41 ] @
Izvini dany12, nisam preveo ovo do kad sam rekao, uv'atio neki posao... kad stignem...
[ dany12 @ 01.02.2011. 08:10 ] @
Evo za lumpy986-ja ono sto je trazio,da bude slicno sa windows-om.Naleteo sam slucajno na izuzetnu aplikaciju pod nazivom yad,koja je ustvari fork zenity-ja,ali sa mnogo vise opcija,tako da sam mogao da napravim skriptu onakvu kakvu je lumpy986 trazio.Ali da bi sve to radilo treba da se instalira yad koji se nalazi kao PPA.

Code:
sudo add-apt-repository ppa:webupd8team/y-ppa-manager
sudo apt-get update
sudo apt-get install yad


A evo i skripte

Code (bash):
#! /bin/bash
if [ `whoami` != root ]; then
     echo "Potrebno je startovati skriptu sa \"SUDO\""
     exit 0
fi
set=$(echo `ls /sys/class/net/` | sed 's/ /\!/g')
while true;do
int=`yad --width=400 --height=150 --title="SetPPPoE" \
--button="Konektuj se:2" --button="Diskonektuj se:0" --button="Izadji:1" \
--field="Korisnicko Ime" --field="Lozinka:H" --form --field="Interfejs:CB" "" "" "$set"`
ret=$?
if [ $ret = 1 ];then
   exit 0
elif [ $ret = 0 ];then
   poff -a > /dev/null
   exit 0
fi
int1=$(echo "$int" | sed 's/|/ /g' | wc -w)
[ $int1 -eq 3 ] && break
done
x=1
for eth in $(echo "$int" | sed 's/|/ /g');do
pot[x++]=$eth
done
setsid pppd plugin rp-pppoe.so ${pot[3]} noipdefault defaultroute replacedefaultroute noauth persist usepeerdns user ${pot[1]} password ${pot[2]}
exit 0

[ dany12 @ 08.02.2011. 20:57 ] @
Najnovija verzija je ugledala svetlost dana :) .Ispravljeni su neke bubice,narocito je bila bubicava ova za Arch.
[ Srđan Pavlović @ 11.04.2011. 22:57 ] @
Uvedoh novi net, sad sam i ja na PPPoE, aaaa!
[ Dr NIK @ 13.04.2011. 05:08 ] @
Zasto ne postavite ovo kao OS na neki code server (google code, github)? Posto vidim da se razvoj zahuhtao :)
[ dany12 @ 13.04.2011. 12:35 ] @
Citat:
Dr NIK: Zasto ne postavite ovo kao OS na neki code server (google code, github)? Posto vidim da se razvoj zahuhtao :)


Vec je duze vreme tamo :) http://code.google.com/p/setpppoe-gui/
[ Doctor_Oz @ 14.06.2011. 12:02 ] @
da li ovo moze da radi na Linux Mint 10, ja sam probao ali mi nesto blokira ceo OS, a probao sam na Ubuntu i tu radi savrseno
[ dany12 @ 14.06.2011. 14:47 ] @
Citat:
Doctor_Oz: da li ovo moze da radi na Linux Mint 10, ja sam probao ali mi nesto blokira ceo OS, a probao sam na Ubuntu i tu radi savrseno

Mint i Ubuntu su jedno te isto,sve sto radi na jednom,mora da radi i na drugom.Ja sam na Mint 10 i pisao i testirao ovu skriptu.Objasni malo bolje sta i kad i kako ti blokira sistem,mozes i u terminalu da pokrenes program,pa da postavis ovde ono sto ti ispisuje za vreme koriscenja.
[ Doctor_Oz @ 14.06.2011. 16:59 ] @
sve pocinje ovde

nemogu da kliknem "Ok", nego pretisnem "Esc" i izadje, ali na sledecem prozoru nemogu nista da uradim i kada pretisnem "Esc" nista se desava, kada kliknem desni kilk na desktop i otvori se padajuci meni na njemu mogu da klikcem koliko hocu i nista se ne desava.
ovo sam slikao u Ubunti posto u Mintu nisam uspeo
[ dany12 @ 14.06.2011. 22:18 ] @
Pokreni program ovom komandom
Code:
(sudo setpppoe 2>&1) > setpppoe.log

pa postavi ovde setpppoe.log.

[Ovu poruku je menjao dany12 dana 15.06.2011. u 15:58 GMT+1]
[ 3fko @ 27.12.2011. 13:08 ] @
Kako instalirati ovu skriptu na openSUSE ili Fedoru???
[ dany12 @ 27.12.2011. 15:03 ] @
Citat:
3fko: Kako instalirati ovu skriptu na openSUSE ili Fedoru???


Ovo nece raditi na OpenSUSE i Fedori,samo radi na debianolikim distribucijama i Arch-u.
[ 3fko @ 27.12.2011. 15:16 ] @
Ima li kakvo riješenje za RPM-olike linuxe za pppoe konkciju.
[ dany12 @ 27.12.2011. 16:04 ] @
Na opensuse imas u okviru yast-a podesavanja za pppoe,a na fedori probaj sa network-manager-om.
[ CakNoris @ 01.07.2013. 15:03 ] @
dany12 jel može PPPoE programčić za Android? :)