导读

在本教程中,你将学习如何在 Ubuntu 中从终端连接到无线网络。如果你在使用 Ubuntu 服务器时,无法访问常规的桌面环境,这将对你非常有帮助。

我的家用电脑主要使用桌面

。我也有多台 Linux 服务器用于托管网站以及开源软件,如 Nextcloud、Discourse、Ghost、Rocket Chat 等。

我可以使用 linode 在云端几分钟内快速部署 Linux 服务器。但最近,我在我的树莓派上安装了 Ubuntu 服务器。这是我第一次在物理设备上安装服务器,我不得不做一些额外的事情来通过

行将 Ubuntu 服务器连接到 WiFi。

在本教程中,我将展示在 Ubuntu Linux 中使用终端连接到 WiFi 的步骤。你应该:

不要害怕使用终端编辑文件。

知道 wifi 接入点名称 (SSID) 和密码。

在 Ubuntu 中从终端连接到 WiFi

当你使用 Ubuntu 桌面时,连接到 WiFi 是很容易的,因为你有图形用户界面,可以很容易地做到这一点。但当你使用 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:编辑 Netplan 配置文件中的 wifi 接口详细信息

Netplan 配置文件在 /etc/netplan 目录下。如果你查看这个目录的内容,你应该看到类似 01-network-manager-all.yml 或 50-cloud-init.yaml 等文件。

如果是 Ubuntu 服务器,你应该有 50-cloud-init.yaml 文件。如果是桌面计算机,应该是 01-network-manager-all.yml 文件。

Linux 桌面计算机的 Network Manager 允许你选择一个无线网络。你可以在它的配置中硬编码写入 WiFi 接入点。这可以在自动掉线的情况下(比如挂起)时帮助到你。

不管是哪个文件,都可以打开编辑。我希望你对 Nano 编辑器有一点熟悉,因为 Ubuntu 预装了它。

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

YAML 文件对空格、缩进和对齐方式非常敏感。不要使用制表符,在看到缩进的地方使用 4 个空格(或 2 个,以 YAML 文件中已经使用的为准)代替。

