Ubuntu(サーバー版)を無線LANに接続しようとした時に犯した失敗5選


概要

Ubuntu Server 18.04 LTSを無線LANに接続しようとした時にviエディタを使ったのですが、ちょくちょく怒られたのでそれらのミスと解決策5つを紹介します

前提

  • Ubuntu Server 18.04 LTSを使ってます
  • PC本体はSONYのVAIOです。
  • 下の記事を参考にNetplanでネットワーク設定をしようとしています。
  • viエディタで編集してます

参考にした記事┐
Ubuntu Server 18.04 LTSの無線LAN接続(リンク)

失敗5選

1. 編集内容を保存できない。

今回編集するのは"/etc/netplan/50-cloud-init.yaml"です。
これをviエディタで開くことで、Netplanの編集を行うことができ、有線・無線LANの設定もできます。

viコマンドで編集します。

vi /etc/netplan/50-cloud-init.yaml

するとviエディタの編集画面が開きます。

# This file is generated from information provided by
# the datasource.  Changes to it will not persist across an instance.
# 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:{}
    version: 2

デフォルトはこのようになっているかと思います。
これを編集していきました。

しかし、編集し保存しようと「:w」を押したところ、さっそく問題が発生しました。

こちらのエラーが出ました。内容としては「閲覧専用になっているよ」とのこと

これを回避するために以下のように書き換えました。

:w !sudo tee %

完全にコピペしたので、意味はよくわからないのですが、こちらを書いてEnterを押していったら、ちゃんと保存されました。


2. 「inconsistent indent」のエラー

編集を行い、設定完了のために次のコマンドを入力します。

sudo netplan apply

これを書くことで設定完了されるとのことですが、ここで

「wifis:」の値の前あたりのインデントで注意されました。
インデントを揃えたらエラーは消えました。

viはインデントに厳しいようですので、気をつけてください。


3. 「did not find expected ',' or '}'」のエラー

一個前のエラーを回避してすぐに、こちらのエラーが出ました。
内容としては、「','か'}'がないといけないけど、見つからないぞ」ということ。

「それって、入力する必要あるのか?」と思い、ちょっと調べてみると
「','や'}'」の有無の問題なのですが、そもそもの書き方がよくなかったようです。

上で書いた、このethernets:の後の「{}」は必要ないのに、ご丁寧にこの「{}」の中にコードを書いてしまっていたようです。

この「{}」を削除することで、このエラーは回避できました。
ちょっと分かりづらいですが、気をつけてください。


4. 接続するデバイスの設定ミス

次に、viでethernetの中に無線LANの設定をしなければいけないのですが、参考にした記事をそのままコピペしてもダメでした。

こちらをそのままコピペしたのですが、動きません。

なぜかというと、設定しているデバイスの値が違うという理由でした。
「enp5s0」というkeyがデバイスの有線接続のためのkeyで、「wlp9s0」が無線接続のための値なのですが、これは自分の接続しているデバイスのkeyに設定し直さなければいけません。

自分のデバイスのkeyを調べるには以下のコマンドを打ちます。

sudo lshw -class network -short

で表示されますので、それらの値に書き換えてください。


5. IPアドレス・アクセスポイントの書き方のミス

最後にとっておきの凡ミスです。
デバイスのkeyを設定しましたら、自分のwi-fiのSSIDとpasswordを入力しなけらばいけません。

 access-points:
                < your-SSID1 >:
                         password: < your-PASSWORD1 >
                < your-SSID1 >:
                         password: < your-PASSWORD2 >

このようにviエディタで書いていくのですが、
この時、SSIDとpasswordは「""」で囲っていなければいけません。

 access-points:
                "< your-SSID1 >":
                         password: "< your-PASSWORD1 >"
                "< your-SSID1 >":
                         password: "< your-PASSWORD2 >"

このようにです。
しかし、抜けてる自分はこの「""」を入れずに動かそうとしていました。
それは動かないですよね。

終わりに

いかがだったでしょうか?
すごい初歩的な内容も含まれているので、割合として余計な情報多めかもしれませんが、自分の犯した失敗を正直に書いてみました。