在 Linux 里有很多程序来设置无线连接,我们可以用 ip 和 iw 来配置因特网连接,但是对于新手来说有点复杂。所以我们会使用 netctl 命令,这是一个基于命令行的工具,用来通过配置文件来设置和管理网络连接。
运行下面的命令来查看你的网络接口:
iwconfig
运行如下命令启用你的网络接口,如果没有启用的话:
ip link set interface up
运行下面的命令搜索可用的 WiFi 网络。可以向下翻页来查看。
iwlist interface scan | less
扫描完,如果不使用该接口可以运行如下命令关闭:
ip link set interface down
在使用 netctl 设置连接之前,你必须先检查一下你的网卡在 Linux 下的兼容性。
运行命令:
lspci -k
这条命令是用来检查内核是否加载了你的无线网卡驱动。输出必须是像这样的:
如果内核没有加载驱动,你就必须使用有线连接来安装一下。这里是 Linux 无线网络的官方维基页面:https://wireless.wiki.kernel.org/。
如果你的无线网卡和 Linux 兼容,你可以使用 netctl configuration。
netctl 使用配置文件,这是一个包含连接信息的文件。创建这个文件有简单和困难两种方式。
如果你想用 wifi-menu,必须安装 dialog。
运行命令: wifi-menu
选择你的网络
输入正确的密码并等待
如果没有连接失败的信息,你可以用下面的命令确认下:
ping -c 3 www.google.com
哇!如果你看到正在 ping,意味着网络设置成功。你现在已经在 Arch Linux 下连上 WiFi 了。如果有任何问题,可以倒回去重来。也许漏了什么。
比起上面的 wifi-menu 命令,这种方式会难一点点,所以我叫做困难方式。在上面的命令里,网络配置会自动生成。而在困难方式里,我们将手动修改配置文件。不过不要担心,也没那么难。那我们开始吧!
首先第一件事,你必须要知道网络接口的名字,通常会是 wlan0 或 wlp2s0,但是也有很多例外。要确认你自己的网络接口,输入 iwconfig 命令并记下来。
运行命令:
cd /etc/netctl/examples
在这个目录里,有很多不同的配置文件例子。
拷贝将用到的配置文件例子到 /etc/netctl/your_profile
cp /etc/netctl/examples/wireless-wpa /etc/netctl/your_profile
你可以用这个命令来查看配置文件内容: cat /etc/netctl/your_profile
用 vi 或者 nano 编辑你的配置文件的下面几个部分:
nano /etc/netctl/your_profile
- `Interface`:比如说 `wlan0` - `ESSID`:你的无线网络名字 - `key`:你的无线网络密码
注意:
如果你不知道怎么用 nano,打开文件后,编辑要修改的地方,完了按 ctrl+o,然后回车,然后按 ctrl+x。
运行命令:
cd /etc/netctl ls
你一定会看到 wifi-menu 生成的配置文件,比如 wlan0-SSID;或者你选择了困难方式,你一定会看到你自己创建的配置文件。
运行命令启动连接配置:netctl start your_profile。
用下面的命令测试连接:
ping -c 3 www.google.com
输出看上去像这样:
最后,你必须运行下面的命令:netctl enable your_profile。
netctl enable your_profile
这样将创建并激活一个 systemd 服务,然后开机时自动启动。然后欢呼吧!你在你的 Arch Linux 里配置好 wifi 网络啦。
你还可以使用其他程序来设置无线连接:
iw:
iw dev wlan0 link – 状态
iw dev wlan0 scan – 搜索网络
iw dev wlan0 connect your_essid – 连接到开放网络
iw dev wlan0 connect your_essid key your_key - 使用 16 进制密钥连接到 WEP 加密的网络
wpa_supplicant
https://wiki.archlinux.org/index.php/WPA_supplicant
Wicd
https://wiki.archlinux.org/index.php/wicd
NetworkManager
https://wiki.archlinux.org/index.php/NetworkManager
在此提供了在 Arch Linux 里接入 WiFI 网络的三种方式。这里有一件事需要再强调一下,当执行第一条命令的时候,请记住网络接口名字。在接下来搜索网络的命令里,请使用网络接口名字比如 wlan0 或 wlp2s0(上一个命令里得到的),而不是用 interface 这个词。