Хорошо, так что получается, что переключение окон очень просто.
#!/usr/bin/env python # This code will focus the window with integer id 67108870 # Tips: you can get that with xwininfo -int # wnck is used for window management import wnck # time is needed because wnck requires it import time # Get information about windows, workspaces, etc from the X server wnck.screen_get_default() # Get a reference to the window we want to focus # by providing an integer xid the_win = wnck.window_get(67108870) # activate the window, providing an int timestamp the_win.activate(int(time.time())Я улучшу этот ответ, когда узнаю.
У меня возникли проблемы с использованием функции wpa_supplicant
, чтобы попасть в беспроводную сеть. Мой идентификатор сети и пароль сгенерировали ошибки, когда я использовал файл wpa_supplicant.conf
в командной строке wpa_supplicant
, например
sudo wpa_supplicant -iwlan0 -c/etc/wpa_supplicant.conf -B
Мне удалось обойти его с помощью wpa_cli
. Командная последовательность, которую я должен был использовать, поскольку я использую драйвер Windows с Linux ndiswrapper, это:
sudo modprobe ndiswrapper
sudo iwconfig wlan0 essid "<My Network ID>" mode managed
sudo wpa_cli identity "<My Network ID>" password "<My password>"
У меня была настроена сеть, добавив ее в раздел беспроводной сети в графическом интерфейсе, чтобы я мог щелкнуть значок проводной или беспроводной сети и выбрать поставщика беспроводной связи (который иногда необходим для завершения входа в систему).
Все ответы, предлагающие wpa_supplicant, неверны. Да, он может подключить вас к сети WPA, но это плохое решение в долгосрочной перспективе, потому что будет очень сложно поддерживать и не будет хорошо играть с проводным подключением. Прочитайте этот ответ и упростите свою жизнь, используя Network Manager из командной строки. Я потратил несколько часов, пытаясь настроить wpa_supplicant, а затем попробовал nmcli, и он «просто сработал».
nmcli
- это версия командной строки приложения сетевого администратора по умолчанию для Ubuntu.
Некоторые из преимуществ заключаются в том, что он использует конфигурацию, которая у вас уже имеется на графическом интерфейсе, и она не нуждается в корневом доступе.
Вы можете запустить nmcli
, чтобы отобразить доступные параметры.
Пример подключения к wifi с именем MYESSID:
nmcli c up MYESSID
Вы можете использовать VSWM - Very Simple Wireless Manager. Вы помещаете свои известные точки доступа в простой файл cfg (/etc/vswm.cfg), и когда вы запускаете vswm
, он просматривает доступные сети и подключает вашу карту с первой, которая появляется на /etc/vswm.cfg.
VSWM доступен в https://github.com/dmelo/vswm . Вот как выглядит файл конфигурации vswm.cfg:
[global]
dev = wlan0
dns = ["4.2.2.1","8.8.8.8"]
[wlan0-0]
ssid = Network1
psk = netpassword
protocol = WPA
net = dhcp
[wlan0-1]
ssid = Network2
protocol = WEP
net = static
address = 192.168.0.15/24
Под капотами используются стандартные инструменты командной строки: iwlist, wpa_supplicant, iwconfig, dhclient ... Только он автоматизирует задание.
Сначала запустите карту, если она не работает:
ifconfig wlan0 up
Задайте параметры в соответствии с вашей сетью
iwlist wlan0 scan
iwconfig wlan0 essid NETWORK_ID key WIRELESS_KEY
На самом деле есть способ сделать это с помощью NetworkManager, если у вас установлен пакет checkbox
.
sudo /usr/share/checkbox/create_connection SSID --security=wpa -key=WPA-KEY
(Кредит: ошибка 923836 , которая появилась в мои поиски по теме.)
У меня возникли проблемы с использованием функции wpa_supplicant
, чтобы попасть в беспроводную сеть. Мой идентификатор сети и пароль сгенерировали ошибки, когда я использовал файл wpa_supplicant.conf
в командной строке wpa_supplicant
, например
sudo wpa_supplicant -iwlan0 -c/etc/wpa_supplicant.conf -B
Мне удалось обойти его с помощью wpa_cli
. Командная последовательность, которую я должен был использовать, поскольку я использую драйвер Windows с Linux ndiswrapper, это:
sudo modprobe ndiswrapper
sudo iwconfig wlan0 essid "<My Network ID>" mode managed
sudo wpa_cli identity "<My Network ID>" password "<My password>"
У меня была настроена сеть, добавив ее в раздел беспроводной сети в графическом интерфейсе, чтобы я мог щелкнуть значок проводной или беспроводной сети и выбрать поставщика беспроводной связи (который иногда необходим для завершения входа в систему).
Все ответы, предлагающие wpa_supplicant, неверны. Да, он может подключить вас к сети WPA, но это плохое решение в долгосрочной перспективе, потому что будет очень сложно поддерживать и не будет хорошо играть с проводным подключением. Прочитайте этот ответ и упростите свою жизнь, используя Network Manager из командной строки. Я потратил несколько часов, пытаясь настроить wpa_supplicant, а затем попробовал nmcli, и он «просто сработал».
nmcli
- это версия командной строки приложения сетевого администратора по умолчанию для Ubuntu.
Некоторые из преимуществ заключаются в том, что он использует конфигурацию, которая у вас уже имеется на графическом интерфейсе, и она не нуждается в корневом доступе.
Вы можете запустить nmcli
, чтобы отобразить доступные параметры.
Пример подключения к wifi с именем MYESSID:
nmcli c up MYESSID
Вы можете использовать VSWM - Very Simple Wireless Manager. Вы помещаете свои известные точки доступа в простой файл cfg (/etc/vswm.cfg), и когда вы запускаете vswm
, он просматривает доступные сети и подключает вашу карту с первой, которая появляется на /etc/vswm.cfg.
VSWM доступен в https://github.com/dmelo/vswm . Вот как выглядит файл конфигурации vswm.cfg:
[global]
dev = wlan0
dns = ["4.2.2.1","8.8.8.8"]
[wlan0-0]
ssid = Network1
psk = netpassword
protocol = WPA
net = dhcp
[wlan0-1]
ssid = Network2
protocol = WEP
net = static
address = 192.168.0.15/24
Под капотами используются стандартные инструменты командной строки: iwlist, wpa_supplicant, iwconfig, dhclient ... Только он автоматизирует задание.
Эта ссылка показывает все это и отлично работает для меня: http://linux.icydog.net/wpa.php
Я копирую содержимое здесь, поэтому мы имеем это, в случае, если сайт отключен.
Командная строка WPA
Иногда вы будете в командной строке без доступа к сетевым инструментам GUI, но ваша точка доступа защищен WPA. Что вы делаете?
Предполагая, что ваша беспроводная карта действительно работает (то есть iwconfig может ее видеть и взаимодействовать с ней), использование wpa_supplicant на самом деле довольно просто. Установка wpa_supplicant
У большинства дистрибутивов в настоящее время wpa_supplicant установлен по умолчанию. Если у вас есть команды wpa_passphrase и wpa_supplicant, тогда вам хорошо идти. В противном случае вам нужно будет установить пакет, выполнив что-то вроде (для Ubuntu):
$ sudo apt-get install wpasupplicant
Или (для Fedora):
# yum install wpa_supplicant
Или независимо от того, какая команда предназначена для ваш дистрибутив.
Создание конфигурационного файла
Теперь, когда установлен wpa_supplicant, мы создадим его файл конфигурации. После того, как вы знаете кодовую фразу SSID и WPA, все, что вам нужно сделать, это запустить:
$ wpa_passphrase myrouter mypassphrase > wpa.conf
Конечно, замените «myrouter» на SSID вашего маршрутизатора, «mypassphrase» вашей кодовой фразой WPA и «wpa.conf» с любым файлом, в который вы хотите сохранить конфигурацию. Это имя файла не обязательно должно следовать определенному формату или иметь конкретное расширение.
В качестве альтернативы, чтобы избежать ввода ключевой фразы в командной строке (поэтому он не сохраняется в истории оболочки), вы можете указать только SSID в командной строке. wpa_passphrase будет ждать ввода парольной фразы, а затем введите:
$ wpa_passphrase myrouter > wpa.conf
mypassphrase
Вы должны получить файл, выглядящий так:
network={
ssid="myrouter"
#psk="mypassphrase"
psk=8ada1f8dbea59704ac379538b4d9191f6a72390581b4cd7a72864cea685b1a7f
}
Подключение
Теперь мы будем запускать wpa_supplicant для подключения к беспроводной сети. Во-первых, если ваш маршрутизатор передает свой SSID (все они делают по умолчанию), вы, вероятно, захотите убедиться, что ваша беспроводная карта действительно может его увидеть:
$ iwlist scan
Возможно, вам придется запускать это как root, чтобы заставить обновить.
Затем вам нужно знать три информации:
Теперь, когда у вас есть эти данные, запустите (как root):
# wpa_supplicant -D[driver] -i[device] -c[/path/to/config]
Между опциями и параметрами нет пробелов. Не включайте скобки, поскольку я просто добавил их для ясности. Например, для моего ноутбука это выглядит так:
# wpa_supplicant -Dwext -ieth1 -c/root/wpa.conf
Вы также можете запустить его в фоновом режиме с помощью опции -B, чтобы она не занимала вашу консоль.
Теперь вы связаны с сетью.
Получение онлайн
Чтобы на самом деле выйти в интернет, вам нужно каким-то образом получить IP-адрес. Большинство людей просто захотят получить динамический IP-адрес с DHCP-сервера, возможно, встроенного в маршрутизатор. (Я не собираюсь описывать статическую IP-таблицу и таблицу маршрутизации, потому что это зверь сам по себе.)
Чтобы получить аренду DHCP, сначала отпустите все арендные договоры, которые вы все еще удерживаете (от имени root) :
# dhclient -r
Затем попросите новую аренду (конечно, заменив eth1 на имя вашего сетевого устройства, то же самое, что вы использовали в предыдущем разделе):
# dhclient eth1
У вас теперь есть IP, теоретически, по крайней мере. Счастливый серфинг!
Сначала запустите карту, если она не работает:
ifconfig wlan0 up
Задайте параметры в соответствии с вашей сетью
iwlist wlan0 scan
iwconfig wlan0 essid NETWORK_ID key WIRELESS_KEY
На самом деле есть способ сделать это с помощью NetworkManager, если у вас установлен пакет checkbox
.
sudo /usr/share/checkbox/create_connection SSID --security=wpa -key=WPA-KEY
(Кредит: ошибка 923836 , которая появилась в мои поиски по теме.)
На самом деле есть способ сделать это с помощью NetworkManager, если у вас установлен пакет checkbox
.
sudo /usr/share/checkbox/create_connection SSID --security=wpa -key=WPA-KEY
(Кредит: ошибка 923836 , которая появилась в мои поиски по теме.)
У меня возникли проблемы с использованием функции wpa_supplicant
, чтобы попасть в беспроводную сеть. Мой идентификатор сети и пароль сгенерировали ошибки, когда я использовал файл wpa_supplicant.conf
в командной строке wpa_supplicant
, например
sudo wpa_supplicant -iwlan0 -c/etc/wpa_supplicant.conf -B
Мне удалось обойти его с помощью wpa_cli
. Командная последовательность, которую я должен был использовать, поскольку я использую драйвер Windows с Linux ndiswrapper, это:
sudo modprobe ndiswrapper
sudo iwconfig wlan0 essid "<My Network ID>" mode managed
sudo wpa_cli identity "<My Network ID>" password "<My password>"
У меня была настроена сеть, добавив ее в раздел беспроводной сети в графическом интерфейсе, чтобы я мог щелкнуть значок проводной или беспроводной сети и выбрать поставщика беспроводной связи (который иногда необходим для завершения входа в систему).
Все ответы, предлагающие wpa_supplicant, неверны. Да, он может подключить вас к сети WPA, но это плохое решение в долгосрочной перспективе, потому что будет очень сложно поддерживать и не будет хорошо играть с проводным подключением. Прочитайте этот ответ и упростите свою жизнь, используя Network Manager из командной строки. Я потратил несколько часов, пытаясь настроить wpa_supplicant, а затем попробовал nmcli, и он «просто сработал».
nmcli
- это версия командной строки приложения сетевого администратора по умолчанию для Ubuntu.
Некоторые из преимуществ заключаются в том, что он использует конфигурацию, которая у вас уже имеется на графическом интерфейсе, и она не нуждается в корневом доступе.
Вы можете запустить nmcli
, чтобы отобразить доступные параметры.
Пример подключения к wifi с именем MYESSID:
nmcli c up MYESSID
Вы можете использовать VSWM - Very Simple Wireless Manager. Вы помещаете свои известные точки доступа в простой файл cfg (/etc/vswm.cfg), и когда вы запускаете vswm
, он просматривает доступные сети и подключает вашу карту с первой, которая появляется на /etc/vswm.cfg.
VSWM доступен в https://github.com/dmelo/vswm . Вот как выглядит файл конфигурации vswm.cfg:
[global]
dev = wlan0
dns = ["4.2.2.1","8.8.8.8"]
[wlan0-0]
ssid = Network1
psk = netpassword
protocol = WPA
net = dhcp
[wlan0-1]
ssid = Network2
protocol = WEP
net = static
address = 192.168.0.15/24
Под капотами используются стандартные инструменты командной строки: iwlist, wpa_supplicant, iwconfig, dhclient ... Только он автоматизирует задание.
Эта ссылка показывает все это и отлично работает для меня: http://linux.icydog.net/wpa.php
Я копирую содержимое здесь, поэтому мы имеем это, в случае, если сайт отключен.
Командная строка WPA
Иногда вы будете в командной строке без доступа к сетевым инструментам GUI, но ваша точка доступа защищен WPA. Что вы делаете?
Предполагая, что ваша беспроводная карта действительно работает (то есть iwconfig может ее видеть и взаимодействовать с ней), использование wpa_supplicant на самом деле довольно просто. Установка wpa_supplicant
У большинства дистрибутивов в настоящее время wpa_supplicant установлен по умолчанию. Если у вас есть команды wpa_passphrase и wpa_supplicant, тогда вам хорошо идти. В противном случае вам нужно будет установить пакет, выполнив что-то вроде (для Ubuntu):
$ sudo apt-get install wpasupplicant
Или (для Fedora):
# yum install wpa_supplicant
Или независимо от того, какая команда предназначена для ваш дистрибутив.
Создание конфигурационного файла
Теперь, когда установлен wpa_supplicant, мы создадим его файл конфигурации. После того, как вы знаете кодовую фразу SSID и WPA, все, что вам нужно сделать, это запустить:
$ wpa_passphrase myrouter mypassphrase > wpa.conf
Конечно, замените «myrouter» на SSID вашего маршрутизатора, «mypassphrase» вашей кодовой фразой WPA и «wpa.conf» с любым файлом, в который вы хотите сохранить конфигурацию. Это имя файла не обязательно должно следовать определенному формату или иметь конкретное расширение.
В качестве альтернативы, чтобы избежать ввода ключевой фразы в командной строке (поэтому он не сохраняется в истории оболочки), вы можете указать только SSID в командной строке. wpa_passphrase будет ждать ввода парольной фразы, а затем введите:
$ wpa_passphrase myrouter > wpa.conf
mypassphrase
Вы должны получить файл, выглядящий так:
network={
ssid="myrouter"
#psk="mypassphrase"
psk=8ada1f8dbea59704ac379538b4d9191f6a72390581b4cd7a72864cea685b1a7f
}
Подключение
Теперь мы будем запускать wpa_supplicant для подключения к беспроводной сети. Во-первых, если ваш маршрутизатор передает свой SSID (все они делают по умолчанию), вы, вероятно, захотите убедиться, что ваша беспроводная карта действительно может его увидеть:
$ iwlist scan
Возможно, вам придется запускать это как root, чтобы заставить обновить.
Затем вам нужно знать три информации:
Теперь, когда у вас есть эти данные, запустите (как root):
# wpa_supplicant -D[driver] -i[device] -c[/path/to/config]
Между опциями и параметрами нет пробелов. Не включайте скобки, поскольку я просто добавил их для ясности. Например, для моего ноутбука это выглядит так:
# wpa_supplicant -Dwext -ieth1 -c/root/wpa.conf
Вы также можете запустить его в фоновом режиме с помощью опции -B, чтобы она не занимала вашу консоль.
Теперь вы связаны с сетью.
Получение онлайн
Чтобы на самом деле выйти в интернет, вам нужно каким-то образом получить IP-адрес. Большинство людей просто захотят получить динамический IP-адрес с DHCP-сервера, возможно, встроенного в маршрутизатор. (Я не собираюсь описывать статическую IP-таблицу и таблицу маршрутизации, потому что это зверь сам по себе.)
Чтобы получить аренду DHCP, сначала отпустите все арендные договоры, которые вы все еще удерживаете (от имени root) :
# dhclient -r
Затем попросите новую аренду (конечно, заменив eth1 на имя вашего сетевого устройства, то же самое, что вы использовали в предыдущем разделе):
# dhclient eth1
У вас теперь есть IP, теоретически, по крайней мере. Счастливый серфинг!
Сначала запустите карту, если она не работает:
ifconfig wlan0 up
Задайте параметры в соответствии с вашей сетью
iwlist wlan0 scan
iwconfig wlan0 essid NETWORK_ID key WIRELESS_KEY
Debian и другие дистрибутивы wpa_suplicant работают как служба по умолчанию, чтобы управлять сетями Wi-Fi. wpa_suplicant может обрабатываться разными клиентами / интерфейсами, такими как GUI сетевого менеджера. Это лучше объясняется в этой debian wiki .
wpa_cli - это командная строка wpa_suplicant client для управления сетями wifi.
Изменить: я только что нашел это post объясняя , как использовать nmcli , и он намного лучше, чем wpa_cli, поскольку он совместим с GUI Network Manager и их настройками и сохраненными Wi-Fi-сетями.
Пример использования wpa_cli:
Убедитесь, что у меня уже есть сетевой интерфейс с поддержкой Wi-Fi:
# iwconfig
wlan0 IEEE 802.11bgn ESSID:off/any
Mode:Managed Access Point: Not-Associated Tx-Power=22 dBm
Retry short limit:7 RTS thr:off Fragment thr:off
Encryption key:off
Power Management:on
Проверьте, запущен ли процесс wpa_suplicant:
# ps -e | grep wpa
1881 ? 00:00:07 wpa_supplicant
Вход в интерактивный режим клиента wpa:
# wpa_client
Список доступных точек доступа:
> scan
> scan_results
... и вы получите что-то вроде этого:
bssid / frequency / signal level / flags / ssid
e0:60:66:7c:81:7f 2417 -66 [WPA2-PSK-CCMP][ESS] vodafone817E
e0:60:66:61:83:4b 2452 -76 [WPA2-PSK-CCMP][WPS][ESS] vodafone834A
f8:8e:85:c5:65:c2 2462 -76 [WPA-PSK-CCMP+TKIP][WPS][ESS] MOVISTAR_65C1
a8:d3:f7:46:0c:be 2472 -83 [WPA-PSK-CCMP+TKIP][WPA2-PSK-CCMP+TKIP][WPS][ESS] Orange-0CBC
...
Добавьте свой AP:
> add_network
> set_network 0 ssid "vodafone817E"
> set_network 0 psk "my-pass-phrase"
Выберите его как текущий:
> enable_network 0
Подключитесь к нему:
> reconnect
Проверить статус:
> status
Выход wpa_cli:
> quit
Из оболочки запросите DHCP для настроек IP и сети:
# dhclient -r
# dhclient wlan0