Como se conectar ao WiFi a partir do terminal no Ubuntu Linux

Neste tutorial, você aprenderá como se conectar à rede sem fio a partir do terminal no Ubuntu. Isso é particularmente útil se você estiver usando o servidor Ubuntu onde não tem acesso ao [ambiente de desktop] normal (https://itsfoss.com/what-is-desktop-environment/).

Como se conectar ao WiFi a partir do terminal no Ubuntu Linux

Neste tutorial, você aprenderá como se conectar à rede sem fio a partir do terminal no Ubuntu. Isso é particularmente útil se você estiver usando um servidor Ubuntu onde não tem acesso ao ambiente de desktop normal.

Eu uso principalmente o Linux desktop em meus computadores pessoais. Eu também tenho vários servidores Linux para hospedar sites relacionados e software de código aberto como Nextcloud, Discourse, Ghost, Rocket Chat etc.

Eu uso o Linode para implementar rapidamente servidores Linux na nuvem em minutos. Mas recentemente, instalei o servidor Ubuntu no meu Raspberry Pi. Esta é a primeira vez que instalei um servidor em um dispositivo físico e tive que fazer coisas extras para conectar o servidor Ubuntu ao WiFi via linha de comando.

Neste tutorial, mostrarei as etapas para se conectar ao WiFi usando um terminal no Ubuntu Linux. Você deve

  • saber o nome do ponto de acesso wi-fi (SSID) e a senha
  • não ter medo de usar o terminal para editar arquivos

Conecte-se ao WiFi a partir do terminal no Ubuntu

Conectar ao terminal Wi-Fi no Ubuntu

É fácil quando você está usando a área de trabalho do Ubuntu porque você tem a GUI para fazer isso facilmente. Não é a mesma coisa quando você está usando o servidor Ubuntu e está restrito à linha de comando.

Ubuntu usa o utilitário Netplan para configurar facilmente a rede. No Netplan, você cria um arquivo YAML com a descrição da interface de rede e com a ajuda da ferramenta de linha de comando netplan, você gera todas as configurações necessárias.

Vamos ver como se conectar à rede sem fio do terminal usando o Netplan.

Etapa 1: Identifique o nome da interface de sua rede sem fio

Existem várias maneiras de identificar o nome da sua interface de rede. Você pode usar o comando ip, o antigo comando ipconfig ou verificar este arquivo:

Comandos para usar no terminal

ls /sys/class/net

Isso deve fornecer a você todas as interfaces de rede disponíveis (Ethernet, wi-fi e loopback). O nome da interface de rede sem fio começa com 'w' e geralmente é denominado semelhante a wlanX, wlpxyz.

Anote o nome desta interface. Você o usará na próxima etapa.

Etapa 2: Edite o arquivo de configuração do Netplan com os detalhes da interface wi-fi

O arquivo de configuração do Netplan reside no diretório /etc/netplan. Se você verificar o conteúdo deste diretório, deverá ver arquivos como 01-network-manager-all.yml ou 50-cloud-init.yaml.

Se for o servidor Ubuntu, você deve ter o arquivo cloud-init. Para desktops, deve ser um arquivo gerenciador de rede.

O Network Manager na área de trabalho do Linux permite que você escolha uma rede sem fio. Você pode codificar o ponto de acesso wi-fi em sua configuração. Isso pode ajudá-lo em alguns casos (como quando suspende o computador) em que a conexão cai automaticamente.

Qualquer que seja o arquivo, abra-o para edição. Espero que você esteja um pouco familiarizado com o editor Nano porque o Ubuntu vem pré-instalado com ele.

Comandos para usar no terminal

sudo nano /etc/netplan/50-cloud-init.yaml

Arquivos YAML são muito sensíveis em relação a espaços, recuo e alinhamento. Não use tabulações, use 4 espaços (ou 2, o que já for usado no arquivo YAML) no lugar onde você vê um recuo.

Basicamente, você terá que adicionar as seguintes linhas com o nome do ponto de acesso (SSID) e sua senha (geralmente) entre aspas:

        wlan0:
            dhcp4: true
            opcional: true
            access-points:
                "SSID \ _name":
                    password: "WiFi \ _password"

Novamente, mantenha o alinhamento como eu mostrei ou então o arquivo YAML não será analisado e irá retornar um erro.

Seu arquivo de configuração completo pode ter a seguinte aparência:

# to it will not persist across an instance reboot. To disable cloud-init's
# network configuration capabilities, write a file
# /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg with the following:
# network: {config: disabled}
network:
    ethernets:
        eth0:
            dhcp4: true
            optional: true
    version: 2
    wifis:
        wlan0:
            dhcp4: true
            optional: true
            access-points:
                "SSID_name":
                    password: "WiFi_password"

De qualquer forma, gere a configuração usando este comando:

Comandos para usar no terminal

sudo netplan generate

E agora aplique isto:

Comandos para usar no terminal

sudo netplan apply

Se você tiver sorte, você deve ter uma rede conectada. Tente fazer ping em um site ou execute o comando apt update.

No entanto, as coisas podem não correr tão bem e você pode ver alguns erros. Tente algumas etapas extras, se for o caso.

Possível solução de problemas

É possível que, ao usar o comando netplan apply, você veja um erro na saída que se parece com isto:

Traceback (most recent call last):
  File "/usr/sbin/netplan", line 23, in <module>
    netplan.main()
  File "/usr/share/netplan/netplan/cli/core.py", line 50, in main
    self.run_command()
  File "/usr/share/netplan/netplan/cli/utils.py", line 179, in run_command
    self.func()
  File "/usr/share/netplan/netplan/cli/commands/apply.py", line 46, in run
    self.run_command()
  File "/usr/share/netplan/netplan/cli/utils.py", line 179, in run_command
    self.func()
  File "/usr/share/netplan/netplan/cli/commands/apply.py", line 173, in command_apply
    utils.systemctl_networkd('start', sync=sync, extra_services=netplan_wpa)
  File "/usr/share/netplan/netplan/cli/utils.py", line 86, in systemctl_networkd
    subprocess.check_call(command)
  File "/usr/lib/python3.8/subprocess.py", line 364, in check_call
    raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['systemctl', 'start', '--no-block', 'systemd-networkd.service', 'netplan-wpa-wlan0.service']' returned non-zero exit status 5.

É possível que o serviço wpa_supplicant não está sendo executado. Execute este comando:

Comandos para usar no terminal

sudo systemctl start wpa_supplicant

Execute netplan apply mais uma vez. Se isso resolver o problema, muito bem. Caso contrário, desligue seu sistema Ubuntu usando:

Comandos para usar no terminal

shutdown now

Inicie o sistema Ubuntu novamente, faça login, gere e aplique o netplan novamente:

Comandos para usar no terminal

sudo netplan generate

sudo netplan apply

Agra pode aparecer um aviso (em vez de erro). É um aviso e não um erro. Eu verifiquei os serviços do systemd em execução e descobri que o netplan-wpa-wlan0.service já estava em execução. Provavelmente ele mostrou o aviso porque já estava em execução e netplan apply atualizou o arquivo de configuração (mesmo sem nenhuma alteração).

Warning: The unit file, source configuration file or drop-ins of netplan-wpa-wlan0.service changed on disk. Run 'systemctl daemon-reload' to reload units.

Espero que você tenha conseguido se conectar ao wi-fi usando a linha de comando no Ubuntu com a ajuda deste tutorial. Se você ainda estiver enfrentando problemas com isso, deixe-me saber na seção de comentários.

Via itsfoss.com. Você pode conferir o post original em inglês:

How to Connect to WiFi from the Terminal in Ubuntu Linux

Última atualização deste artigo: 8 de september de 2020