Как стать автором
Обновить

Linux — WiFi Starting Script

Время на прочтение2 мин
Количество просмотров7.2K
Недавно колом стала задача сделать автоматическое подключение вафли к точке доступа. Алгоритм шифрования WPA. Недолго думая сел гуглить минимум инфы для написания башскрипта. А теперь по порядку.

Запуск вафли


Как всем хорошо известно, подключение к сети с шифрованием пароля WPA в линуксе происходит посредством программы wpa_supplicant. Она использует конфиг, который генерируется программой wpa_passphrase и подключает комп к сети, объявленной в этом конфиге. Итак, задачи, которые должен выполнять скрипт:
  • Подключаться к сети
  • Проверять наличие конфига
  • Проверять, подключена ли уже вафля


Сам скрипт


Сразу прошу сильно не ругать за возможную кривизну конструкции, в баше я новичок:
StartWiFi
#!/bin/bash

CONFIG=/usr/share/wifi_config

if ps ax | grep -v grep | grep wpa_supplicant > /dev/null
then
	echo -e "
\E[1;32m*********************************************************************************
*										*
*				WiFi already started				*
*										*
*********************************************************************************\E[0m
		";
else
	if [ -e $CONFIG ]
	then
		echo -e "
\E[1;33m*********************************************************************************
*										*
*				   WiFi starting...				*
*										*
*********************************************************************************\E[0m
			"
		wpa_supplicant -Dwext -iwlan0 -c$CONFIG & > /dev/null
		sleep 3
		dhcpcd wlan0 >> /dev/null
		echo -e "
\E[1;32m*********************************************************************************
*										*
*				WiFi starting success!				*
*										*
*********************************************************************************\E[0m
			";
	else
		echo -e "
\E[1;31m*********************************************************************************
*				Config file not exist, use:			*
*    	\E[01;32mwpa_passphrase SSID LOGIN PASSWORD >> /usr/share/wifi_config\E[1;31m		*
*				and start this script again.			*
*********************************************************************************\E[0m
			";
	fi
fi

Я использовал цветовые эскейп-последовательности для улучшения читабельности выводимого текста.
Сделаем скрипт исполняемым при помощи
chmod +x /wifi

и слинкуем его для возможности запускать его без указания папки
ln -s /wifi /usr/bin/startwifi

Итак, скрипт готов, пора прописать его в автозапуск.

Автозапуск


Для автозапуска я использовал файл /etc/rc.local, в который просто нужно добавить
startwifi

И начиная с этого момента вафля будет автоматически запускаться при старте системы (конечно же скрипт можно запускать и ручками)

На этом все, благодарю за проявленное внимание, с радостью прийму всю критику и исправления =)
Теги:
Хабы:
Всего голосов 24: ↑8 и ↓16-8
Комментарии19

Публикации

Ближайшие события