archlinux 开机自动连接wifi

archlinux开机自动连接网络

(https://bbs.archlinux.org/viewtopic.php?id=178625)
上一篇文章讲到如何用命令行连接wifi,大家可以去看看。

本文参考 https://bbs.archlinux.org/viewtopic.php?id=178625

TL,DR

wpa_supplicant

# config wpa_supplicant
#/etc/wpa_supplicant/wpa_supplicant-wlp5s0.conf

# enable wpa_supplicant
systemctl enable wpa_supplicant@wlp5s0

config systemd-network

# config systemd-network
# /etc/systemd/network/00-wireless-dhcp.network
[Match]
Name=wlp5s0

[Network]
DHCP=yes

# enable systemd-networkd.service
systemctl enable systemd-networkd.service

需要工具

  1. wpa_supplicant
  2. dhcpcd

配置文件

  1. /etc/wpa_supplicant/wpa_supplicant-网卡名.conf

  2. /etc/systemd/network/00-wireless-dhcp.network

步骤

1. wpa_supplicant

1.1 查看网卡名字
ip link
# 1: lo
# 2: enp4s0
# 3: wlp5s0
  1. lo 是loop设备
  2. enp4s0 是有线设备
  3. wlp5s0 是无线设备

注意我的网卡名是 wlp5s0,下文中的wlp5s0 都需替换成你的

1.2 生成 wpa_supplicant.conf文件

将生成的wpa_supplicant.conf 放到/etc/wpa_supplicant/文件夹下,并重命名,格式为:

wpa_supplicant-网卡名.conf

例如我的就是:

wpa_supplicant-wlp5s0.conf
通过修改原始配置文件

man wpa_supplicant.conf 知道原始配置文件在

/usr/share/doc/wpa_supplicant/wpa_supplicant.conf
通过wpa_passphrase生成配置文件
# wpa_passphrase MyNetwork SuperSecretPassphrase > /etc/wpa_supplicant/wpa_supplicant-wlp5s0.conf
通过下面的格式

priority 越大优先级越高

country=CN
update_config=1
network={
	ssid="SSID"
	psk="Passwd"
	key_mgmt=WPA-PSK
	priority=9
	id_str="identify which wifi is"
}

network={
	ssid="SSID"
	psk="Passwd"
	key_mgmt=WPA-PSK
	priority=8
	id_str="identify which wifi is"
}
1.3 用systemctl启动wpa_supplicant服务
systemctl enable wpa_supplicant@wlp5s0

注意arch bbs 原回答多写了.conf,后面也有跟帖指出了这个问题。

2. systemd-networkd

2.1 配置systemd-network的配置文件

创建/etc/systemd/network/00-wireless-dhcp.network,archbbs中说这个名字随意。

[Match]
Name=wlp5s0

[Network]
DHCP=yes
2.2 用systemctl设置启动服务systemd-networkd.service
systemctl enable systemd-networkd.service

回顾

1.3systemctl enable wpa_supplicant@wlp5s0中,我们看到:

Created symlink /etc/systemd/system/multi-user.target.wants/wpa_supplicant@wlp5s0.service → /usr/lib/systemd/system/wpa_supplicant@.service.

查看/usr/lib/systemd/system/wpa_supplicant@.service,其中有一行:

ExecStart=/usr/bin/wpa_supplicant -c/etc/wpa_supplicant/wpa_supplicant-%I.conf -i%I

这里的%I 就是systemctl enable wpa_supplicant@wlp5s0中的wlp5s0,它通过%I来传递设备名,所以我们也就知道之前为什么要把配置文件这样命名了

/etc/wpa_supplicant/wpa_supplicant-网卡名.conf
  • 3
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1. 安装无线网络驱动程序:首先,您需要安装适用于您的无线网络适配器的驱动程序。您可以使用以下命令来查找您的无线网络适配器: ``` lspci | grep -i network ``` 然后,您可以使用以下命令来安装适当的驱动程序: ``` pacman -S <driver-package-name> ``` 2. 安装无线网络管理器:接下来,您需要安装无线网络管理器。Arch Linux 提供了多个无线网络管理器,您可以根据自己的需要选择一个。以下是一些常用的无线网络管理器: - NetworkManager - wicd - netctl 您可以使用以下命令来安装 NetworkManager: ``` pacman -S networkmanager ``` 3. 启用 NetworkManager 服务:使用以下命令启用 NetworkManager 服务: ``` systemctl enable NetworkManager ``` 4. 启动 NetworkManager 服务:使用以下命令启动 NetworkManager 服务: ``` systemctl start NetworkManager ``` 5. 连接 WiFi:使用以下命令连接 WiFi: ``` nmcli device wifi connect <SSID> password <password> ``` 其中,<SSID> 是您要连接WiFi 的名称,<password> 是 WiFi 的密码。 6. 自动连接 WiFi:如果您希望系统在启动时自动连接 WiFi,您可以使用以下命令将 WiFi 添加到 NetworkManager 的配置文件中: ``` nmcli connection add type wifi con-name <connection-name> ifname <interface-name> ssid <SSID> password <password> ``` 其中,<connection-name> 是连接的名称,<interface-name> 是无线网络适配器的接口名称,<SSID> 是 WiFi 的名称,<password> 是 WiFi 的密码。 然后,您可以使用以下命令将连接设置为自动连接: ``` nmcli connection modify <connection-name> connection.autoconnect yes ``` 注意:如果您使用的是 wicd 或 netctl 等其他无线网络管理器,请参考它们的文档来连接 WiFi

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值