基本上,你需要添加以下几行,引号中是接入点名称(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

如果你幸运的话,你应该连上网络。尝试 ping 一个网站或运行 apt 更新命令。

然而,事情可能不会那么顺利,你可能会看到一些错误。如果是这种情况,请尝试一些额外的步骤。

可能的故障排除

当你使用 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, innetplan.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

再次运行 netplan apply。如果它能解决这个问题,那就太好了。否则,使用下面的命令关闭 Ubuntu 系统:

shutdown now

重新启动 Ubuntu 系统,登录并再次生成和运行 netplan apply:

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。

原文来自:

linux终端如何连接wifi,如何在 Linux 终端中连接使用 WiFi?相关推荐

  1. linux命令 upower -e,分享|如何在 Linux 终端下检查笔记本电池状态

    在图形界面下查看你的笔记本电池状态是很容易的,只需将鼠标指向任务栏中的电池图标上,你便可以很容易地知道电池的电量.但如果我们想要从命令行中获得这些信息呢?并不是所有人都知道如何做到这点.前几天我的一个 ...

  2. linux 更改ssh端口_如何在Linux中更改SSH端口-简易指南

    linux 更改ssh端口 The default port on SSH is 22. But for security reasons, it's a good idea to change SS ...

  3. linux重启网卡命令_如何在 Linux 中更改 MAC 地址 | Linux 中国

    在向你展示如何在 Linux 中更改 Mac 地址之前,让我们首先讨论为什么要更改它.-- Dimitrios Savvopoulos 在向你展示如何在 Linux 中更改 MAC 地址之前,让我们首 ...

  4. linux上查看网络限制,如何在Linux上限制网络带宽

    您是否曾经与多个设备共享网络带宽?如果您曾经处于一个应用程序占用了所有流量的位置,那么您是系统管理员还是Linux用户,您将需要发现如何控制应用程序的上载和下载速度,以确保您的带宽并不完全被单个应用程 ...

  5. linux查看并口设备,如何在LINUX下实现硬件的自动检测(下)

    本文是<如何在LINUX下实现硬件的自动检测>一文的下部分,作者将继续向我们讲述如何自动检测另外几种总线类型硬件设备. 5 .USB设备的自动检测 5.1 USB设备检测的一般过程 USB ...

  6. linux python开发环境_如何在Linux系统中搭建Python编程环境

    1 在大多数的Linux系统中,基本上都默认安装了Python,也就是说,在Linux的系统中基本上是不需要安装什么软件,就可以使用Python. 下面以ubuntu操作系统为例,看看如何在Linux ...

  7. linux命令行的操作符,如何在Linux命令行中进行基本的数学运算

    原标题:如何在Linux命令行中进行基本的数学运算 Linux bash或命令行允许您执行基本和复杂的算术和布尔运算.像expr,jot,bc和factor等命令可以帮助您找到复杂问题的最优数学解决方 ...

  8. linux exfat分区格式化,技术|如何在 Linux 上将 USB 盘格式化为 exFAT

    本教程教你如何在 Linux 系统上以 exFAT 格式格式化 USB 盘.同时包括 GUI 和命令行两种方法. 长期以来,FAT 是用于格式化磁盘文件系统的默认选择.它与几乎所有主要操作系统兼容. ...

  9. linux上开发应用程序_如何在Linux上安装软件应用程序

    linux上开发应用程序 如何在Linux上安装应用程序? 与许多操作系统一样,该问题不仅有一个答案. 应用程序可以来自许多来源-几乎无法计数-每个开发团队都可以以自己认为最佳的方式交付软件. 知道如 ...

最新文章

  1. Sublime text 2/3 [Decode error - output not utf-8] 完美解决方法
  2. 记录ie暂时遇到的问题
  3. 【DBMS 数据库管理系统】数据仓库中 数据追加 ( 时标方法 | DELTA 文件法 | 前后映像文件法 | 日志文件法 )
  4. LeetCode 252. Meeting Rooms
  5. 【REST】REST是什么
  6. python笔记之while和for循环练习
  7. 常用控件 winform
  8. ARM 指令集版本和ARM 版本z
  9. iOS之NSURLConnection详解(2)
  10. Atitit redis使用 attilax 艾提拉总结 1.1. Redis默认有16个库,默认连接的是 index=0 的那一个。解决与原来不方便查询查看的问题 1 1.2. redis不是现
  11. 用matlab求三重积分格式,matlab求三重积分
  12. 计算机芯片级维修包括哪些,电脑芯片级维修教程
  13. 软件开发人员如何做出好看的UI界面
  14. 网曝悼念牌汤圆吃出创可贴(图)
  15. 自从学会了用python解析视频,都不用去找下载按钮在哪了,是真的方便
  16. windows7/windows2008修改远程桌面连接并修改防火墙配置脚本
  17. 如何使用SOLIDWORKS绘制外螺纹线?
  18. 【Java】不可变类(immutable)总结
  19. Java获取当前时间的上一个月和下一个月,第一天和最后一天,任意时间的第一天和最后一天,任意时间上一个月和下一个月
  20. GitHub上传自己的文件

热门文章

  1. 安卓商店应用商城申请需要资料
  2. PAT日志 1035
  3. 智能优化算法之遗传算法(GA)的实现(基于二进制编码,Python附源码)
  4. 解决方法 curl: (35) OpenSSL SSL_connect: SSL_ERROR_SYSCALL in connection to bit.ly:443
  5. 陈伟霆,赵丽颖,李易峰,青云志,分析。
  6. MySQL中的条件判断函数 CASE WHEN、IF、IFNULL你会用吗?
  7. 如何从访客属性分析网站用户群
  8. 怎么把html文档转换成doc,Word文档如何把docx格式转换成doc格式
  9. 国外android内存清理工具,小内存手机有救了,这款清理神器,瞬间多出几个G的内存...
  10. stm32H7 擦除读写SPI NOR FLASH时间测试