GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Come connettersi al WiFi dal terminale in Ubuntu Linux

In questo tutorial imparerai come connetterti alla rete wireless dal terminale in Ubuntu. Ciò è particolarmente utile se stai utilizzando un server Ubuntu in cui non hai accesso al normale ambiente desktop.

Uso principalmente Linux desktop sui miei computer di casa. Ho anche più server Linux per l'hosting di It's FOSS e relativi siti Web e software open source come Nextcloud, Discourse, Ghost, Rocket Chat ecc.

Uso Linode per distribuire rapidamente server Linux nel cloud in pochi minuti. Ma di recente ho installato il server Ubuntu sul mio Raspberry Pi. Questa è la prima volta che installo un server su un dispositivo fisico e ho dovuto fare cose extra per connettere il server Ubuntu al WiFi tramite riga di comando.

In questo tutorial, mostrerò i passaggi per connettersi al WiFi usando il terminale in Ubuntu Linux. Dovresti

  • non aver paura di usare il terminale per modificare i file
  • conosci il nome del punto di accesso Wi-Fi (SSID) e la password

Connettiti al Wi-Fi dal terminale in Ubuntu

È facile quando usi il desktop Ubuntu perché hai la GUI per farlo facilmente. Non è lo stesso quando usi il server Ubuntu e sei limitato alla riga di comando.

Ubuntu utilizza l'utilità Netplan per configurare facilmente la rete. In Netplan crei un file YAML con la descrizione dell'interfaccia di rete e, con l'aiuto dello strumento a riga di comando netplan, generi tutta la configurazione richiesta.

Vediamo come connettersi alla rete wireless dal terminale utilizzando Netplan.

Fase 1:identifica il nome dell'interfaccia di rete wireless

Esistono diversi modi per identificare il nome dell'interfaccia di rete. Puoi usare il comando ip, il comando ipconfig deprecato o controllare questo file:

ls /sys/class/net

Questo dovrebbe darti tutta l'interfaccia di rete disponibile (Ethernet, wifi e loopback). Il nome dell'interfaccia di rete wireless inizia con "w" e di solito è chiamato in modo simile a wlanX, wlpxyz.

[email protected]:~$ ls /sys/class/net
eth0 lo wlan0

Prendi nota di questo nome di interfaccia. Lo userai nel passaggio successivo.

Fase 2:Modifica il file di configurazione di Netplan con i dettagli dell'interfaccia wifi

Il file di configurazione di Netplan risiede nella directory /etc/netplan. Se controlli il contenuto di questa directory, dovresti vedere file come 01-network-manager-all.yml o 50-cloud-init.yaml.

Se è un server Ubuntu, dovresti avere il file cloud-init. Per i desktop, dovrebbe essere un file di gestione di rete. Questo è uno dei tanti modi in cui Ubuntu desktop differisce dal server Ubuntu.

Network Manager sul desktop Linux consente di scegliere una rete wireless. Puoi codificare il punto di accesso wifi nella sua configurazione. Questo potrebbe aiutarti in alcuni casi (come la sospensione) in cui la connessione si interrompe automaticamente.

Qualunque sia il file, aprilo per modificarlo. Spero che tu abbia un po' di familiarità con l'editor Nano perché Ubuntu viene preinstallato con esso.

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

I file YAML sono molto sensibili agli spazi, al rientro e all'allineamento. Non usare le tabulazioni, usa 4 (o 2, a seconda di quello che è già utilizzato nel file YAML) invece dove vedi un rientro.

Fondamentalmente, dovrai aggiungere le seguenti righe con il nome del punto di accesso (SSID) e la relativa password (di solito) tra virgolette:

wifis:
    wlan0:
        dhcp4: true
        optional: true
        access-points:
            "SSID_name":
                password: "WiFi_password"

Ancora una volta, mantieni l'allineamento come ho mostrato, altrimenti il ​​​​file YAML non verrà analizzato e genererà un errore.

Il tuo file di configurazione completo potrebbe assomigliare a questo:

# This file is generated from information provided by the datasource. Changes
# 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"

Trovo strano che, nonostante il messaggio che le modifiche non persisteranno durante il riavvio di un'istanza, funzioni ancora.

In ogni caso, genera la configurazione usando questo comando:

sudo netplan generate

E ora applica questo:

sudo netplan apply

Se sei fortunato, dovresti avere una rete connessa. Prova a eseguire il ping di un sito Web o esegui il comando apt update.

Tuttavia, le cose potrebbero non andare così bene e potresti vedere alcuni errori. Se è il caso, prova alcuni passaggi aggiuntivi.

Possibile risoluzione dei problemi

È possibile che quando usi il comando netplan apply, visualizzi un errore nell'output che legge qualcosa del genere:

Failed to start netplan-wpa-wlan0.service: Unit netplan-wpa-wlan0.service not found.
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.

È possibile che il servizio wpa_supplicant non sia in esecuzione. Esegui questo comando:

sudo systemctl start wpa_supplicant

Esegui netplan applica ancora una volta. Se risolve il problema bene e bene. Altrimenti, spegni il tuo sistema Ubuntu usando:

shutdown now

Avvia nuovamente il tuo sistema Ubuntu, accedi e genera e applica nuovamente netplan:

sudo netplan generate
sudo netplan apply

Potrebbe mostrare un avviso (anziché un errore) ora. È un avviso e non un errore. Ho controllato i servizi systemd in esecuzione e ho scoperto che netplan-wpa-wlan0.service era già in esecuzione. Probabilmente ha mostrato l'avviso perché era già in esecuzione e 'netplan apply' ha aggiornato il file di configurazione (anche senza alcuna modifica).

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.

Non è fondamentale e puoi verificare che Internet stia già funzionando eseguendo apt update.

Spero che tu sia riuscito a connetterti al wifi usando la riga di comando in Ubuntu con l'aiuto di questo tutorial. Se hai ancora problemi con esso, fammelo sapere nella sezione commenti.



Ubuntu
  1. Come cercare nel Web da terminale su Linux

  2. Personalizza il terminale su Ubuntu 20.04:come farlo?

  3. Come usare il comando tail in Ubuntu Linux

  4. Come fare in modo che Ubuntu riconosca la scheda di rete Wi-Fi?

  5. Come creare un file in Linux dalla finestra del terminale?

Gestione file Linux dal terminale

Come salvare l'output del comando in un file utilizzando il terminale Linux

Come utilizzare Gmail dal terminale Ubuntu per inviare e-mail

Come scaricare un file su Ubuntu Linux usando la riga di comando

Come aprire il terminale in Ubuntu Linux

Come connettersi al WiFi dal terminale in Ubuntu Linux