--- permalink: projects/netctl-gui hastr: true layout: project title: Netctl GUI short: netctl-gui tags: archlinux, c++, qt, network, kde, netctl, system, dbus, library hasgui: true hasdocs: true developers: - Evgeniy Alekseev - nosada (Japanese translation) license: GPLv3 links: - Page on Softpedia - Page on kde-apps.org - AUR package - DBus API reference - Security notes --- Graphical interface for `netctl` (several scripts for work with network connection in Archlinux). It is written on `C++` using `Qt` library. Now it may work with profiles and may create new profiles. Also it may create a connection to WiFi. Moreover, it provides a Qt library for interaction with netctl and widget and DataEngine for KDE4/KF5. **NOTE:** [LOOKING FOR TRANSLATORS!](//github.com/arcan1s/netctl-gui/issues/3 "Ticket") ```bash $ netctl-gui --help Usage: netctl-gui [ options ] Options: Open window: --detached - start detached from console --maximized - start maximized --minimized - start minimized to tray --about - show about window --netctl-auto - show netctl-auto window --settings - show settings window Functions: -e, --essid - select this ESSID -o, --open - open this profile -s, --select - select this profile Additional flags: -c, --config - read configuration from this file -d, --debug - print debug information --default - start with default settings --set-opts - set options for this run, comma separated -t, --tab - open a tab with this number Show messages: -v, --version - show version and exit -i, --info - show build information and exit -h, --help - show this help and exit ``` ```bash $ netctlgui-helper --help Usage: netctlgui-helper [ options ] Options: -c, --config - read configuration from this file -d, --debug - print debug information --nodaemon - do not start as daemon --replace - force replace the existing session --restore - force restore the existing session --system - do not read user configuration, system-wide only Show messages: -v, --version - show version and exit -i, --info - show build information and exit -h, --help - show this help and exit ``` ### Developers and contributors {% for devel in page.developers %} * {{ devel }}{% endfor %} ### License * {{ page.license }} ### Changelog [CHANGELOG](//github.com/arcan1s/netctl-gui/blob/master/CHANGELOG "GitHub") ## Installation ### Instruction * Download an [archive](//github.com/arcan1s/netctl-gui/releases "GitHub") with latest version of source files. * Extract it and install the application. If you want install it into `/`, you should run as root following commands: ```bash cd /path/to/extracted/archive mkdir build && cd build cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Release ../ make sudo make install ``` Available cmake flags are: * components: * `-DBUILD_DATAENGINE:BOOL=0` - do not build DataEngine * `-DBUILD_GUI:BOOL=0` - do not build GUI * `-DBUILD_HELPER:BOOL=0` - do not build helper daemon * `-DBUILD_LIBRARY:BOOL=0` - do not build library * `-DBUILD_PLASMOID:BOOL=0` - do not build Plasmoid * additional components: * `-DBUILD_DOCS:BOOL=0` - do not build developer documentation * `-DBUILD_TEST:BOOL=1` - build auto tests for the library and the helper * project properties: * `-DDBUS_SYSTEMCONF_PATH=/etc/dbus-1/system.d/` - path to DBus system configuration files * `-DSYSTEMD_SERVICE_PATH=lib/systemd/system` - path to systemd services * `-DUSE_CAPABILITIES:BOOL=0` - do not use setcap to get privileges to the helper * `-DBUILD_KDE4:BOOL=1` - build plasmoid under KDE4 instead of KF5 * `-DUSE_QT5:BOOL=0` - use Qt4 instead of Qt5 for GUI ### Dependencies I want note that all were tested on latest version of dependencies. * netctl * qt5-base *(if Qt5 is used)* **or** qt4 *(if Qt4 is used)* * automoc4 *(make)* * cmake *(make)* * qt5-tools *(make, if Qt5 is used)* * kdebase-workspace *(optional, KDE4 widget)* * plasma-frameworks *(optional, KF5 widget)* * sudo *(optional, sudo support)* * wpa_supplicant *(optional, WiFi support)* ## How to use Just run application `netctl-gui`. If it is needed (and if you use KDE), you may add widget `netctl`, which provides by the application. ## Configuration It is recommended to use graphical interface for configuration. Configuration files are: * UI and helper * `$HOME/.config/netctl-gui.conf` - GUI/helper user configuration * `/etc/netctl-gui.conf` - helper system-wide configuration * DataEngine (KDE4 version) * `$KDEHOME/share/config/plasma-dataengine-netctl.conf` - DataEngine user configuration * `$KDESYSTEM/share/config/plasma-dataengine-netctl.conf` - DataEngine system-wide configuration * DataEngine (KF5 version) * `$HOME/.config/plasma-dataengine-netctl.conf` - DataEngine user configuration * `/etc/xdg/plasma-dataengine-netctl.conf` - DataEngine system-wide configuration ## Graphical user interface Graphical interface provides by `netctl-gui` application. ### Screenshots
{% assign scrdesc = "DataEngine" %} {% assign scrname = "netctl-gui_dataengine" %} {% include prj_scr.html %} {% assign scrdesc = "Widget" %} {% assign scrname = "netctl-gui_plasmoid" %} {% include prj_scr.html %} {% assign scrdesc = "Widget settings window" %} {% assign scrname = "netctl-gui_plasmoid_conf_01" %} {% include prj_scr.html %} {% assign scrdesc = "Widget settings window" %} {% assign scrname = "netctl-gui_plasmoid_conf_02" %} {% include prj_scr.html %} {% assign scrdesc = "Widget settings window" %} {% assign scrname = "netctl-gui_plasmoid_conf_03" %} {% include prj_scr.html %} {% assign scrdesc = "Main window" %} {% assign scrname = "netctl-gui_main" %} {% include prj_scr.html %} {% assign scrdesc = "Profile window" %} {% assign scrname = "netctl-gui_profile" %} {% include prj_scr.html %} {% assign scrdesc = "WiFi window" %} {% assign scrname = "netctl-gui_wifi" %} {% include prj_scr.html %} {% assign scrdesc = "About window" %} {% assign scrname = "netctl-gui_about" %} {% include prj_scr.html %} {% assign scrdesc = "netctl-auto window" %} {% assign scrname = "netctl-gui_netctl-auto" %} {% include prj_scr.html %} {% assign scrdesc = "Settings window" %} {% assign scrname = "netctl-gui_settings" %} {% include prj_scr.html %}