本文来自依云's Blog,转载请注明。
Arch Linux 连接网络可以使用其官方开发的 netctl 系列命令行工具。要想在开机(以及从挂起/休眠状态唤醒)时自动连接到可用的无线网络,以下是设置步骤。
首先,你得告诉 Arch Linux 你知道哪些无线热点。Arch Linux 不会自动帮你破解别人的 Wi-Fi 密码的。就算 Wi-Fi 热点没有加密,你不说 Arch Linux 怎么知道它应当连接到那个热点呢,也许那是个钓鱼用的热点也说不定哦。
cd 到 /etc/netctl 目录下,可以看到 examples 目录下有一堆示例配置。复制你所需要的配置文件到上一层目录(/etc/netctl)。比如绝大多数 Wi-Fi 热点使用的是 WPA 加密,那就复制 examples/wireless-wpa 文件。目标文件名比较随意,起个方便自己的名字就行,比如 work、home 之类的。复制完成之后记得 chmod 600 禁止非 root 用户访问,因为配置文件里会包含你的 Wi-Fi 热点密码。
然后编辑配置文件,修改 ESSID 和 Key 为你的 Wi-Fi 热点 ID 和密码就可以了。之所以要先更改权限再编辑,是因为某些编辑器(如 Vim)会生成同权限的备份文件;那里有可能也会包含密码。可以放多份配置文件在这里,netctl-auto 默认会去找一个可用的连接。有多个可用的时候不太清楚它会连上哪一个,可以使用更复杂的配置文件来指定优先级(参见 examples/wireless-wpa-configsection 示例配置)。
配置文件写好之后,当然是启动相应的服务啦。Arch Linux 一贯的传统是不启动不必要的服务,除非用户说要启动之。netctl-auto 的 systemd 服务名是 netctl-auto@interface.service(当然 .service 后缀还是可以省略的)。interface 部分写你的无线网络接口的名字,可以通过 ip link
、ifconfig
、iwconfig
等命令看到。我禁用了 systemd 的可预测网络接口名称,所以我的无线网络接口名唤 wlan0。我使用如下命令启动服务:
$ sudo systemctl start netctl-auto@wlan0.service
如果一切顺利的话一小会儿之后就应该连上网了:
$ systemctl status netctl-auto@wlan0.service ● netctl-auto@wlan0.service - Automatic wireless network connection using netctl profiles Loaded: loaded (/usr/lib/systemd/system/netctl-auto@.service; enabled) Active: active (running) since 二 2014-09-02 20:23:31 CST; 2h 45min ago Docs: man:netctl.special(7) Process: 340 ExecStart=/usr/bin/netctl-auto start %I (code=exited, status=0/SUCCESS) CGroup: /system.slice/system-netctl\x2dauto.slice/netctl-auto@wlan0.service ├─402 wpa_supplicant -B -P /run/wpa_supplicant_wlan0.pid -i wlan0 -D nl80211,wext -c/run/network/wpa_supplicant_wlan0.conf -W ├─404 wpa_actiond -p /run/wpa_supplicant -i wlan0 -P /run/network/wpa_actiond_wlan0.pid -a /usr/lib/network/auto.action └─501 dhcpcd -4 -q -t 30 -K -L wlan0 ...
或者通过 netctl-auto list 命令也可以看到连接上了哪个配置文件里指定的热点。
如果满意的话,就让它开机自启动啦:
$ sudo systemctl enable netctl-auto@wlan0.service
参考资料:ArchWiki 上的 netctl 条目。
Sep 03, 2014 01:38:12 AM
顺便大部分情况下wifi-menu创建出的配置文件就够用了,不必手动编辑。
Sep 03, 2014 08:48:35 AM
WPA的企业级别的无线网可能没有那么好配置
Sep 03, 2014 01:41:12 PM
参考浆糊是啥
Sep 03, 2014 02:50:04 PM
错别字…………
Sep 03, 2014 02:50:33 PM
都行,反正要有配置文件。
Sep 04, 2014 11:32:44 AM
唉,你这博客怎么天天都是说xx工具如何使用,想看代码xx,跟xx分析。
Sep 04, 2014 11:46:58 AM
因为我接触到的代码通常没什么难度啊,最多存在一些设计问题罢了,那个交给大牛们好了。我又不搞算法又没机会做调优。
很多东西在于你得知道它的存在。代码就在那里,你想看就看呗。
Sep 04, 2014 11:48:43 AM
来点好玩的代码啊。
Sep 04, 2014 11:49:41 AM
需要思路啊,分析,啊。而不是简单的罗列跟叠加啊。
Sep 04, 2014 01:25:56 PM
最近没心情和时间玩儿了。
Sep 04, 2014 01:26:41 PM
除去非常直接的那种,我没写思路么?
Sep 04, 2014 01:28:23 PM
看不出来,或许你觉得,这就是思路。
Sep 04, 2014 01:40:30 PM
除了你正在评论的这种教程或者文档性质的文章,以及若干评论文章,其它的不都有明确的思路么……
Mar 17, 2020 09:33:05 PM
依云姐姐好