Zwifi - Conectar em rede Wi-Fi via terminal

Publicado por Fernando T. Da Silva (última atualização em 11/01/2016)

[ Hits: 4.771 ]

Homepage: http://meumundotux.blogspot.com.br/

Download zwifi-v3-perfil.tgz




Simples script em zenity para conectar em rede WI-FI com protocolo WPA/WPA2 usando o wpa_supplicant com suporte
a perfil de cada rede conectada ao utilizar um notebook, podendo ser utilizado em qualquer window manager sem precisar de ferramentas gráficas como Wicd, NetworkManager e outros similares.

Para instalar faça:

$ sudo tar -xzvf zwifi-v3-perfil.tgz -C /

Nota: após configuração da rede ou o acesso a mesma aguarde alguns segundos a exibição da janela de retorno com o resultado, se for exibido o seu IP local da conexão realizada, a mesma foi feita com sucesso.

Mais informações no arquivo: /usr/doc/wifi/zwifi-leia.txt

  



Esconder código-fonte

Código fonte do arquivo principal

# zwifi versão 3 dezembro de 2015 por nandosilva.
# simples script em zenity pra conectar a várias redes wireless com um notebook, onde você terá salvo o perfil
# de cada uma, pra posterior conexão sem precisar configurar de novo ao usar windows managens minimalista sem precisar do
# networkmanager, wicd e outros configuradores de rede pra isto.
# Necessário usar o sudo ou gksu para este script na frente do nome do mesmo no seu atalho do menu de programas.
# O pacote  wpa_supplicant e zenity devem está instalado no seu sistema.
#
while true; do
  choice="$(zenity --width=400 --height=310 --list --column "Acesso wifi" --title="Wireless" \
  "Procurar redes" \
  "Configurar rede" \
  "Acessar uma rede configurada" \
  "Desconectar" \
  "Sobre" \
  "Sair")"

  case "${choice}" in

 "Procurar redes" ) 
sudo /sbin/ifconfig wlan0 up
sudo /sbin/iwlist wlan0 scan >> /tmp/local
zenity --title "Redes Wifi" --text-info --filename=/tmp/local --width=1000 --height=850
rm /tmp/local

;;  
      "Configurar rede" )
zenity --info --title "Perfil" --text "Criar perfil"
perfil=$(zenity --title="Perfil" --entry --text="Digite um nome curto unico para o perfil sem espaços \n ou pontos. Exemplo: myredelacasa")
mkdir /etc/wifi
touch /etc/wifi/"$perfil"
ssid=$(zenity --title="Zwifi" --width=400 --height=120 --entry --text="Digite o ssid:") 
senha=$(zenity --title="Zwifi" --entry --hide-text --text="Digite a senha, mínimo de 8 caracteres: ")
/usr/sbin/wpa_passphrase "$ssid" $senha > /etc/wifi/"$perfil"
sed '3d' /etc/wifi/"$perfil" > /etc/wifi/tmp ; mv /etc/wifi/tmp /etc/wifi/"$perfil"
/usr/sbin/wpa_supplicant -i wlan0 -c /etc/wifi/"$perfil" -B -d -D wext
/sbin/dhcpcd wlan0
ifconfig wlan0 >> /tmp/local
ping -c 2 www.google.com  >> /tmp/local
zenity --title "Zwifi" --text-info --filename=/tmp/local --width=900 --height=500
rm /tmp/local

;;

"Acessar uma rede configurada" )
input=`zenity --file-selection --filename /etc/wifi/ --title "Selecione um arquivo de Perfil"`
  if [ $? = 1 ];
   then zenity --error --title "Perfil" --text "Acesso cancelado" & exit
  fi
/usr/sbin/wpa_supplicant -i wlan0 -c "$input" -B -d -D wext
/sbin/dhcpcd wlan0
ifconfig wlan0 >> /tmp/local
zenity --title "Zwifi" --text-info --filename=/tmp/local --width=800 --height=400
rm /tmp/local

;;  
     "Desconectar" )

zenity --title="Aviso" --info --text="Para desconectar da rede wifi atual e acessar outra rede, na janela de terminal a seguir execute o comando wifioff, após feche a janela de terminal para retornar ao zwifi."
xterm -fn 9x18 -title "wifi terminal"

;;  

 "Sobre" )
zenity --info --text "Zwifi\n\n Versão 3 - janeiro de 2016 \n Autor: nandosilva \n \nAcessar redes wireles com suporte a perfil utilizando  o wpa_supplicant. \n\nLicença: GPLv3.\n\nRequer: wpa_supplicant, zenity, gksu e xterm."

;;

        *)
            break
          ;;
        esac
  
done


Scripts recomendados

open_tcp

/etc/rc.d/rc.ppp

Atualizar IP no vsftpd.conf

Conectar em rede Wireless

PARPM - Procura de Arquivos em Pacotes Rpm


  

Comentários
[1] Comentário enviado por fabio em 11/01/2016 - 09:31h

Muito bom! Favoritado.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts