Написал скрипт с использованием Zenity, который позволяет легко активировать и дезактивировать точку доступа на основе Hostapd. Может, кому-нибудь поможет.

Тело скрипта:
#!/bin/sh
###################################
# Автор Кровавый
# https://forum.ubuntu.ru/index.php?action=profile;u=58102
# Активация и дезактивация точки доступа WiFi на основе Hostapd
###################################
# получаем состояние интерфеса wlan0
INTERFACE=`ifconfig wlan0 | grep "RUNNING"`;
# IP для нашей сети:
IP_NETWORK="192.168.0.1";
# маска подсети
MASK_NETWORK="255.255.255.0";
#error
error_messeger="";
# функция вывода ошибок
error_print() {
zenity --error \
--text="$error_messeger"
exit 0;
}
# функция выключения интерфейса
interface_down() {
/etc/init.d/hostapd stop
/etc/init.d/isc-dhcp-server stop
echo 0 > /proc/sys/net/ipv4/ip_forward
WiFi_Down=`ifconfig wlan0 down`;
if [ -z "$WiFi_Down" ]; then
zenity --info \
--text="Точка доступа WiFi дезактивирована."
else
echo $WiFi_Down;
error_messeger="Не удалось дезактивировать точку доступа WiFi."; error_print;
fi
}
abord() {
/etc/init.d/hostapd stop
/etc/init.d/isc-dhcp-server stop
echo 0 > /proc/sys/net/ipv4/ip_forward
ifconfig wlan0 down
}
# функция активации точки доступа WiFi
wifi_up() {
(
###################################
echo "# Инициализация..."; echo 0; sleep 1;
###################################
###################################
WiFi_Down=`ifconfig wlan0 down`;
if [ -z "$WiFi_Down" ];then echo "# Диактивация интерфейса"; echo 10; sleep 1; abord; else abord; error_messeger="Ошибка дезактивации интерфейса. "; error_print; fi
###################################
###################################
WiFi_Set_Param=`ifconfig wlan0 $IP_NETWORK netmask $MASK_NETWORK up`;
if [ -z "$WiFi_Set_Param" ];then echo "# Установка параметров точки доступа"; echo 20; sleep 1; else abord; error_messeger="Ошибка установки параметров точки доступа."; error_print; fi
###################################
###################################
WiFi_Up=`ifconfig wlan0 up`;
if [ -z "$WiFi_Up" ];then echo "# Активация интерфейса"; echo 40; sleep 1; else abord; error_messeger="Ошибка активации интерфейса."; error_print; fi
###################################
###################################
IP_FORWARD_ACTIVE=`echo 1 > /proc/sys/net/ipv4/ip_forward`;
if [ -z "$IP_FORWARD_ACTIVE" ];then echo "# Активация сетевого моста"; echo 50; sleep 1; else abord; error_messeger="Ошибка активации сетевого моста."; error_print; fi
###################################
###################################
IPTABLES_CAL=`iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE`;
if [ -z "$IPTABLES_CAL" ];then echo "# Настройка сетевого моста"; echo 70; sleep 1; else abord; error_messeger="Ошибка настройки сетевого моста."; error_print; fi
###################################
###################################
DHCP_START=`/etc/init.d/isc-dhcp-server start | grep fail`;
if [ -z "$DHCP_START" ];then echo "# Активация сервера распределения IP"; echo 85; sleep 1; else abord; error_messeger="Ошибка активации сервера распределения IP."; error_print; fi
###################################
###################################
HOSTAPD_START=`/etc/init.d/hostapd start | grep fail`;
if [ -z "$HOSTAPD_START" ];then echo "# Активация точки доступа"; echo 95; sleep 1; else abord; error_messeger="Ошибка активации точки доступа."; error_print; fi
###################################
echo "# Точка доступа WiFi успешно активирована." ; sleep 1
echo "100" ; ) |
zenity --progress \
--title="Активация точки доступа WiFi" \
--text="Активация точки доступа WiFi..." \
--percentage=0
if [ "$?" = -1 ] ; then
abord;
zenity --error \
--text="Активация отменена."
fi
}
#############################################################################
# тело скрипта
#echo $INTERFACE;
if [ -z "$INTERFACE" ];then
# Включаем
if zenity --question \
--text="Точка доступа дезактивирована. Активировать её сейчас?"
then
wifi_up;
else exit 0; fi
#echo поднимаем...
else echo
#Выключаем
if zenity --question \
--text="Точка доступа активирована. Дезактивировать её сейчас?"
then interface_down;
else exit 0; fi
#echo опускаем...
fi
###################################
Запускать нужно от имени суперпользователя.
sudo /путь/до/скрипта/имя_скрипта.sh
или
gksudo /путь/до/скрипта/имя_скрипта.sh
Лично я добавил иконку на рабочем столе, вписав второй вариант в код запуска.
Очень удобно, когда используешь компьютер, чтобы раздавать интернет, скажем, на телефон или на другой ноутбук на короткий отрезок времени.
Владельцам точек доступа на постоянной основе бесполезен. (мда... сказанул блин

)
Тестировал на Asus K50ID.
Выглядит это так:
Жду критики, но не сильной, так как писал, во-первых, для себя, во-вторых, в баше не силён.

PS, при перезагрузке считает, что точка доступа поднята, так как видит поднятый интерфейс... Если есть рекомендации, как это обойти, жду предложений.

PSS, за грамматику то же сильно не ругайте, пожалуйста...
