--- permalink: ru/projects/netctl-gui category: ru hastr: true layout: project title: Netctl GUI short: netctl-gui tags: archlinux, c++, qt, сеть, kde, netctl, система, dbus, библиотека hasgui: true hasdocs: true developers: - Evgeniy Alekseev - nosada (перевод на японский) license: GPLv3 links: - Страница на Softpedia - Страница на kde-apps.org - Пакет в AUR - Описание DBus API - Примечания о безопасности --- Графическая оболочка для `netctl` (набор скриптов для поднятия сети в Arch'е). Написана на `C++` с использованием библиотеки `Qt`. На текущим момент умеет работать с профилями, в том числе создавать новые, а также умеет подключаться к WiFi. Также предоставляет библиотеку для взаимодействия с netctl и виджет и DataEngine для KDE. **ВНИМАНИЕ:** [НУЖНЫ ПЕРЕВОДЧИКИ!](//github.com/arcan1s/netctl-gui/issues/3 "Тикет") ```bash $ netctl-gui --help Использование: netctl-gui [ options ] Опции: Открыть окно: --detached - запустить открепленным от консоли --maximized - запустить развернутым --minimized - запустить свернутым в трей --about - показать окно "О программе" --netctl-auto - показать окно netctl-auto --settings - показать окно настроек Функции: -e, --essid - выбрать данный ESSID -o, --open - открыть данный профиль -s, --select - выбрать данный профиль Дополнительные флаги: -c, --config - прочитать настройки из данного файла -d, --debug - показать отладочную информацию --default - запустить со стандартными настройками --set-opts - установить опции для данного запуска, разделенные запятыми -t, --tab - открыть вкладку с этим номером Показать сообщения: -v, --version - показать версию и выход -i, --info - показать информацию о сборке и выход -h, --help - показать справку и выход ``` ```bash $ netctlgui-helper --help Использование: netctlgui-helper [ options ] Опции: -c, --config - прочитать настройки из данного файла -d, --debug - показать отладочную информацию --nodaemon - не запускать как демон --replace - принудительно заменить существующую сессию --restore - принудительно восстановить существующую сессию --system - не считывать пользовательские настройки, только системные Показать сообщения: -v, --version - показать версию и выход -i, --info - показать информацию о сборке и выход -h, --help - показать справку и выход ``` ### Разработчики {% for devel in page.developers %} * {{ devel }}{% endfor %} ### Лицензия * {{ page.license }} ### Changelog [CHANGELOG](//github.com/arcan1s/netctl-gui/blob/master/CHANGELOG "GitHub") ## Установка ### Инструкция * Скачайте [архив](//github.com/arcan1s/netctl-gui/releases "GitHub") с актуальной версией исходных файлов. * Извлеките из него файлы и установите приложение. Если Вы хотите установить в `/`, Вы должны запустить как root: ```bash cd /путь/к/распакованному/архиву mkdir build && cd build cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Release ../ make sudo make install ``` Доступные флаги cmake: * компоненты: * `-DBUILD_DATAENGINE:BOOL=0` - не собирать DataEngine * `-DBUILD_GUI:BOOL=0` - не собирать GUI * `-DBUILD_HELPER:BOOL=0` - не собирать хелпер * `-DBUILD_LIBRARY:BOOL=0` - не собирать библиотеку * `-DBUILD_PLASMOID:BOOL=0` - не собирать плазмоид * дополнительные компоненты: * `-DBUILD_DOCS:BOOL=0` - не собирать документацию разработчика * `-DBUILD_TEST:BOOL=1` - собирать авто тесты для библиотеки и хелпера * свойства проекта: * `-DDBUS_SYSTEMCONF_PATH=/etc/dbus-1/system.d/` - путь к системный файлам конфигурации DBus * `-DSYSTEMD_SERVICE_PATH=lib/systemd/system` - путь к сервису systemd * `-DUSE_CAPABILITIES:BOOL=0` - не использовать setcap, чтобы дать необходимые привилегии хелперу * `-DBUILD_KDE4:BOOL=1` - собирать виджет под KDE4 вместо KF5 * `-DUSE_QT5:BOOL=0` - использовать Qt4 вместо Qt5 ### Зависимости Все было протестировано на последних версиях зависимостей. * netctl * qt5-base *(если используется Qt5)* **или** qt4 *(если используется Qt4)* * automoc4 *(make)* * cmake *(make)* * qt5-tools *(make, если используется Qt5)* * kdebase-workspace *(опционально, KDE4 виджет)* * plasma-frameworks *(опционально, KF5 виджет)* * sudo *(опционально, поддержка sudo)* * wpa_supplicant *(опционально, поддержка WiFi)* ## Использование Просто запустите приложение `netctl-gui`. Если потребуется (и если Вы используете KDE), можете добавить виджет `netctl`, предоставляемый приложением. ## Настройка Рекомендуется использовать графический интерфейс для настройки. Конфигурационные файлы: * Графический интерфейс и хелпер * `$HOME/.config/netctl-gui.conf` - пользовательские настройки GUI/хелпера * `/etc/netctl-gui.conf` - системные настройки хелпера * DataEngine (KDE4 версия) * `$KDEHOME/share/config/plasma-dataengine-netctl.conf` - пользовательские настройки DataEngine * `$KDESYSTEM/share/config/plasma-dataengine-netctl.conf` - системные настройки DataEngine * DataEngine (KF5 версия) * `$HOME/.config/plasma-dataengine-netctl.conf` - пользовательские настройки DataEngine * `/etc/xdg/plasma-dataengine-netctl.conf` - системные настройки DataEngine Для настройки виджета и DataEngine рекомендуется использовать графический интерфейс. Все настройки графического интерфейса хранятся в `$HOME/.config/netctl-gui.conf`. Для редактирования настоятельно рекомендуется использовать графический интерфейс. ## Графический интерфейс Графический интерфейс предоставляется приложением `netctl-gui`. ### Скриншоты
{% assign scrdesc = "DataEngine" %} {% assign scrname = "netctl-gui_dataengine" %} {% include prj_scr.html %} {% assign scrdesc = "Виджет" %} {% assign scrname = "netctl-gui_plasmoid" %} {% include prj_scr.html %} {% assign scrdesc = "Настройки виджета" %} {% assign scrname = "netctl-gui_plasmoid_conf_01" %} {% include prj_scr.html %} {% assign scrdesc = "Настройки виджета" %} {% assign scrname = "netctl-gui_plasmoid_conf_02" %} {% include prj_scr.html %} {% assign scrdesc = "Настройки виджета" %} {% assign scrname = "netctl-gui_plasmoid_conf_03" %} {% include prj_scr.html %} {% assign scrdesc = "Главное окно" %} {% assign scrname = "netctl-gui_main" %} {% include prj_scr.html %} {% assign scrdesc = "Окно создания профиля" %} {% assign scrname = "netctl-gui_profile" %} {% include prj_scr.html %} {% assign scrdesc = "WiFi меню" %} {% assign scrname = "netctl-gui_wifi" %} {% include prj_scr.html %} {% assign scrdesc = "Окно 'О программе'" %} {% assign scrname = "netctl-gui_about" %} {% include prj_scr.html %} {% assign scrdesc = "Окно netctl-auto" %} {% assign scrname = "netctl-gui_netctl-auto" %} {% include prj_scr.html %} {% assign scrdesc = "Окно настроек" %} {% assign scrname = "netctl-gui_settings" %} {% include prj_scr.html %}