![命令行中用于连接 wifi 的所有命令](https://linux22.com/image/42708/%E5%91%BD%E4%BB%A4%E8%A1%8C%E4%B8%AD%E7%94%A8%E4%BA%8E%E8%BF%9E%E6%8E%A5%20wifi%20%E7%9A%84%E6%89%80%E6%9C%89%E5%91%BD%E4%BB%A4.png)
我想从 gnome 切换到 Awesome,并且我想在命令行中连接我的 wifi 网络(而不是使用 gnome 工具)。
于是,我在网上搜索了一下,发现了大致相同的方法:
ifconfig wlan0 up
iwconfig wlan0 essid "MyNetwork" key THEHEXAKEY
dhclient wlan0
当我单独运行 Awesome 并执行这些命令时,我陷入了第三个。看起来 DHCP 无法解析(命令继续无休止地运行)。
但是当我在 Xephyr 中运行 Awesome 并执行相同的命令时,dhclient wlan0
效果很好。
所以我想 Gnome 做了一些我没有做但我找不到的事情。
有人可以帮助我吗?
答案1
我建议使用wpa_请求者用于所有连接和 AP 关联过程。虽然名称暗示使用 WPA,但它实际上是配置任何类型无线连接的通用工具。
这是连接到无线网络的完整过程,使用wpa_supplicant
(我假设wlan0
是您的无线设备的名称):
启动设备:
ifconfig wlan0 up
。列出无线网络
iwlist wlan0 scan | less
并找到您要连接的网络。用于
wpa_supplicant
关联和连接网络。a) 创建 的配置文件
wpa_supplicant
,其中包含有关网络的加密信息。请参阅man wpa_supplicant.conf
示例。首先尝试使用最简单的条目。b) 运行
wpa_supplicant -Dwext -iwlan0 -c/etc/wpa_supplicant.conf
(以 root 身份运行;假设/etc/wpa_supplicant.conf
是配置文件的名称)。如果它有效,请在后台运行它并将输出重定向到某处(我只是将其转储到/dev/null
。)使用
dhclient wlan0
或者dhcpcd wlan0
来获取IP。利润!
答案2
看来您可能没有设置频道和“模式”。我使用一个简单的脚本来执行这些 shell 命令:
ifconfig wlan0 down
iwconfig wlan0 mode managed
ifconfig wlan0 up
iwconfig wlan0 channel 3
iwconfig wlan0 key xxxxxxxxxx
iwconfig wlan0 key restricted
iwconfig wlan0 essid "Blah Blah Foo Bar"
iwconfig wlan0 ap xx:yy:zz:aa:bb:cc
sleep 5
dhcpcd -d wlan0
您必须输入密钥和接入点 MAC 地址。这是在 Slackware 13.1 下,我使用的是运行 DD-WRT 的 WRT54GL。令我羞愧的是,我使用的是 WEP 加密。我必须做一些实验,了解何时使用“ifconfig”、何时使用“iwconfig”以及以什么顺序设置 ESSID 和 AP。
答案3
请告诉我们您的路由器使用哪种加密方式?
你也可以尝试世界文化中心,它是一个很棒的连接工具,可以与 ncurses 接口或 gtk(不是 gnome)前端一起使用。您只需运行一次,建立连接,告诉 wicd 记住它并将 wicd 守护进程添加到启动脚本中。之后,您可以忘记您的连接,并且几个月内不再运行前端 - 它就会正常工作。我将它与不同的发行版和不同的桌面环境(或独立的 WM)一起使用,我对此非常满意。
答案4
为了获得更好的线索,在运行之前dhclient
,iwconfig
不要带参数运行。这将显示当前的无线状态,显示您是否与接入点正确关联。
如果您发现 Xephyr 产生了影响,请查看是否iwconfig
揭示了这种差异。如果仍然卡住,请发布你的 iwconfig 结果,它应该看起来像http://en.wikipedia.org/wiki/Wireless_tools_for_Linux#iwconfig