quinta-feira, 22 de setembro de 2016

Ativando Wi-Fi no Raspberry PI 2/3 usando a linha de comando

Para rodar o wifi (contando que o driver da placa wifi tenha sido reconhecida e carregada), você precisa do wpa_supplicant. Ele pode ser instalado usando

sudo apt-get instal wpa_supplicant.


Você pode tentar seguir o guia do site do Raspberry Pi. No meu caso o guia não funcionou pois ele considera a alteração no arquivo /etc/network/interfaces, mas no meu Pi  esta alteração não tem efeito.

1) criar o arquivo de configuração do wpa_supplicant
Você terá que editar (criar) o arquivo /etc/wpa_supplicant/wpa_supplicant.conf. Ele deverá ter no mínimo as linhas abaixo.

country=BR
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
network={
    ssid="SSID do seu AP"
    psk="senha do seu AP"
}

Edite as linhas SSID e psk para conter o nome da sua rede sem fio (ESSID) e a senha da rede.

2) criar um script para rodar o wpa_supplicant. No meu caso eu coloquei em /etc/init.d/wpa_supplicant. Veja no script que está indicado a interface wlan0 onde será feita a conexão. No caso do seu Pi, você tem que configurar para o nome correto da interface.

#! /bin/sh
### BEGIN INIT INFO
# Provides: wpa_supplicant
# Required-Start:    $local_fs $syslog $remote_fs dbus
# Required-Stop:     $local_fs $syslog $remote_fs
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Start wpa_supplicant daemon
### END INIT INFO
# este script não estava rodando nos diretorios rcX.d
# ele deveria ficar ativo usando
# update_rc.d wpa_supplicant enable
# contudo apesar de criar os links ele não funcionou
# para ativá-lo eu tive que chamar o script em /etc/rc.local

DAEMON=/sbin/wpa_supplicant
DESC="wpa_supplicant wlan0"
CONF=/etc/wpa_supplicant/wpa_supplicant.conf

test -f $DAEMON || exit 0

# FIXME: any of the sourced files may fail if/with syntax errors
test -f $CONF

case $1 in
  start)
  echo "Starting $DESC"
  $DAEMON -i wlan0 -c $CONF -B
  ;;

  stop)
  echo "Stopping $DESC"
  pkill wpa_supplicant
  ;;
  
  restart|force-reload)
  $0 stop
  sleep 1
  $0 start
  ;;
  
  *)
  echo "Usage: $0 {start|stop|restart}" >&2
  exit 1
  ;;
esac

exit 0

3) alterar o arquivo /etc/rc.local para chamar o script criado no passo (2). No meu caso eu simplesmente inseri a linha abaixo

/etc/init.d/wpa_supplicant start


Não é necessária nenhuma outra configuração. Meu arquivo /etc/network/interfaces possui 3 linhas relacionadas com wlan0, contudo elas não fazem efeito real. Reproduzo abaixo somente para vocês verem o que são.

allow-hotplug wlan0
iface wlan0 inet manual 
    wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf


terça-feira, 6 de setembro de 2016

Bug PCManFM - Não abre o terminal

Se você é como eu e usa bastante o terminal no linux, tem uma característica interessante que é abrir o terminal no diretório corrente dentro do navegador. O Ubuntu é possível adicional ao menu de contexto uma opção "Abrir no terminal". Para isto basta instalar  esta opção ao Nautilus:

sudo apt-get install nautilus-open-terminal
Basta reiniciar o nautilus com (nautilus -q) para que a opção já esteja ativa.

Contudo se você utiliza o LUbuntu, o navegador é o PCManFM. Ele tem está opção no menu de ferramenta que é acionada via teclado usando <F4>. Contudo ela tem um bug.


A instalação padrão não abre diretórios com espaços como no meu exemplo da "Área de Trabalho". Esta opção de menu aciona um script que está no arquivo /usr/bin/lxsession-default-terminal. Dentro deste script vemos que a variável $PWD não está entre aspas. Basta consertar como na imagem abaixo e pronto. O <F4> funciona.