Уже четвертый месяц как я являюсь обладателем прекрасного нет-бука Lenovo S10-3t с встроенным WiMAX. И уже чуть больше месяца как в ядре Linux есть дрова под Intel Corporation WiMAX/WiFi Link 6050 Series. Установить дрова и найти как правильно подключится из консоли тоже не проблема. А так хочется блэкджека и шлюкрасивых рюшечек и простого управления.
Многие наверно видели интерфейс от Yota где можно выбрать что сейчас использовать: WiMAX или Wi-Fi. Просто и удобно. В краях Linux на эту тему произведений мало. В wicd говорят про релиз 2.0 с поддержкой WiMAX и плагинов, NetworkMenager живет активнее, даже должен плагин быть. А так как с последним менеджером у меня дружба не сложилась и я недавно закончил чтение книжки по Python, то ответ напросился сам — велосипед.
Итак представляю на ваш суд свое творение, минималистично, но то что требовалось мне, оно решает rfkill-qt-gui.
Структура проекта:
Итак что с чем едят.
Библиотека отвечает за возню с устройствами посредством D-Bus, ловлей всяких полезных событий и уведомлением о них вышестоящих. Можно дописать туда разные классы устройств. Меня интересовали только Killswitch.
Обертка над DeviceManager для управления устройствами. Делит устройства на три группы Bluetooth, Wi-Fi, WiMAX и остальное неопознанное. Закладывал на несколько устройств в группе. Но так как свисток от Yota у меня не настроен и получить несколько WiMAX/Wi-Fi устройств не могу, то работает все с первым устройством в группе.
Основная программа. Тут создается иконка системного лотка и его контекстное меню. Всего три пункта. Также тут реализована логика для запуска скриптов по инициализации сети WiMAX. Искал как управлять настройкой из userspace, но писать свой wicd в планы не входило. Поэтому скрипты и kdesu для их запуска под рутом.
Использовать просто — запускам и переключаем что как нужно. Можно отключить запуск скриптов (--no-script) и включить возможность одновременной работы WiMAX и Wi-Fi (--all) параметрами. Выбор сети WiMAX прописываем в скриптах.
Приму вашу конструктивную критику. За иконку не пинать :) Хотелось совместить на одной все три параметра с отметкой об активности.
Мысль витала 4 месяца, оформлена была за сутки. Возможны баги и неточности.
Исходные файлы доступны тут
Или архивом тут
qdbusviewer — простой Qt-ный обозреватель D-Bus
gimp — графический редактор
HAL 0.5.8 Specification
dbus-python tutorial
Qt 4.5 Doc
Тут были найдены и использованы кусочки кода
stoqlib (D-Bus)
Systray Icon
Python: работа с иконкой в трее в PyQt4 (через сокращение)
Пишем полезную программу для KDE4 на питоне за два часа
Многие наверно видели интерфейс от Yota где можно выбрать что сейчас использовать: WiMAX или Wi-Fi. Просто и удобно. В краях Linux на эту тему произведений мало. В wicd говорят про релиз 2.0 с поддержкой WiMAX и плагинов, NetworkMenager живет активнее, даже должен плагин быть. А так как с последним менеджером у меня дружба не сложилась и я недавно закончил чтение книжки по Python, то ответ напросился сам — велосипед.
Итак представляю на ваш суд свое творение, минималистично, но то что требовалось мне, оно решает rfkill-qt-gui.
Структура проекта:
icons
dbuslibs:
-->DeviceManager.py
-->RfkillDevices.py
scripts:
-->wimax-connect.sh
-->wimax-disconnect.sh
rfkillqtgui.py
Итак что с чем едят.
DeviceManager.py
Библиотека отвечает за возню с устройствами посредством D-Bus, ловлей всяких полезных событий и уведомлением о них вышестоящих. Можно дописать туда разные классы устройств. Меня интересовали только Killswitch.
RfkillDevices.py
Обертка над DeviceManager для управления устройствами. Делит устройства на три группы Bluetooth, Wi-Fi, WiMAX и остальное неопознанное. Закладывал на несколько устройств в группе. Но так как свисток от Yota у меня не настроен и получить несколько WiMAX/Wi-Fi устройств не могу, то работает все с первым устройством в группе.
rfkillqtgui.py
Основная программа. Тут создается иконка системного лотка и его контекстное меню. Всего три пункта. Также тут реализована логика для запуска скриптов по инициализации сети WiMAX. Искал как управлять настройкой из userspace, но писать свой wicd в планы не входило. Поэтому скрипты и kdesu для их запуска под рутом.
Использовать просто — запускам и переключаем что как нужно. Можно отключить запуск скриптов (--no-script) и включить возможность одновременной работы WiMAX и Wi-Fi (--all) параметрами. Выбор сети WiMAX прописываем в скриптах.
Приму вашу конструктивную критику. За иконку не пинать :) Хотелось совместить на одной все три параметра с отметкой об активности.
Мысль витала 4 месяца, оформлена была за сутки. Возможны баги и неточности.
Исходные файлы доступны тут
Или архивом тут
Инструментарий
qdbusviewer — простой Qt-ный обозреватель D-Bus
gimp — графический редактор
Разные мануалы
HAL 0.5.8 Specification
dbus-python tutorial
Qt 4.5 Doc
Тут были найдены и использованы кусочки кода
stoqlib (D-Bus)
Systray Icon
Python: работа с иконкой в трее в PyQt4 (через сокращение)
Пишем полезную программу для KDE4 на питоне за два часа