GNU/Linux >> Linux の 問題 >  >> Ubuntu

UbuntuLinuxのターミナルからWiFiに接続する方法

このチュートリアルでは、Ubuntuのターミナルからワイヤレスネットワークに接続する方法を学習します。これは、通常のデスクトップ環境にアクセスできないUbuntuサーバーを使用している場合に特に役立ちます。

私は主に自宅のコンピューターでデスクトップLinuxを使用しています。また、FOSSや関連するウェブサイトをホストするための複数のLinuxサーバーと、Nextcloud、Discourse、Ghost、RocketChatなどのオープンソースソフトウェアもあります。

私はLinodeを使用して、Linuxサーバーをクラウドに数分ですばやくデプロイします。しかし最近、RaspberryPiにUbuntuサーバーをインストールしました。物理デバイスにサーバーをインストールするのはこれが初めてで、コマンドラインを介してUbuntuサーバーをWiFiに接続するために追加の作業を行う必要がありました。

このチュートリアルでは、UbuntuLinuxでターミナルを使用してWiFiに接続する手順を示します。すべきです

  • ターミナルを使用してファイルを編集することを恐れないでください
  • Wi-Fiアクセスポイント名(SSID)とパスワードを知っている

UbuntuのターミナルからWiFiに接続する

Ubuntuデスクトップを使用している場合は、GUIを使用して簡単に実行できるため、簡単です。 Ubuntuサーバーを使用していて、コマンドラインに制限されている場合は同じではありません。

UbuntuはNetplanユーティリティを使用してネットワークを簡単に構成します。 Netplanでは、ネットワークインターフェイスの説明を含むYAMLファイルを作成し、netplanコマンドラインツールを使用して、必要なすべての構成を生成します。

Netplanを使用して端末からワイヤレスネットワークに接続する方法を見てみましょう。

ステップ1:ワイヤレスネットワークインターフェイス名を特定する

ネットワークインターフェイス名を識別する方法はいくつかあります。 ipコマンド、非推奨のipconfigコマンドを使用するか、次のファイルを確認できます。

ls /sys/class/net

これにより、利用可能なすべてのネットワークインターフェイス(イーサネット、wifi、ループバック)が提供されます。ワイヤレスネットワークインターフェイスの名前は「w」で始まり、通常はwlanX、wlpxyzのように名前が付けられます。

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

このインターフェース名をメモしてください。次のステップで使用します。

ステップ2:Wi-Fiインターフェースの詳細を使用してNetplan構成ファイルを編集します

Netplan構成ファイルは/etc/netplanディレクトリにあります。このディレクトリの内容を確認すると、01-network-manager-all.ymlや50-cloud-init.yamlなどのファイルが表示されます。

Ubuntuサーバーの場合は、cloud-initファイルが必要です。デスクトップの場合は、network-managerファイルである必要があります。これは、UbuntuデスクトップがUbuntuサーバーと異なるいくつかの点の1つです。

LinuxデスクトップのNetworkManagerを使用すると、ワイヤレスネットワークを選択できます。 Wi-Fiアクセスポイントをその構成にハードコーディングすることができます。これは、接続が自動的に切断される場合(サスペンドなど)に役立つ可能性があります。

どちらのファイルでも、編集のために開きます。 UbuntuにはNanoエディターがプリインストールされているので、Nanoエディターに少し慣れているといいのですが。

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

YAMLファイルは、スペース、インデント、配置に非常に敏感です。インデントが表示される場所では、タブを使用せず、代わりに4つ(またはYAMLファイルですでに使用されている2つ)のスペースを使用してください。

基本的に、アクセスポイント名(SSID)とそのパスワード(通常)を引用符で囲んだ次の行を追加する必要があります。

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

繰り返しますが、私が示したように配置を維持してください。そうしないと、YAMLファイルが解析されず、エラーがスローされます。

完全な構成ファイルは次のようになります。

# 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"

インスタンスを再起動しても変更が持続しないというメッセージにもかかわらず、それが機能するのは奇妙だと思います。

とにかく、次のコマンドを使用して構成を生成します:

sudo netplan generate

そして今これを適用します:

sudo netplan apply

運が良ければ、ネットワークに接続する必要があります。 Webサイトにpingを実行するか、aptupdateコマンドを実行してみてください。

ただし、状況がスムーズに進まず、エラーが発生する場合があります。その場合は、いくつかの追加手順を試してください。

考えられるトラブルシューティング

netplan applyコマンドを使用すると、次のようなエラーが出力に表示される可能性があります。

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.

wpa_supplicantサービスが実行されていない可能性があります。次のコマンドを実行します:

sudo systemctl start wpa_supplicant

netplanapplyをもう一度実行します。それが問題をうまく解決するなら。それ以外の場合は、以下を使用してUbuntuシステムをシャットダウンします。

shutdown now

Ubuntuシステムを再起動し、ログインしてネットプランを生成して適用します。

sudo netplan generate
sudo netplan apply

現在、(エラーではなく)警告が表示される場合があります。これは警告であり、エラーではありません。実行中のsystemdサービスを確認したところ、netplan-wpa-wlan0.serviceがすでに実行されていることがわかりました。おそらく、すでに実行されていて、「netplan apply」が構成ファイルを更新したため(変更がなくても)、警告が表示されました。

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.

これは重要ではなく、apt updateを実行して、インターネットがすでに機能していることを確認できます。

このチュートリアルの助けを借りて、Ubuntuのコマンドラインを使用してwifiに接続できたと思います。それでも問題が解決しない場合は、コメントセクションでお知らせください。



Ubuntu
  1. LinuxでターミナルからWebを検索する方法

  2. Ubuntu 20.04でターミナルをカスタマイズする-それを行う方法は?

  3. ターミナルウィンドウからLinuxでファイルを作成するには?

  1. Ubuntu/LinuxでZIPファイルを解凍する方法

  2. UbuntuLinuxでtailコマンドを使用する方法

  3. UbuntuにWifiネットワークカードを認識させる方法は??

  1. UbuntuLinuxでファイルを削除する方法

  2. UbuntuLinuxでターミナルからインターネット速度をテストする方法

  3. UbuntuLinuxでAndroidデバイスを接続する方法