--- 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 ---

Information

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!

{% highlight 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 {% endhighlight %} {% highlight 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 {% endhighlight %}

Developers and contributors

    {% for devel in page.developers %}
  • {{ devel }}
  • {% endfor %}

License

  • {{ page.license }}

Changelog

CHANGELOG

Installation

Instruction

  • Download an archive 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: {% highlight bash %} cd /path/to/extracted/archive mkdir build && cd build cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Release ../ make sudo make install {% endhighlight %} 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:

  • $HOME/.config/netctl-gui.conf - GUI/helper user configuration
  • /etc/netctl-gui.conf - helper system-wide configuration
    • $KDEHOME/share/config/plasma-dataengine-netctl.conf - DataEngine user configuration
    • $KDESYSTEM/share/config/plasma-dataengine-netctl.conf - DataEngine system-wide configuration
    • $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 %}